Class S3Object

    • Method Detail

      • key

        public final String key()

        The name that you assign to an object. You use the object key to retrieve the object.

        Returns:
        The name that you assign to an object. You use the object key to retrieve the object.
      • lastModified

        public final Instant lastModified()

        Creation date of the object.

        Returns:
        Creation date of the object.
      • eTag

        public final String eTag()

        The entity tag is a hash of the object. The ETag reflects changes only to the contents of an object, not its metadata. The ETag may or may not be an MD5 digest of the object data. Whether or not it is depends on how the object was created and how it is encrypted as described below:

        • Objects created by the PUT Object, POST Object, or Copy operation, or through the Amazon Web Services Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that are an MD5 digest of their object data.

        • Objects created by the PUT Object, POST Object, or Copy operation, or through the Amazon Web Services Management Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are not an MD5 digest of their object data.

        • If an object is created by either the Multipart Upload or Part Copy operation, the ETag is not an MD5 digest, regardless of the method of encryption. If an object is larger than 16 MB, the Amazon Web Services Management Console will upload or copy that object as a Multipart Upload, and therefore the ETag will not be an MD5 digest.

        Directory buckets - MD5 is not supported by directory buckets.

        Returns:
        The entity tag is a hash of the object. The ETag reflects changes only to the contents of an object, not its metadata. The ETag may or may not be an MD5 digest of the object data. Whether or not it is depends on how the object was created and how it is encrypted as described below:

        • Objects created by the PUT Object, POST Object, or Copy operation, or through the Amazon Web Services Management Console, and are encrypted by SSE-S3 or plaintext, have ETags that are an MD5 digest of their object data.

        • Objects created by the PUT Object, POST Object, or Copy operation, or through the Amazon Web Services Management Console, and are encrypted by SSE-C or SSE-KMS, have ETags that are not an MD5 digest of their object data.

        • If an object is created by either the Multipart Upload or Part Copy operation, the ETag is not an MD5 digest, regardless of the method of encryption. If an object is larger than 16 MB, the Amazon Web Services Management Console will upload or copy that object as a Multipart Upload, and therefore the ETag will not be an MD5 digest.

        Directory buckets - MD5 is not supported by directory buckets.

      • checksumAlgorithm

        public final List<ChecksumAlgorithm> checksumAlgorithm()

        The algorithm that was used to create a checksum of the object.

        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 hasChecksumAlgorithm() method.

        Returns:
        The algorithm that was used to create a checksum of the object.
      • hasChecksumAlgorithm

        public final boolean hasChecksumAlgorithm()
        For responses, this returns true if the service returned a value for the ChecksumAlgorithm property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() 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.
      • checksumAlgorithmAsStrings

        public final List<String> checksumAlgorithmAsStrings()

        The algorithm that was used to create a checksum of the object.

        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 hasChecksumAlgorithm() method.

        Returns:
        The algorithm that was used to create a checksum of the object.
      • size

        public final Long size()

        Size in bytes of the object

        Returns:
        Size in bytes of the object
      • storageClass

        public final ObjectStorageClass storageClass()

        The class of storage used to store the object.

        Directory buckets - Only the S3 Express One Zone storage class is supported by directory buckets to store objects.

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

        Returns:
        The class of storage used to store the object.

        Directory buckets - Only the S3 Express One Zone storage class is supported by directory buckets to store objects.

        See Also:
        ObjectStorageClass
      • storageClassAsString

        public final String storageClassAsString()

        The class of storage used to store the object.

        Directory buckets - Only the S3 Express One Zone storage class is supported by directory buckets to store objects.

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

        Returns:
        The class of storage used to store the object.

        Directory buckets - Only the S3 Express One Zone storage class is supported by directory buckets to store objects.

        See Also:
        ObjectStorageClass
      • owner

        public final Owner owner()

        The owner of the object

        Directory buckets - The bucket owner is returned as the object owner.

        Returns:
        The owner of the object

        Directory buckets - The bucket owner is returned as the object owner.

      • restoreStatus

        public final RestoreStatus restoreStatus()

        Specifies the restoration status of an object. Objects in certain storage classes must be restored before they can be retrieved. For more information about these storage classes and how to work with archived objects, see Working with archived objects in the Amazon S3 User Guide.

        This functionality is not supported for directory buckets. Only the S3 Express One Zone storage class is supported by directory buckets to store objects.

        Returns:
        Specifies the restoration status of an object. Objects in certain storage classes must be restored before they can be retrieved. For more information about these storage classes and how to work with archived objects, see Working with archived objects in the Amazon S3 User Guide.

        This functionality is not supported for directory buckets. Only the S3 Express One Zone storage class is supported by directory buckets to store objects.

      • hashCode

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

        public final boolean equals​(Object obj)
        Overrides:
        equals in class Object
      • 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)