Class DefaultRetention

java.lang.Object
software.amazon.awssdk.services.s3.model.DefaultRetention
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<DefaultRetention.Builder,DefaultRetention>

@Generated("software.amazon.awssdk:codegen") public final class DefaultRetention extends Object implements SdkPojo, Serializable, ToCopyableBuilder<DefaultRetention.Builder,DefaultRetention>

The container element for optionally specifying the default Object Lock retention settings for new objects placed in the specified bucket.

  • The DefaultRetention settings require both a mode and a period.

  • The DefaultRetention period can be either Days or Years but you must select one. You cannot specify Days and Years at the same time.

See Also:
  • Method Details

    • mode

      public final ObjectLockRetentionMode mode()

      The default Object Lock retention mode you want to apply to new objects placed in the specified bucket. Must be used with either Days or Years.

      If the service returns an enum value that is not available in the current SDK version, mode will return ObjectLockRetentionMode.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from modeAsString().

      Returns:
      The default Object Lock retention mode you want to apply to new objects placed in the specified bucket. Must be used with either Days or Years.
      See Also:
    • modeAsString

      public final String modeAsString()

      The default Object Lock retention mode you want to apply to new objects placed in the specified bucket. Must be used with either Days or Years.

      If the service returns an enum value that is not available in the current SDK version, mode will return ObjectLockRetentionMode.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from modeAsString().

      Returns:
      The default Object Lock retention mode you want to apply to new objects placed in the specified bucket. Must be used with either Days or Years.
      See Also:
    • days

      public final Integer days()

      The number of days that you want to specify for the default retention period. Must be used with Mode .

      Returns:
      The number of days that you want to specify for the default retention period. Must be used with Mode.
    • years

      public final Integer years()

      The number of years that you want to specify for the default retention period. Must be used with Mode.

      Returns:
      The number of years that you want to specify for the default retention period. Must be used with Mode.
    • toBuilder

      public DefaultRetention.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<DefaultRetention.Builder,DefaultRetention>
      Returns:
      a builder for type T
    • builder

      public static DefaultRetention.Builder builder()
    • serializableBuilderClass

      public static Class<? extends DefaultRetention.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.