인터페이스 SubscriptionSet
-
- 모든 슈퍼인터페이스:
Iterable<Subscription>
- 알려진 모든 하위 인터페이스:
MutableSubscriptionSet
public interface SubscriptionSet extends Iterable<Subscription>
구독 세트는 유연한 동기화를 위해 구성된 특정 Realm에 대한 모든 현재Subscription
를 변경할 수 없는 보기입니다.Flexible Sync는
RealmQuery
를 사용하여 기기와 동기화할 데이터를 정의하는 방법입니다. 쿼리와 해당 메타데이터는Subscription
로 표시됩니다.따라서 구독 세트는 장치에서 사용할 수 있고 서버와 동기화되는 모든 데이터를 정의합니다. 유효하지 않은 쿼리를 포함하는 등 구독 세트에 오류가 발생하면 전체 구독 세트가
SubscriptionSet.State.ERROR
상태가 되며 오류가 수정될 때까지 동기화가 발생하지 않습니다.구독이 제거되면 해당 데이터도 제거되지만 장치에서만 제거됩니다. 서버에서 삭제되지 않습니다.
오프라인 상태에서도 구독 세트를 수정할 수 있지만
getState()
가SubscriptionSet.State.COMPLETE
를 반환하기 전에 서버에서 수정을 수락하지 않습니다.waitForSynchronization()
및 해당 변형을 사용하여 구독 세트를 서버와 동기화하도록 강제할 수 있습니다.
-
-
중첩된 클래스 요약
중첩된 클래스 수정자 및 유형 인터페이스 설명 static class
SubscriptionSet.State
구독 세트가 있을 수 있는 상태입니다.static interface
SubscriptionSet.StateChangeCallback
서버가 구독 세트를 처리할 때까지 비동기적으로 대기할 때 사용되는 콜백입니다.static interface
SubscriptionSet.UpdateAsyncCallback
구독 세트를 비동기적으로 업데이트할 때 사용되는 콜백입니다.static interface
SubscriptionSet.UpdateCallback
구독 세트를 수정할 때 사용되는 인터페이스입니다.
-
메서드 요약
모든 메서드 인스턴스 메서드 추상 메서드 수정자 및 유형 메서드 설명 Subscription
find(RealmQuery query)
지정된 쿼리가 포함된 첫 번째 구독을 찾습니다.Subscription
find(String name)
지정된 이름의 구독을 찾습니다.String
getErrorMessage()
getState()
가SubscriptionSet.State.ERROR
을 반환하면 이 메서드는 이유를 반환합니다.SubscriptionSet.State
getState()
SubscriptionSet의 현재 상태를 반환합니다.int
size()
현재 이 구독 세트에 있는 구독 수를 반환합니다.SubscriptionSet
update(SubscriptionSet.UpdateCallback action)
구독 세트를 수정합니다.RealmAsyncTask
updateAsync(SubscriptionSet.UpdateAsyncCallback callback)
구독 세트를 비동기적으로 수정합니다.boolean
waitForSynchronization()
구독 세트가 서버와 동기화될 때까지 기다립니다.boolean
waitForSynchronization(Long timeOut, TimeUnit unit)
구독 세트가 서버와 동기화될 때까지 기다립니다.RealmAsyncTask
waitForSynchronizationAsync(SubscriptionSet.StateChangeCallback callback)
구독 세트가 서버와 동기화될 때까지 비동기적으로 기다립니다.RealmAsyncTask
waitForSynchronizationAsync(Long timeOut, TimeUnit unit, SubscriptionSet.StateChangeCallback callback)
구독 세트가 서버와 동기화될 때까지 비동기적으로 기다립니다.-
인터페이스 java.lang에서 상속된 메소드입니다.반복 가능
forEach, iterator, spliterator
-
-
-
-
메서드 세부 정보
-
찾기
@Nullable 구독 찾기(RealmQuery 쿼리)
지정된 쿼리가 포함된 첫 번째 구독을 찾습니다. 여러 개의 명명된 구독에 동일한 쿼리가 포함될 수 있습니다.- 매개변수:
query
- 검색할 쿼리입니다.- 반환합니다:
- 쿼리가 포함된 첫 번째 구독이거나 일치하는 항목이 없는 경우
null
입니다.
-
찾기
@Nullable 구독 찾기(문자열 이름)
지정된 이름의 구독을 찾습니다.- 매개변수:
name
- 검색할 구독의 이름입니다.- 반환합니다:
- 일치하는 구독 또는 해당 이름의 구독을 찾을 수 없는 경우
null
-
getState
SubscriptionSet.State getState()
SubscriptionSet의 현재 상태를 반환합니다. 각 상태에 대한 자세한 내용은SubscriptionSet.State
를 참조하세요.- 반환합니다:
- SubscriptionSet의 현재 상태입니다.
-
size
int size()
현재 이 구독 세트에 있는 구독 수를 반환합니다.- 반환합니다:
- 구독 세트의 구독 수입니다.
-
getErrorMessage
@Nullable String getErrorMessage()
getState()
가SubscriptionSet.State.ERROR
을 반환하면 이 메서드는 이유를 반환합니다. 그에 따라 구독을 수정한 다음waitForSynchronization()
를 호출하여 오류를 수정할 수 있습니다.- 반환합니다:
- 구독 세트가
SubscriptionSet.State.ERROR
상태인 경우 기본 오류입니다. 다른 모든 상태의 경우null
이 반환됩니다.
-
waitForSynchronization
부울 waitForSynchronization()
구독 세트가 서버와 동기화될 때까지 기다립니다. 서버가 쿼리 세트를 수락하고 쿼리에 대한 데이터를 다운로드했거나 오류가 발생한 경우 반환됩니다. 다운로드한 데이터를 보려면 수동으로BaseRealm.refresh()
를 호출하거나 변경 리스너가 trigger할 때까지 기다려야 합니다. 오류가 발생한 경우getErrorMessage()
을(를) 통해 기본 원인을 찾을 수 있습니다.- 반환합니다:
true
서버에서 현재의 모든 구독을 수락하고 데이터를 다운로드한 경우에는false
을 반환하고, 오류가 발생한 경우에는 을 반환합니다.
-
waitForSynchronization
부울 waitForSynchronization(Long timeOut, TimeUnit 단위)
구독 세트가 서버와 동기화될 때까지 기다립니다. 서버가 쿼리 세트를 수락하고 쿼리에 대한 데이터를 다운로드했거나 오류가 발생한 경우 반환됩니다. 다운로드한 데이터를 보려면 수동으로BaseRealm.refresh()
를 호출하거나 변경 리스너가 trigger할 때까지 기다려야 합니다. 오류가 발생한 경우getErrorMessage()
을(를) 통해 기본 원인을 찾을 수 있습니다.- 매개변수:
timeOut
- 동기화가 성공하거나 실패할 때까지 기다리는 시간입니다.unit
- 제한 시간에 사용되는 시간 단위입니다.- 반환합니다:
true
서버에서 현재의 모든 구독을 수락하고 데이터를 다운로드한 경우에는false
을 반환하고, 오류가 발생한 경우에는 을 반환합니다.- 예외 처리:
RuntimeException
- 시간 초과가 초과된 경우.
-
waitForSynchronizationAsync
RealmAsyncTask waitForSynchronizationAsync(SubscriptionSet.StateChangeCallback 콜백)
구독 세트가 서버와 동기화될 때까지 비동기적으로 기다립니다. 서버가 쿼리 세트를 수락하고 쿼리에 대한 데이터를 다운로드했거나 오류가 발생한 경우 콜백을 호출합니다. 다운로드한 데이터를 보려면 수동으로BaseRealm.refresh()
를 호출하거나 변경 리스너가 trigger할 때까지 기다려야 합니다. 오류가 발생한 경우getErrorMessage()
을(를) 통해 기본 원인을 찾을 수 있습니다.- 매개변수:
callback
- 동기화가 성공하거나 실패할 때 trigger하는 콜백입니다. 결과는 UI 스레드에서 보고됩니다.- 반환합니다:
true
서버에서 현재의 모든 구독을 수락하고 데이터를 다운로드한 경우에는false
을 반환하고, 오류가 발생한 경우에는 을 반환합니다.
-
waitForSynchronizationAsync
RealmAsyncTask waitForSynchronizationAsync(Long timeOut, TimeUnit 단위, SubscriptionSet.StateChangeCallback 콜백)
구독 세트가 서버와 동기화될 때까지 비동기적으로 기다립니다. 콜백은 서버가 쿼리 세트를 수락하고 쿼리에 대한 데이터를 다운로드했거나 오류가 발생한 경우 호출됩니다. 다운로드한 데이터를 보려면 수동으로BaseRealm.refresh()
를 호출하거나 변경 리스너가 trigger할 때까지 기다려야 합니다. 오류가 발생한 경우getErrorMessage()
을(를) 통해 기본 원인을 찾을 수 있습니다.- 매개변수:
timeOut
- 동기화가 성공하거나 실패할 때까지 기다리는 시간입니다.unit
- 제한 시간에 사용되는 시간 단위입니다.callback
- 동기화가 성공하거나 실패할 때 trigger하는 콜백입니다. 결과는 UI 스레드에서 보고됩니다.- 반환합니다:
true
서버에서 현재의 모든 구독을 수락하고 데이터를 다운로드한 경우에는false
을 반환하고, 오류가 발생한 경우에는 을 반환합니다.
-
update
SubscriptionSet 업데이트(SubscriptionSet.UpdateCallback 조치)
구독 세트를 수정합니다. 업데이트 중에 예외가 발생하면 변경 사항이 적용되지 않습니다. 업데이트가 성공하면 이 구독 세트가 수정된 상태로 업데이트됩니다.- 매개변수:
action
- 구독 세트를 수정하는 블록입니다. 호출자 스레드에서 실행됩니다.- 반환합니다:
- 이제 업데이트된 이 구독 세트입니다.
- 예외 처리:
Exception
- 업데이트 중에 발생한 예외는 다시 전파됩니다.
-
updateAsync
RealmAsyncTask updateAsync(SubscriptionSet.UpdateAsyncCallback 콜백)
구독 세트를 비동기적으로 수정합니다. 업데이트 중에 예외가 발생하면 변경 사항이 적용되지 않습니다. *- 매개변수:
callback
- 비동기 요청을 제어하는 콜백입니다. 성공 또는 실패가 여기에 보고됩니다.- 반환합니다:
- 비동기 실행을 제어하는 작업.
-
-