Class CKFetchRecordZoneChangesOperation

  • All Implemented Interfaces:
    NSObject

    public class CKFetchRecordZoneChangesOperation
    extends CKDatabaseOperation
    This operation will fetch records changes across the given record zones For each @c previousServerChangeToken passed in with a @c CKFetchRecordZoneChangesConfiguration, only records that have changed since that anchor will be fetched. If this is your first fetch of a zone or if you wish to re-fetch all records within a zone, do not include a @c previousServerChangeToken. Change tokens are opaque tokens and clients should not infer any behavior based on their content. API-Since: 10.0
    • Constructor Detail

      • CKFetchRecordZoneChangesOperation

        protected CKFetchRecordZoneChangesOperation​(org.moe.natj.general.Pointer peer)
    • Method Detail

      • accessInstanceVariablesDirectly

        public static boolean accessInstanceVariablesDirectly()
      • automaticallyNotifiesObserversForKey

        public static boolean automaticallyNotifiesObserversForKey​(@NotNull
                                                                   @NotNull java.lang.String key)
      • cancelPreviousPerformRequestsWithTarget

        public static void cancelPreviousPerformRequestsWithTarget​(@NotNull
                                                                   @NotNull java.lang.Object aTarget)
      • cancelPreviousPerformRequestsWithTargetSelectorObject

        public static void cancelPreviousPerformRequestsWithTargetSelectorObject​(@NotNull
                                                                                 @NotNull java.lang.Object aTarget,
                                                                                 @NotNull
                                                                                 @NotNull org.moe.natj.objc.SEL aSelector,
                                                                                 @Nullable
                                                                                 @Nullable java.lang.Object anArgument)
      • classFallbacksForKeyedArchiver

        @NotNull
        public static @NotNull NSArray<java.lang.String> classFallbacksForKeyedArchiver()
      • classForKeyedUnarchiver

        @NotNull
        public static @NotNull org.moe.natj.objc.Class classForKeyedUnarchiver()
      • debugDescription_static

        public static java.lang.String debugDescription_static()
      • description_static

        public static java.lang.String description_static()
      • hash_static

        public static long hash_static()
      • instanceMethodSignatureForSelector

        public static NSMethodSignature instanceMethodSignatureForSelector​(org.moe.natj.objc.SEL aSelector)
      • instancesRespondToSelector

        public static boolean instancesRespondToSelector​(org.moe.natj.objc.SEL aSelector)
      • isSubclassOfClass

        public static boolean isSubclassOfClass​(org.moe.natj.objc.Class aClass)
      • keyPathsForValuesAffectingValueForKey

        @NotNull
        public static @NotNull NSSet<java.lang.String> keyPathsForValuesAffectingValueForKey​(@NotNull
                                                                                             @NotNull java.lang.String key)
      • resolveClassMethod

        public static boolean resolveClassMethod​(org.moe.natj.objc.SEL sel)
      • resolveInstanceMethod

        public static boolean resolveInstanceMethod​(org.moe.natj.objc.SEL sel)
      • setVersion_static

        public static void setVersion_static​(long aVersion)
      • superclass_static

        public static org.moe.natj.objc.Class superclass_static()
      • version_static

        public static long version_static()
      • fetchAllChanges

        public boolean fetchAllChanges()
        Determines if the operation should fetch all changes from the server before completing. When set to YES, this operation will send repeated requests to the server until all record changes have been fetched. @c recordZoneChangeTokensUpdatedBlock will be invoked periodically, to give clients an updated change token so that already-fetched record changes don't need to be re-fetched on a subsequent operation. @c recordZoneFetchCompletionBlock will only be called once and @c moreComing will always be NO. When set to NO, it is the responsibility of the caller to issue subsequent fetch-changes operations when @c moreComing is YES in a @c recordZoneFetchCompletionBlock invocation. [@c] fetchAllChanges is YES by default
      • fetchRecordZoneChangesCompletionBlock

        @Nullable
        public @Nullable CKFetchRecordZoneChangesOperation.Block_fetchRecordZoneChangesCompletionBlock_ret fetchRecordZoneChangesCompletionBlock()
        This block is called when the operation completes. [@c] serverChangeToken-s previously returned via a @c recordZoneChangeTokensUpdatedBlock or @c recordZoneFetchCompletionBlock invocation, along with the record changes that preceded it, are valid even if there is a subsequent @c operationError If the error is @c CKErrorPartialFailure, the error's userInfo dictionary contains a dictionary of recordIDs and zoneIDs to errors keyed off of @c CKPartialErrorsByItemIDKey. Each @c CKOperation instance has a private serial queue. This queue is used for all callback block invocations. This block may share mutable state with other blocks assigned to this operation, but any such mutable state should not be concurrently used outside of blocks assigned to this operation.
      • recordChangedBlock

        @Nullable
        @Deprecated
        public @Nullable CKFetchRecordZoneChangesOperation.Block_recordChangedBlock_ret recordChangedBlock()
        Deprecated.
        If the replacement callback @c recordWasChangedBlock is set, this callback block is ignored. Each @c CKOperation instance has a private serial queue. This queue is used for all callback block invocations. This block may share mutable state with other blocks assigned to this operation, but any such mutable state should not be concurrently used outside of blocks assigned to this operation. API-Since: 10.0 Deprecated-Since: 15.0 Deprecated-Message: Use recordWasChangedBlock instead, which surfaces per-record errors
      • recordWithIDWasDeletedBlock

        @Nullable
        public @Nullable CKFetchRecordZoneChangesOperation.Block_recordWithIDWasDeletedBlock_ret recordWithIDWasDeletedBlock()
        Each @c CKOperation instance has a private serial queue. This queue is used for all callback block invocations. This block may share mutable state with other blocks assigned to this operation, but any such mutable state should not be concurrently used outside of blocks assigned to this operation.
      • recordZoneChangeTokensUpdatedBlock

        @Nullable
        public @Nullable CKFetchRecordZoneChangesOperation.Block_recordZoneChangeTokensUpdatedBlock_ret recordZoneChangeTokensUpdatedBlock()
        Clients are responsible for saving this per-recordZone @c serverChangeToken and passing it in to the next call to @c CKFetchRecordZoneChangesOperation. Note that a fetch can fail partway. If that happens, an updated change token may be returned in this block so that already fetched records don't need to be re-downloaded on a subsequent operation. [@c] recordZoneChangeTokensUpdatedBlock will not be called after the last batch of changes in a zone; the @c recordZoneFetchCompletionBlock block will be called instead. The @c clientChangeTokenData from the most recent @c CKModifyRecordsOperation issued on this zone is also returned, or nil if none was provided. If the server returns a @c CKErrorChangeTokenExpired error, the @c serverChangeToken used for this record zone when initting this operation was too old and the client should toss its local cache and re-fetch the changes in this record zone starting with a nil @c serverChangeToken. [@c] recordZoneChangeTokensUpdatedBlock will not be called if @c fetchAllChanges is NO. Each @c CKOperation instance has a private serial queue. This queue is used for all callback block invocations. This block may share mutable state with other blocks assigned to this operation, but any such mutable state should not be concurrently used outside of blocks assigned to this operation.
      • setFetchAllChanges

        public void setFetchAllChanges​(boolean value)
        Determines if the operation should fetch all changes from the server before completing. When set to YES, this operation will send repeated requests to the server until all record changes have been fetched. @c recordZoneChangeTokensUpdatedBlock will be invoked periodically, to give clients an updated change token so that already-fetched record changes don't need to be re-fetched on a subsequent operation. @c recordZoneFetchCompletionBlock will only be called once and @c moreComing will always be NO. When set to NO, it is the responsibility of the caller to issue subsequent fetch-changes operations when @c moreComing is YES in a @c recordZoneFetchCompletionBlock invocation. [@c] fetchAllChanges is YES by default
      • setFetchRecordZoneChangesCompletionBlock

        public void setFetchRecordZoneChangesCompletionBlock​(@Nullable
                                                             @Nullable CKFetchRecordZoneChangesOperation.Block_setFetchRecordZoneChangesCompletionBlock value)
        This block is called when the operation completes. [@c] serverChangeToken-s previously returned via a @c recordZoneChangeTokensUpdatedBlock or @c recordZoneFetchCompletionBlock invocation, along with the record changes that preceded it, are valid even if there is a subsequent @c operationError If the error is @c CKErrorPartialFailure, the error's userInfo dictionary contains a dictionary of recordIDs and zoneIDs to errors keyed off of @c CKPartialErrorsByItemIDKey. Each @c CKOperation instance has a private serial queue. This queue is used for all callback block invocations. This block may share mutable state with other blocks assigned to this operation, but any such mutable state should not be concurrently used outside of blocks assigned to this operation.
      • setRecordChangedBlock

        @Deprecated
        public void setRecordChangedBlock​(@Nullable
                                          @Nullable CKFetchRecordZoneChangesOperation.Block_setRecordChangedBlock value)
        Deprecated.
        If the replacement callback @c recordWasChangedBlock is set, this callback block is ignored. Each @c CKOperation instance has a private serial queue. This queue is used for all callback block invocations. This block may share mutable state with other blocks assigned to this operation, but any such mutable state should not be concurrently used outside of blocks assigned to this operation. API-Since: 10.0 Deprecated-Since: 15.0 Deprecated-Message: Use recordWasChangedBlock instead, which surfaces per-record errors
      • setRecordWithIDWasDeletedBlock

        public void setRecordWithIDWasDeletedBlock​(@Nullable
                                                   @Nullable CKFetchRecordZoneChangesOperation.Block_setRecordWithIDWasDeletedBlock value)
        Each @c CKOperation instance has a private serial queue. This queue is used for all callback block invocations. This block may share mutable state with other blocks assigned to this operation, but any such mutable state should not be concurrently used outside of blocks assigned to this operation.
      • setRecordZoneChangeTokensUpdatedBlock

        public void setRecordZoneChangeTokensUpdatedBlock​(@Nullable
                                                          @Nullable CKFetchRecordZoneChangesOperation.Block_setRecordZoneChangeTokensUpdatedBlock value)
        Clients are responsible for saving this per-recordZone @c serverChangeToken and passing it in to the next call to @c CKFetchRecordZoneChangesOperation. Note that a fetch can fail partway. If that happens, an updated change token may be returned in this block so that already fetched records don't need to be re-downloaded on a subsequent operation. [@c] recordZoneChangeTokensUpdatedBlock will not be called after the last batch of changes in a zone; the @c recordZoneFetchCompletionBlock block will be called instead. The @c clientChangeTokenData from the most recent @c CKModifyRecordsOperation issued on this zone is also returned, or nil if none was provided. If the server returns a @c CKErrorChangeTokenExpired error, the @c serverChangeToken used for this record zone when initting this operation was too old and the client should toss its local cache and re-fetch the changes in this record zone starting with a nil @c serverChangeToken. [@c] recordZoneChangeTokensUpdatedBlock will not be called if @c fetchAllChanges is NO. Each @c CKOperation instance has a private serial queue. This queue is used for all callback block invocations. This block may share mutable state with other blocks assigned to this operation, but any such mutable state should not be concurrently used outside of blocks assigned to this operation.
      • setRecordZoneIDs

        public void setRecordZoneIDs​(@Nullable
                                     @Nullable NSArray<? extends CKRecordZoneID> value)
      • recordWasChangedBlock

        @Nullable
        public @Nullable CKFetchRecordZoneChangesOperation.Block_recordWasChangedBlock_ret recordWasChangedBlock()
        If a record fails in post-processing (say, a network failure materializing a @c CKAsset record field), the per-record error will be passed here. Each @c CKOperation instance has a private serial queue. This queue is used for all callback block invocations. This block may share mutable state with other blocks assigned to this operation, but any such mutable state should not be concurrently used outside of blocks assigned to this operation. API-Since: 15.0
      • setRecordWasChangedBlock

        public void setRecordWasChangedBlock​(@Nullable
                                             @Nullable CKFetchRecordZoneChangesOperation.Block_setRecordWasChangedBlock value)
        If a record fails in post-processing (say, a network failure materializing a @c CKAsset record field), the per-record error will be passed here. Each @c CKOperation instance has a private serial queue. This queue is used for all callback block invocations. This block may share mutable state with other blocks assigned to this operation, but any such mutable state should not be concurrently used outside of blocks assigned to this operation. API-Since: 15.0
      • useStoredAccessor

        @Deprecated
        public static boolean useStoredAccessor()
        Deprecated.