Docs Menu

OrderedRealmCollectionSnapshot 클래스

io.realm.OrderedRealmCollectionImpl
io.realm.OrderedRealmCollectionSnapshot

OrderedRealmCollectionSnapshotOrderedRealmCollection 의 특수 유형입니다. OrderedRealmCollection.createSnapshot() 을 호출하여 생성할 수 있습니다. RealmResultsRealmList 와 달리 요소의 크기와 순서는 생성 후에 변경되지 않습니다.

OrderedRealmCollectionSnapshot 은 간단한 루프에서 컬렉션의 크기나 순서에 영향을 줄 수 있는 변경을 수행할 때 유용합니다. 예를 들면 다음과 같습니다.

final RealmResults<Dog> dogs = realm.where(Dog.class).findAll();
final OrderedRealmCollectionSnapshot<Dog> snapshot = dogs.createSnapshot();
final int dogsCount = snapshot.size(); // dogs.size() == snapshot.size() == 10
realm.executeTransaction(new Realm.Transaction() {
/@Override
public void execute(Realm realm) {
for (int i = 0; i < dogsCount; i++) {
// This won't work since RealmResults is always up-to-date, its size gets decreased by 1 after every loop. An
// IndexOutOfBoundsException will be thrown after 5 loops.
// dogs.deleteFromRealm(i);
snapshot.deleteFromRealm(i); // Deletion on OrderedRealmCollectionSnapshot won't change the size of it.
}
}
});
수정자 및 유형
메서드 및 설명

OrderedRealmCollection 에서 스냅샷을 만듭니다.

공개 부울

이렇게 하면 기본 Realm에서 collection의 모든 객체가 삭제됩니다.

공개 부울

Realm에서 첫 번째 객체를 삭제합니다.

public void

int location
)

Realm에서 지정된 인덱스에 있는 객체를 삭제합니다.

공개 부울

Realm에서 마지막 객체를 삭제합니다.

공개 부울

공개 부울

collection이 아직 데이터 로드를 완료했는지 확인합니다.

공개 부울

load ()

모든 데이터를 사용할 수 있을 때까지 collection을 차단합니다.

public int

size ()

이 쿼리 결과의 요소 수를 반환합니다.

java.lang.String[] fieldNames,
io.realm.Sort[] sortOrders
)

OrderedRealmCollectionSnapshot 에서는 지원되지 않습니다.

String fieldName1,
Sort sortOrder1,
String fieldName2,
Sort sortOrder2
)

OrderedRealmCollectionSnapshot 에서는 지원되지 않습니다.

String fieldName,
Sort sortOrder
)

OrderedRealmCollectionSnapshot 에서는 지원되지 않습니다.

String fieldName
)

OrderedRealmCollectionSnapshot 에서는 지원되지 않습니다.

공개 RealmQuery

OrderedRealmCollectionSnapshot 에서는 지원되지 않습니다.

  • 클래스 java.lang.Object 에서 상속된 메서드 : getClass , hashCode , equals , clone , toString , notify , notifyAll , wait , wait , wait , finalize

  • 클래스 java.util.AbstractCollection 에서 상속된 메서드 : iterator , size , isEmpty , contains , toArray , toArray , add , remove , containsAll , addAll , removeAll , retainAll , clear , toString

  • 클래스 java.util.AbstractList 에서 상속된 메서드 : add , get , set , add , remove , indexOf , lastIndexOf , clear , addAll , iterator , listIterator , listIterator , subList , equals , hashCode , removeRange

  • io.realm.OrderedRealmCollectionImp 클래스에서 상속된 메서드: isValid , isManaged , contains , get , first , first , last , last , deleteFromRealm , deleteAllFromRealm , iterator , listIterator , listIterator , sort , sort , sort , sort , size , min , minDate , max , maxDate , sum , average , remove , remove , removeAll , set , retainAll , deleteLastFromRealm , deleteFirstFromRealm , clear , add , add , addAll , addAll , createSnapshot , getRealm , getCollectionOperator

OrderedRealmCollection 에서 스냅샷을 만듭니다.

반환

이 collection의 스냅샷입니다.

재정의

createSnapshot OrderedRealmCollectionImp클래스에서

public boolean deleteAllFromRealm ()

이렇게 하면 기본 Realm에서 collection의 모든 객체가 삭제됩니다. collection 스냅샷의 모든 객체가 유효하지 않게 됩니다.

반환

true 객체가 삭제된 경우 false , 그렇지 않으면 입니다.

스로우

  • 불법적인 상태 예외 - 해당 Realm이 닫혔거나 잘못된 스레드에 있는 경우

  • java.lang.IllegalStateException - Realm이 닫혔거나 잘못된 스레드에서 호출된 경우

재정의

deleteAllFromRealm OrderedRealmCollectionImp클래스에서

public boolean deleteFirstFromRealm ()

Realm에서 첫 번째 객체를 삭제합니다. 첫 번째 객체는 유효하지 않게 됩니다.

반환

true 객체가 삭제되면 false , 그렇지 않으면 을 반환합니다.

스로우

재정의

deleteFirstFromRealm OrderedRealmCollectionImp클래스에서

public void deleteFromRealm (
int location
)

Realm에서 지정된 인덱스에 있는 객체를 삭제합니다. 지정된 인덱스에 있는 객체가 유효하지 않게 됩니다. 객체가 이미 유효하지 않은 경우에만 반환됩니다.

매개변수

  • location - 제거할 객체를 식별하는 배열 인덱스입니다.

스로우

재정의

deleteFromRealm OrderedRealmCollectionImp클래스에서

public boolean deleteLastFromRealm ()

Realm에서 마지막 객체를 삭제합니다. 마지막 객체가 유효하지 않게 됩니다.

반환

true 객체가 삭제되면 false , 그렇지 않으면 을 반환합니다.

스로우

재정의

deleteLastFromRealm OrderedRealmCollectionImp클래스에서

public boolean isFrozen ()

public boolean isLoaded ()

collection이 아직 데이터 로드를 완료했는지 확인합니다.

반환

true 데이터가 로드되어 사용 가능한 경우 false , 데이터가 아직 로드 중인 경우.

public boolean load ()

모든 데이터를 사용할 수 있을 때까지 collection을 차단합니다.

반환

true 데이터를 성공적으로 로드할 수 있으면 false 을 반환합니다.

public int size ()

이 쿼리 결과의 요소 수를 반환합니다.

반환

이 쿼리 결과의 요소 수입니다.

재정의

size OrderedRealmCollectionImp클래스에서

java.lang.String[] fieldNames,
io.realm.Sort[] sortOrders
)

OrderedRealmCollectionSnapshot 에서는 지원되지 않습니다. 대신 원본 OrderedRealmCollection에서 'sort()'를 사용하세요.

반환

새로 정렬된 RealmResults 가 생성되어 반환됩니다. 원본 collection은 변경되지 않은 상태로 유지됩니다.

스로우

재정의

sort OrderedRealmCollectionImp클래스에서

String fieldName1,
Sort sortOrder1,
String fieldName2,
Sort sortOrder2
)

OrderedRealmCollectionSnapshot 에서는 지원되지 않습니다. 대신 원본 OrderedRealmCollection에서 'sort()'를 사용하세요.

반환

새로 정렬된 RealmResults 가 생성되어 반환됩니다. 원본 collection은 변경되지 않은 상태로 유지됩니다.

스로우

재정의

sort OrderedRealmCollectionImp클래스에서

String fieldName,
Sort sortOrder
)

OrderedRealmCollectionSnapshot 에서는 지원되지 않습니다. 대신 원본 OrderedRealmCollection에서 'sort()'를 사용하세요.

반환

새로 정렬된 RealmResults 가 생성되어 반환됩니다. 원본 collection은 변경되지 않은 상태로 유지됩니다.

스로우

재정의

sort OrderedRealmCollectionImp클래스에서

String fieldName
)

OrderedRealmCollectionSnapshot 에서는 지원되지 않습니다. 대신 원본 OrderedRealmCollection에서 'sort()'를 사용하세요.

반환

새로 정렬된 RealmResults 가 생성되어 반환됩니다. 원본 collection은 변경되지 않은 상태로 유지됩니다.

스로우

재정의

sort OrderedRealmCollectionImp클래스에서

public RealmQuery where ()

OrderedRealmCollectionSnapshot 에서는 지원되지 않습니다. 대신 원래 OrderedRealmCollection에서 'where()'를 사용하세요.

반환

RealmQuery 객체

스로우