Class ScheduleSpec

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, ScheduleSpecOrBuilder, java.io.Serializable

    @Generated(value="protoc",
               comments="annotations:ScheduleSpec.java.pb.meta")
    public final class ScheduleSpec
    extends com.google.protobuf.GeneratedMessageV3
    implements ScheduleSpecOrBuilder
     ScheduleSpec is a complete description of a set of absolute timestamps
     (possibly infinite) that an action should occur at. The meaning of a
     ScheduleSpec depends only on its contents and never changes, except that the
     definition of a time zone can change over time (most commonly, when daylight
     saving time policy changes for an area). To create a totally self-contained
     ScheduleSpec, use UTC or include timezone_data.
     For input, you can provide zero or more of: structured_calendar, calendar,
     cron_string, interval, and exclude_structured_calendar, and all of them will
     be used (the schedule will take action at the union of all of their times,
     minus the ones that match exclude_structured_calendar).
     On input, calendar and cron_string fields will be compiled into
     structured_calendar (and maybe interval and timezone_name), so if you
     Describe a schedule, you'll see only structured_calendar, interval, etc.
     
    Protobuf type temporal.api.schedule.v1.ScheduleSpec
    See Also:
    Serialized Form
    • Field Detail

      • STRUCTURED_CALENDAR_FIELD_NUMBER

        public static final int STRUCTURED_CALENDAR_FIELD_NUMBER
        See Also:
        Constant Field Values
      • CRON_STRING_FIELD_NUMBER

        public static final int CRON_STRING_FIELD_NUMBER
        See Also:
        Constant Field Values
      • EXCLUDE_CALENDAR_FIELD_NUMBER

        public static final int EXCLUDE_CALENDAR_FIELD_NUMBER
        See Also:
        Constant Field Values
      • EXCLUDE_STRUCTURED_CALENDAR_FIELD_NUMBER

        public static final int EXCLUDE_STRUCTURED_CALENDAR_FIELD_NUMBER
        See Also:
        Constant Field Values
      • START_TIME_FIELD_NUMBER

        public static final int START_TIME_FIELD_NUMBER
        See Also:
        Constant Field Values
      • TIMEZONE_NAME_FIELD_NUMBER

        public static final int TIMEZONE_NAME_FIELD_NUMBER
        See Also:
        Constant Field Values
      • TIMEZONE_DATA_FIELD_NUMBER

        public static final int TIMEZONE_DATA_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

        protected java.lang.Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getUnknownFields

        public final com.google.protobuf.UnknownFieldSet getUnknownFields()
        Specified by:
        getUnknownFields in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getUnknownFields in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getStructuredCalendarCount

        public int getStructuredCalendarCount()
         Calendar-based specifications of times.
         
        repeated .temporal.api.schedule.v1.StructuredCalendarSpec structured_calendar = 7;
        Specified by:
        getStructuredCalendarCount in interface ScheduleSpecOrBuilder
      • getCronStringList

        public com.google.protobuf.ProtocolStringList getCronStringList()
         cron_string holds a traditional cron specification as a string. It
         accepts 5, 6, or 7 fields, separated by spaces, and interprets them the
         same way as CalendarSpec.
         5 fields:         minute, hour, day_of_month, month, day_of_week
         6 fields:         minute, hour, day_of_month, month, day_of_week, year
         7 fields: second, minute, hour, day_of_month, month, day_of_week, year
         If year is not given, it defaults to *. If second is not given, it
         defaults to 0.
         Shorthands @yearly, @monthly, @weekly, @daily, and @hourly are also
         accepted instead of the 5-7 time fields.
         Optionally, the string can be preceded by CRON_TZ=<timezone name> or
         TZ=<timezone name>, which will get copied to timezone_name. (There must
         not also be a timezone_name present.)
         Optionally "#" followed by a comment can appear at the end of the string.
         Note that the special case that some cron implementations have for
         treating day_of_month and day_of_week as "or" instead of "and" when both
         are set is not implemented.
         @every <interval>[/<phase>] is accepted and gets compiled into an
         IntervalSpec instead. <interval> and <phase> should be a decimal integer
         with a unit suffix s, m, h, or d.
         
        repeated string cron_string = 8;
        Specified by:
        getCronStringList in interface ScheduleSpecOrBuilder
        Returns:
        A list containing the cronString.
      • getCronStringCount

        public int getCronStringCount()
         cron_string holds a traditional cron specification as a string. It
         accepts 5, 6, or 7 fields, separated by spaces, and interprets them the
         same way as CalendarSpec.
         5 fields:         minute, hour, day_of_month, month, day_of_week
         6 fields:         minute, hour, day_of_month, month, day_of_week, year
         7 fields: second, minute, hour, day_of_month, month, day_of_week, year
         If year is not given, it defaults to *. If second is not given, it
         defaults to 0.
         Shorthands @yearly, @monthly, @weekly, @daily, and @hourly are also
         accepted instead of the 5-7 time fields.
         Optionally, the string can be preceded by CRON_TZ=<timezone name> or
         TZ=<timezone name>, which will get copied to timezone_name. (There must
         not also be a timezone_name present.)
         Optionally "#" followed by a comment can appear at the end of the string.
         Note that the special case that some cron implementations have for
         treating day_of_month and day_of_week as "or" instead of "and" when both
         are set is not implemented.
         @every <interval>[/<phase>] is accepted and gets compiled into an
         IntervalSpec instead. <interval> and <phase> should be a decimal integer
         with a unit suffix s, m, h, or d.
         
        repeated string cron_string = 8;
        Specified by:
        getCronStringCount in interface ScheduleSpecOrBuilder
        Returns:
        The count of cronString.
      • getCronString

        public java.lang.String getCronString​(int index)
         cron_string holds a traditional cron specification as a string. It
         accepts 5, 6, or 7 fields, separated by spaces, and interprets them the
         same way as CalendarSpec.
         5 fields:         minute, hour, day_of_month, month, day_of_week
         6 fields:         minute, hour, day_of_month, month, day_of_week, year
         7 fields: second, minute, hour, day_of_month, month, day_of_week, year
         If year is not given, it defaults to *. If second is not given, it
         defaults to 0.
         Shorthands @yearly, @monthly, @weekly, @daily, and @hourly are also
         accepted instead of the 5-7 time fields.
         Optionally, the string can be preceded by CRON_TZ=<timezone name> or
         TZ=<timezone name>, which will get copied to timezone_name. (There must
         not also be a timezone_name present.)
         Optionally "#" followed by a comment can appear at the end of the string.
         Note that the special case that some cron implementations have for
         treating day_of_month and day_of_week as "or" instead of "and" when both
         are set is not implemented.
         @every <interval>[/<phase>] is accepted and gets compiled into an
         IntervalSpec instead. <interval> and <phase> should be a decimal integer
         with a unit suffix s, m, h, or d.
         
        repeated string cron_string = 8;
        Specified by:
        getCronString in interface ScheduleSpecOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The cronString at the given index.
      • getCronStringBytes

        public com.google.protobuf.ByteString getCronStringBytes​(int index)
         cron_string holds a traditional cron specification as a string. It
         accepts 5, 6, or 7 fields, separated by spaces, and interprets them the
         same way as CalendarSpec.
         5 fields:         minute, hour, day_of_month, month, day_of_week
         6 fields:         minute, hour, day_of_month, month, day_of_week, year
         7 fields: second, minute, hour, day_of_month, month, day_of_week, year
         If year is not given, it defaults to *. If second is not given, it
         defaults to 0.
         Shorthands @yearly, @monthly, @weekly, @daily, and @hourly are also
         accepted instead of the 5-7 time fields.
         Optionally, the string can be preceded by CRON_TZ=<timezone name> or
         TZ=<timezone name>, which will get copied to timezone_name. (There must
         not also be a timezone_name present.)
         Optionally "#" followed by a comment can appear at the end of the string.
         Note that the special case that some cron implementations have for
         treating day_of_month and day_of_week as "or" instead of "and" when both
         are set is not implemented.
         @every <interval>[/<phase>] is accepted and gets compiled into an
         IntervalSpec instead. <interval> and <phase> should be a decimal integer
         with a unit suffix s, m, h, or d.
         
        repeated string cron_string = 8;
        Specified by:
        getCronStringBytes in interface ScheduleSpecOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the cronString at the given index.
      • getCalendarList

        public java.util.List<CalendarSpec> getCalendarList()
         Calendar-based specifications of times.
         
        repeated .temporal.api.schedule.v1.CalendarSpec calendar = 1;
        Specified by:
        getCalendarList in interface ScheduleSpecOrBuilder
      • getCalendarCount

        public int getCalendarCount()
         Calendar-based specifications of times.
         
        repeated .temporal.api.schedule.v1.CalendarSpec calendar = 1;
        Specified by:
        getCalendarCount in interface ScheduleSpecOrBuilder
      • getCalendar

        public CalendarSpec getCalendar​(int index)
         Calendar-based specifications of times.
         
        repeated .temporal.api.schedule.v1.CalendarSpec calendar = 1;
        Specified by:
        getCalendar in interface ScheduleSpecOrBuilder
      • getIntervalList

        public java.util.List<IntervalSpec> getIntervalList()
         Interval-based specifications of times.
         
        repeated .temporal.api.schedule.v1.IntervalSpec interval = 2;
        Specified by:
        getIntervalList in interface ScheduleSpecOrBuilder
      • getIntervalCount

        public int getIntervalCount()
         Interval-based specifications of times.
         
        repeated .temporal.api.schedule.v1.IntervalSpec interval = 2;
        Specified by:
        getIntervalCount in interface ScheduleSpecOrBuilder
      • getInterval

        public IntervalSpec getInterval​(int index)
         Interval-based specifications of times.
         
        repeated .temporal.api.schedule.v1.IntervalSpec interval = 2;
        Specified by:
        getInterval in interface ScheduleSpecOrBuilder
      • getExcludeCalendarList

        @Deprecated
        public java.util.List<CalendarSpec> getExcludeCalendarList()
        Deprecated.
         Any timestamps matching any of exclude_* will be skipped.
         
        repeated .temporal.api.schedule.v1.CalendarSpec exclude_calendar = 3 [deprecated = true];
        Specified by:
        getExcludeCalendarList in interface ScheduleSpecOrBuilder
      • getExcludeCalendarOrBuilderList

        @Deprecated
        public java.util.List<? extends CalendarSpecOrBuilder> getExcludeCalendarOrBuilderList()
        Deprecated.
         Any timestamps matching any of exclude_* will be skipped.
         
        repeated .temporal.api.schedule.v1.CalendarSpec exclude_calendar = 3 [deprecated = true];
        Specified by:
        getExcludeCalendarOrBuilderList in interface ScheduleSpecOrBuilder
      • getExcludeCalendarCount

        @Deprecated
        public int getExcludeCalendarCount()
        Deprecated.
         Any timestamps matching any of exclude_* will be skipped.
         
        repeated .temporal.api.schedule.v1.CalendarSpec exclude_calendar = 3 [deprecated = true];
        Specified by:
        getExcludeCalendarCount in interface ScheduleSpecOrBuilder
      • getExcludeCalendar

        @Deprecated
        public CalendarSpec getExcludeCalendar​(int index)
        Deprecated.
         Any timestamps matching any of exclude_* will be skipped.
         
        repeated .temporal.api.schedule.v1.CalendarSpec exclude_calendar = 3 [deprecated = true];
        Specified by:
        getExcludeCalendar in interface ScheduleSpecOrBuilder
      • getExcludeCalendarOrBuilder

        @Deprecated
        public CalendarSpecOrBuilder getExcludeCalendarOrBuilder​(int index)
        Deprecated.
         Any timestamps matching any of exclude_* will be skipped.
         
        repeated .temporal.api.schedule.v1.CalendarSpec exclude_calendar = 3 [deprecated = true];
        Specified by:
        getExcludeCalendarOrBuilder in interface ScheduleSpecOrBuilder
      • hasStartTime

        public boolean hasStartTime()
         If start_time is set, any timestamps before start_time will be skipped.
         (Together, start_time and end_time make an inclusive interval.)
         
        .google.protobuf.Timestamp start_time = 4 [(.gogoproto.stdtime) = true];
        Specified by:
        hasStartTime in interface ScheduleSpecOrBuilder
        Returns:
        Whether the startTime field is set.
      • getStartTime

        public com.google.protobuf.Timestamp getStartTime()
         If start_time is set, any timestamps before start_time will be skipped.
         (Together, start_time and end_time make an inclusive interval.)
         
        .google.protobuf.Timestamp start_time = 4 [(.gogoproto.stdtime) = true];
        Specified by:
        getStartTime in interface ScheduleSpecOrBuilder
        Returns:
        The startTime.
      • getStartTimeOrBuilder

        public com.google.protobuf.TimestampOrBuilder getStartTimeOrBuilder()
         If start_time is set, any timestamps before start_time will be skipped.
         (Together, start_time and end_time make an inclusive interval.)
         
        .google.protobuf.Timestamp start_time = 4 [(.gogoproto.stdtime) = true];
        Specified by:
        getStartTimeOrBuilder in interface ScheduleSpecOrBuilder
      • hasEndTime

        public boolean hasEndTime()
         If end_time is set, any timestamps after end_time will be skipped.
         
        .google.protobuf.Timestamp end_time = 5 [(.gogoproto.stdtime) = true];
        Specified by:
        hasEndTime in interface ScheduleSpecOrBuilder
        Returns:
        Whether the endTime field is set.
      • getEndTime

        public com.google.protobuf.Timestamp getEndTime()
         If end_time is set, any timestamps after end_time will be skipped.
         
        .google.protobuf.Timestamp end_time = 5 [(.gogoproto.stdtime) = true];
        Specified by:
        getEndTime in interface ScheduleSpecOrBuilder
        Returns:
        The endTime.
      • getEndTimeOrBuilder

        public com.google.protobuf.TimestampOrBuilder getEndTimeOrBuilder()
         If end_time is set, any timestamps after end_time will be skipped.
         
        .google.protobuf.Timestamp end_time = 5 [(.gogoproto.stdtime) = true];
        Specified by:
        getEndTimeOrBuilder in interface ScheduleSpecOrBuilder
      • hasJitter

        public boolean hasJitter()
         All timestamps will be incremented by a random value from 0 to this
         amount of jitter. Default: 0
         
        .google.protobuf.Duration jitter = 6 [(.gogoproto.stdduration) = true];
        Specified by:
        hasJitter in interface ScheduleSpecOrBuilder
        Returns:
        Whether the jitter field is set.
      • getJitter

        public com.google.protobuf.Duration getJitter()
         All timestamps will be incremented by a random value from 0 to this
         amount of jitter. Default: 0
         
        .google.protobuf.Duration jitter = 6 [(.gogoproto.stdduration) = true];
        Specified by:
        getJitter in interface ScheduleSpecOrBuilder
        Returns:
        The jitter.
      • getJitterOrBuilder

        public com.google.protobuf.DurationOrBuilder getJitterOrBuilder()
         All timestamps will be incremented by a random value from 0 to this
         amount of jitter. Default: 0
         
        .google.protobuf.Duration jitter = 6 [(.gogoproto.stdduration) = true];
        Specified by:
        getJitterOrBuilder in interface ScheduleSpecOrBuilder
      • getTimezoneName

        public java.lang.String getTimezoneName()
         Time zone to interpret all calendar-based specs in.
         If unset, defaults to UTC. We recommend using UTC for your application if
         at all possible, to avoid various surprising properties of time zones.
         Time zones may be provided by name, corresponding to names in the IANA
         time zone database (see https://www.iana.org/time-zones). The definition
         will be loaded by the Temporal server from the environment it runs in.
         If your application requires more control over the time zone definition
         used, it may pass in a complete definition in the form of a TZif file
         from the time zone database. If present, this will be used instead of
         loading anything from the environment. You are then responsible for
         updating timezone_data when the definition changes.
         Calendar spec matching is based on literal matching of the clock time
         with no special handling of DST: if you write a calendar spec that fires
         at 2:30am and specify a time zone that follows DST, that action will not
         be triggered on the day that has no 2:30am. Similarly, an action that
         fires at 1:30am will be triggered twice on the day that has two 1:30s.
         Also note that no actions are taken on leap-seconds (e.g. 23:59:60 UTC).
         
        string timezone_name = 10;
        Specified by:
        getTimezoneName in interface ScheduleSpecOrBuilder
        Returns:
        The timezoneName.
      • getTimezoneNameBytes

        public com.google.protobuf.ByteString getTimezoneNameBytes()
         Time zone to interpret all calendar-based specs in.
         If unset, defaults to UTC. We recommend using UTC for your application if
         at all possible, to avoid various surprising properties of time zones.
         Time zones may be provided by name, corresponding to names in the IANA
         time zone database (see https://www.iana.org/time-zones). The definition
         will be loaded by the Temporal server from the environment it runs in.
         If your application requires more control over the time zone definition
         used, it may pass in a complete definition in the form of a TZif file
         from the time zone database. If present, this will be used instead of
         loading anything from the environment. You are then responsible for
         updating timezone_data when the definition changes.
         Calendar spec matching is based on literal matching of the clock time
         with no special handling of DST: if you write a calendar spec that fires
         at 2:30am and specify a time zone that follows DST, that action will not
         be triggered on the day that has no 2:30am. Similarly, an action that
         fires at 1:30am will be triggered twice on the day that has two 1:30s.
         Also note that no actions are taken on leap-seconds (e.g. 23:59:60 UTC).
         
        string timezone_name = 10;
        Specified by:
        getTimezoneNameBytes in interface ScheduleSpecOrBuilder
        Returns:
        The bytes for timezoneName.
      • getTimezoneData

        public com.google.protobuf.ByteString getTimezoneData()
        bytes timezone_data = 11;
        Specified by:
        getTimezoneData in interface ScheduleSpecOrBuilder
        Returns:
        The timezoneData.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws java.io.IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        java.io.IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(java.lang.Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static ScheduleSpec parseFrom​(java.nio.ByteBuffer data)
                                      throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ScheduleSpec parseFrom​(java.nio.ByteBuffer data,
                                             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                      throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ScheduleSpec parseFrom​(com.google.protobuf.ByteString data)
                                      throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ScheduleSpec parseFrom​(com.google.protobuf.ByteString data,
                                             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                      throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ScheduleSpec parseFrom​(byte[] data)
                                      throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ScheduleSpec parseFrom​(byte[] data,
                                             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                      throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ScheduleSpec parseFrom​(java.io.InputStream input)
                                      throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static ScheduleSpec parseFrom​(java.io.InputStream input,
                                             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                      throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static ScheduleSpec parseDelimitedFrom​(java.io.InputStream input)
                                               throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static ScheduleSpec parseDelimitedFrom​(java.io.InputStream input,
                                                      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                               throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static ScheduleSpec parseFrom​(com.google.protobuf.CodedInputStream input)
                                      throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static ScheduleSpec parseFrom​(com.google.protobuf.CodedInputStream input,
                                             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                      throws java.io.IOException
        Throws:
        java.io.IOException
      • newBuilderForType

        public ScheduleSpec.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public ScheduleSpec.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected ScheduleSpec.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static ScheduleSpec getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<ScheduleSpec> parser()
      • getParserForType

        public com.google.protobuf.Parser<ScheduleSpec> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public ScheduleSpec getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder