Class RecurrencePattern
- All Implemented Interfaces:
Serializable,SdkPojo,ToCopyableBuilder<RecurrencePattern.Builder,RecurrencePattern>
Specifies the detailed pattern for event recurrence. Use this to define complex scheduling rules such as "every 2nd Tuesday of the month" or "every 3 months on the 15th".
- See Also:
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic RecurrencePattern.Builderbuilder()byMonth()Specifies which month the event should occur in (1-12, where 1=January, 12=December).Specifies which day of the month the event should occur on (1-31).Specifies which occurrence of a weekday within the month the event should occur on.final booleanfinal booleanequalsBySdkFields(Object obj) Indicates whether some other object is "equal to" this one by SDK fields.final RecurrenceFrequencyDefines how often the pattern repeats.final StringDefines how often the pattern repeats.final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz) final booleanFor responses, this returns true if the service returned a value for the ByMonth property.final booleanFor responses, this returns true if the service returned a value for the ByMonthDay property.final booleanFor responses, this returns true if the service returned a value for the ByWeekdayOccurrence property.final inthashCode()final Integerinterval()Specifies the number of frequency units between each occurrence.static Class<? extends RecurrencePattern.Builder> Take this object and create a builder that contains all of the current property values of this object.final StringtoString()Returns a string representation of this object.Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
Method Details
-
frequency
Defines how often the pattern repeats. This is the base unit for the recurrence schedule and works in conjunction with the Interval field to determine the exact repetition sequence.
If the service returns an enum value that is not available in the current SDK version,
frequencywill returnRecurrenceFrequency.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available fromfrequencyAsString().- Returns:
- Defines how often the pattern repeats. This is the base unit for the recurrence schedule and works in conjunction with the Interval field to determine the exact repetition sequence.
- See Also:
-
frequencyAsString
Defines how often the pattern repeats. This is the base unit for the recurrence schedule and works in conjunction with the Interval field to determine the exact repetition sequence.
If the service returns an enum value that is not available in the current SDK version,
frequencywill returnRecurrenceFrequency.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available fromfrequencyAsString().- Returns:
- Defines how often the pattern repeats. This is the base unit for the recurrence schedule and works in conjunction with the Interval field to determine the exact repetition sequence.
- See Also:
-
interval
Specifies the number of frequency units between each occurrence. Must be a positive integer.
Examples: To repeat every week, set Interval=1 with WEEKLY frequency. To repeat every two months, set Interval=2 with MONTHLY frequency.
- Returns:
- Specifies the number of frequency units between each occurrence. Must be a positive integer.
Examples: To repeat every week, set Interval=1 with WEEKLY frequency. To repeat every two months, set Interval=2 with MONTHLY frequency.
-
hasByMonth
public final boolean hasByMonth()For responses, this returns true if the service returned a value for the ByMonth property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
byMonth
Specifies which month the event should occur in (1-12, where 1=January, 12=December). Used with YEARLY frequency to schedule events in specific month.
Note: It does not accept multiple values in the same list
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasByMonth()method.- Returns:
- Specifies which month the event should occur in (1-12, where 1=January, 12=December). Used with YEARLY
frequency to schedule events in specific month.
Note: It does not accept multiple values in the same list
-
hasByMonthDay
public final boolean hasByMonthDay()For responses, this returns true if the service returned a value for the ByMonthDay property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
byMonthDay
Specifies which day of the month the event should occur on (1-31). Used with MONTHLY or YEARLY frequency to schedule events on specific date within a month.
Examples: [15] for events on the 15th of each month, [-1] for events on the last day of month.
Note: It does not accept multiple values in the same list. If a specified day doesn't exist in a particular month (e.g., day 31 in February), the event will be skipped for that month. This field cannot be used simultaneously with ByWeekdayOccurrence as they represent different scheduling approaches (specific dates vs. relative weekday positions).
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasByMonthDay()method.- Returns:
- Specifies which day of the month the event should occur on (1-31). Used with MONTHLY or YEARLY frequency
to schedule events on specific date within a month.
Examples: [15] for events on the 15th of each month, [-1] for events on the last day of month.
Note: It does not accept multiple values in the same list. If a specified day doesn't exist in a particular month (e.g., day 31 in February), the event will be skipped for that month. This field cannot be used simultaneously with ByWeekdayOccurrence as they represent different scheduling approaches (specific dates vs. relative weekday positions).
-
hasByWeekdayOccurrence
public final boolean hasByWeekdayOccurrence()For responses, this returns true if the service returned a value for the ByWeekdayOccurrence property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
byWeekdayOccurrence
Specifies which occurrence of a weekday within the month the event should occur on. Must be used with MONTHLY or YEARLY frequency.
Example: 2 corresponds to second occurrence of the weekday in the month. -1 corresponds to last occurrence of the weekday in the month
The weekday itself is specified separately in the HoursOfOperationConfig. Example: To schedule the recurring event for the 2nd Thursday of April every year, set ByWeekdayOccurrence=[2], Day=THURSDAY, ByMonth=[4], Frequency: YEARLY and INTERVAL=1.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasByWeekdayOccurrence()method.- Returns:
- Specifies which occurrence of a weekday within the month the event should occur on. Must be used with
MONTHLY or YEARLY frequency.
Example: 2 corresponds to second occurrence of the weekday in the month. -1 corresponds to last occurrence of the weekday in the month
The weekday itself is specified separately in the HoursOfOperationConfig. Example: To schedule the recurring event for the 2nd Thursday of April every year, set ByWeekdayOccurrence=[2], Day=THURSDAY, ByMonth=[4], Frequency: YEARLY and INTERVAL=1.
-
toBuilder
Description copied from interface:ToCopyableBuilderTake this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilderin interfaceToCopyableBuilder<RecurrencePattern.Builder,RecurrencePattern> - Returns:
- a builder for type T
-
builder
-
serializableBuilderClass
-
hashCode
-
equals
-
equalsBySdkFields
Description copied from interface:SdkPojoIndicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in anSdkPojoclass, and is generated based on a service model.If an
SdkPojoclass does not have any inherited fields,equalsBySdkFieldsandequalsare essentially the same.- Specified by:
equalsBySdkFieldsin interfaceSdkPojo- Parameters:
obj- the object to be compared with- Returns:
- true if the other object equals to this object by sdk fields, false otherwise.
-
toString
-
getValueForField
-
sdkFields
-
sdkFieldNameToField
- Specified by:
sdkFieldNameToFieldin interfaceSdkPojo- Returns:
- The mapping between the field name and its corresponding field.
-