Class CKOperationConfiguration

  • All Implemented Interfaces:
    NSObject

    public class CKOperationConfiguration
    extends NSObject
    CKOperationConfiguration An operation configuration is a set of properties that describes how your operation should behave. All properties have a default value. When determining what properties to apply to an operation, we consult the operation's configuration property, as well as the operation->group->defaultConfiguration property. We combine them following these rules: [@code] Group Default Configuration Value | Operation Configuration Value | Value Applied To Operation -----------------------------------+-------------------------------+----------------------------------------- default value | default value | default value default value | explicit value | operation.configuration explicit value explicit value | default value | operation.group.defaultConfiguration explicit value explicit value | explicit value | operation.configuration explicit value [@endcode] For example: CKOperationGroup -> defaultConfiguration -> allowsCellularAccess explicitly set to NO + CKOperation -> configuration -> allowsCellularAccess has default value of YES = disallow cellular access CKOperationGroup -> defaultConfiguration -> allowsCellularAccess explicitly set to NO + CKOperation -> configuration -> allowsCellularAccess explicitly set to YES = allow cellular access
    • Constructor Detail

      • CKOperationConfiguration

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

      • accessInstanceVariablesDirectly

        public static boolean accessInstanceVariablesDirectly()
      • allocWithZone

        public static java.lang.Object allocWithZone​(org.moe.natj.general.ptr.VoidPtr zone)
      • allowsCellularAccess

        public boolean allowsCellularAccess()
        Defaults to @c YES
      • automaticallyNotifiesObserversForKey

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

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

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

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

        public static org.moe.natj.objc.Class classForKeyedUnarchiver()
      • container

        public CKContainer container()
        If no container is set, [CKContainer defaultContainer] is used
      • 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)
      • isLongLived

        public boolean isLongLived()
        Long lived operations will continue running even if your process exits. If your process remains alive for the lifetime of the long lived operation its behavior is the same as a regular operation. Long lived operations can be fetched and replayed from the container via the @c fetchAllLongLivedOperations: and @c fetchLongLivedOperationsWithIDs: APIs. Long lived operations persist until their -[NSOperation completionBlock] returns or until the operation is cancelled. Long lived operations may be garbage collected 24 hours after they finish running if no client has replayed them. The default value for longLived is NO. Changing the value of longLived on an already started operation or on an outstanding long lived operation fetched from CKContainer has no effect.
      • isSubclassOfClass

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

        public static NSSet<java.lang.String> keyPathsForValuesAffectingValueForKey​(java.lang.String key)
      • new_objc

        public static java.lang.Object new_objc()
      • qualityOfService

        public long qualityOfService()
        CKOperations behave differently depending on how you set qualityOfService. [@code] Quality of Service | timeoutIntervalForResource | Network Error Behavior | Discretionary Behavior -------------------+----------------------------+------------------------+----------------------- UserInteractive | -1 (no enforcement) | fail | nonDiscretionary UserInitiated | -1 (no enforcement) | fail | nonDiscretionary Default | 1 week | fail | discretionary when app backgrounded Utility | 1 week | internally retried | discretionary when app backgrounded Background | 1 week | internally retried | discretionary [@endcode] timeoutIntervalForResource - the timeout interval for any network resources retrieved by this operation - this can be overridden via CKOperationConfiguration's timeoutIntervalForResource property Network Error Behavior - when a network request in service of a CKOperation fails due to a networking error, the operation may fail with that error, or internally retry the network request. Only a subset of networking errors are retried, and limiting factors such as timeoutIntervalForResource are still applicable. Discretionary Behavior - network requests in service of a CKOperation may be marked as discretionary - discretionary network requests are scheduled at the description of the system for optimal performance CKOperations have a default qualityOfService of Default.
      • resolveClassMethod

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

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

        public void setAllowsCellularAccess​(boolean value)
        Defaults to @c YES
      • setContainer

        public void setContainer​(CKContainer value)
        If no container is set, [CKContainer defaultContainer] is used
      • setLongLived

        public void setLongLived​(boolean value)
        Long lived operations will continue running even if your process exits. If your process remains alive for the lifetime of the long lived operation its behavior is the same as a regular operation. Long lived operations can be fetched and replayed from the container via the @c fetchAllLongLivedOperations: and @c fetchLongLivedOperationsWithIDs: APIs. Long lived operations persist until their -[NSOperation completionBlock] returns or until the operation is cancelled. Long lived operations may be garbage collected 24 hours after they finish running if no client has replayed them. The default value for longLived is NO. Changing the value of longLived on an already started operation or on an outstanding long lived operation fetched from CKContainer has no effect.
      • setQualityOfService

        public void setQualityOfService​(long value)
        CKOperations behave differently depending on how you set qualityOfService. [@code] Quality of Service | timeoutIntervalForResource | Network Error Behavior | Discretionary Behavior -------------------+----------------------------+------------------------+----------------------- UserInteractive | -1 (no enforcement) | fail | nonDiscretionary UserInitiated | -1 (no enforcement) | fail | nonDiscretionary Default | 1 week | fail | discretionary when app backgrounded Utility | 1 week | internally retried | discretionary when app backgrounded Background | 1 week | internally retried | discretionary [@endcode] timeoutIntervalForResource - the timeout interval for any network resources retrieved by this operation - this can be overridden via CKOperationConfiguration's timeoutIntervalForResource property Network Error Behavior - when a network request in service of a CKOperation fails due to a networking error, the operation may fail with that error, or internally retry the network request. Only a subset of networking errors are retried, and limiting factors such as timeoutIntervalForResource are still applicable. Discretionary Behavior - network requests in service of a CKOperation may be marked as discretionary - discretionary network requests are scheduled at the description of the system for optimal performance CKOperations have a default qualityOfService of Default.
      • setTimeoutIntervalForRequest

        public void setTimeoutIntervalForRequest​(double value)
        If non-zero, overrides the timeout interval for any network requests issued by this operation. The default value is 60.
        See Also:
        NSURLSessionConfiguration.timeoutIntervalForRequest
      • setTimeoutIntervalForResource

        public void setTimeoutIntervalForResource​(double value)
        If set, overrides the timeout interval for any network resources retrieved by this operation. If not explicitly set, defaults to a value based on the operation's @c qualityOfService
        See Also:
        NSURLSessionConfiguration.timeoutIntervalForResource
      • setVersion_static

        public static void setVersion_static​(long aVersion)
      • superclass_static

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

        public double timeoutIntervalForRequest()
        If non-zero, overrides the timeout interval for any network requests issued by this operation. The default value is 60.
        See Also:
        NSURLSessionConfiguration.timeoutIntervalForRequest
      • timeoutIntervalForResource

        public double timeoutIntervalForResource()
        If set, overrides the timeout interval for any network resources retrieved by this operation. If not explicitly set, defaults to a value based on the operation's @c qualityOfService
        See Also:
        NSURLSessionConfiguration.timeoutIntervalForResource
      • version_static

        public static long version_static()