Package apple.homekit

Class HMTimerTrigger

  • All Implemented Interfaces:
    NSObject

    public class HMTimerTrigger
    extends HMTrigger
    Timer based trigger. This class represents a trigger that is based on timers. API-Since: 8.0
    • Constructor Detail

      • HMTimerTrigger

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

      • accessInstanceVariablesDirectly

        public static boolean accessInstanceVariablesDirectly()
      • allocWithZone

        public static HMTimerTrigger allocWithZone​(org.moe.natj.general.ptr.VoidPtr zone)
      • 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()
      • fireDate

        @NotNull
        public @NotNull NSDate fireDate()
        Specifies when, in an absolute time, the trigger should fire the first time. Timer triggers are only set at the top of the minute. When the timer trigger fires, it will typically fire within 1 minute of the scheduled fire date or calculated recurrence fire date, depending on how the system is managing its resources. [@note] Should be at least 1 minute ahead for reliable firing.
      • initWithNameFireDateTimeZoneRecurrenceRecurrenceCalendar

        @Deprecated
        public HMTimerTrigger initWithNameFireDateTimeZoneRecurrenceRecurrenceCalendar​(@NotNull
                                                                                       @NotNull java.lang.String name,
                                                                                       @NotNull
                                                                                       @NotNull NSDate fireDate,
                                                                                       @Nullable
                                                                                       @Nullable NSTimeZone timeZone,
                                                                                       @Nullable
                                                                                       @Nullable NSDateComponents recurrence,
                                                                                       @Nullable
                                                                                       @Nullable NSCalendar recurrenceCalendar)
        Deprecated.
        API-Since: 8.0 Deprecated-Since: 16.4
      • recurrence

        @Nullable
        public @Nullable NSDateComponents recurrence()
        The date components that specify how a trigger is to be repeated. This value must be nil if the trigger should not repeat. The date component values are relative to the initial fire date of the trigger. If the calendar value of the recurrence is nil, the current calendar will be used to calculate the recurrence interval. Recurrence example: if a trigger should repeat every hour, set the 'hour' property of the recurrence to 1. The minimum recurrence interval is 5 minutes, maximum recurrence interval is 5 weeks and the recurrence interval must be specified in multiples of whole minutes. Examples are 5 minutes, 6 minutes, 1 day, 2 weeks.
      • recurrenceCalendar

        @Deprecated
        @Nullable
        public @Nullable NSCalendar recurrenceCalendar()
        Deprecated.
        API-Since: 8.0 Deprecated-Since: 16.4 Deprecated-Message: No longer supported
      • timeZone

        @Deprecated
        @Nullable
        public @Nullable NSTimeZone timeZone()
        Deprecated.
        API-Since: 8.0 Deprecated-Since: 16.4 Deprecated-Message: Use HMEventTrigger with HMCalendarEvent for triggers based on a time-zone-relative time of day
      • updateFireDateCompletionHandler

        public void updateFireDateCompletionHandler​(@NotNull
                                                    @NotNull NSDate fireDate,
                                                    @NotNull
                                                    @NotNull HMTimerTrigger.Block_updateFireDateCompletionHandler completion)
        This method is used to change the fire date of a timer trigger.
        Parameters:
        fireDate - New fire date for the trigger. The seconds value must be zero.
        completion - Block that is invoked once the request is processed. The NSError provides more information on the status of the request, error will be nil on success. HMErrorCodeDateMustBeOnSpecifiedBoundaries will be returned if the fireDate includes a seconds value other than 0.
      • updateRecurrenceCompletionHandler

        public void updateRecurrenceCompletionHandler​(@Nullable
                                                      @Nullable NSDateComponents recurrence,
                                                      @NotNull
                                                      @NotNull HMTimerTrigger.Block_updateRecurrenceCompletionHandler completion)
        This method is used to change the recurrence interval for a timer trigger.
        Parameters:
        recurrence - New recurrence interval for the trigger. Passing a nil indicates that the trigger is non-repeating. The minimum recurrence interval is 5 minutes, maximum recurrence interval is 5 weeks and the recurrence interval must be specified in multiples of whole minutes.
        completion - Block that is invoked once the request is processed. The NSError provides more information on the status of the request: HMErrorCodeDateMustBeOnSpecifiedBoundaries is returned if the seconds/nanoseconds fields have a value other than 0; HMErrorCodeRecurrenceTooSmall is returned if the recurrence interval is less than 5 minutes; HMErrorCodeRecurrenceTooLarge is returned if the recurrence interval is greater than 5 weeks. * error will be nil on success.
      • updateTimeZoneCompletionHandler

        @Deprecated
        public void updateTimeZoneCompletionHandler​(@Nullable
                                                    @Nullable NSTimeZone timeZone,
                                                    @NotNull
                                                    @NotNull HMTimerTrigger.Block_updateTimeZoneCompletionHandler completion)
        Deprecated.
        API-Since: 8.0 Deprecated-Since: 16.4 Deprecated-Message: Use HMEventTrigger with HMCalendarEvent for triggers based on a time-zone-relative time of day
      • initWithNameFireDateRecurrence

        public HMTimerTrigger initWithNameFireDateRecurrence​(@NotNull
                                                             @NotNull java.lang.String name,
                                                             @NotNull
                                                             @NotNull NSDate fireDate,
                                                             @Nullable
                                                             @Nullable NSDateComponents recurrence)
        Initialize a new HMTimerTrigger object. Validity checks are performed when the trigger is added to the home and the NSError in the completion block for addTrigger: method indicates the reason for the failure: HMErrorCodeDateMustBeOnSpecifiedBoundaries is returned if the seconds/nanoseconds fields in recurrence interval or seconds field in fireDate have a value other than 0. HMErrorCodeRecurrenceTooSmall is returned if recurrence interval is less than 5 minutes. HMErrorCodeRecurrenceTooLarge is returned if recurrence interval is greater than 5 weeks. HMErrorCodeFireDateInPast is returned if recurrence is nil and fireDate is in the past. API-Since: 16.4
        Parameters:
        name - Name for the trigger.
        fireDate - The initial fire date for the timer trigger. The seconds value must be zero. Date should be at least 1 minute ahead for reliable firing. HMErrorCodeDateMustBeOnSpecifiedBoundaries will be returned when adding the trigger to a home if the fireDate includes a seconds value other than 0.
        recurrence - The recurrence interval to fire the trigger. A value of nil indicates that the trigger is non-repeating. The minimum reccurence interval is 5 minutes, maximum recurrence interval is 5 weeks and the recurrence interval must be specified in multiples of whole minutes.
      • useStoredAccessor

        @Deprecated
        public static boolean useStoredAccessor()
        Deprecated.