Class CopyObjectRequest

    • Constructor Detail

      • CopyObjectRequest

        public CopyObjectRequest​(String sourceBucketName,
                                 String sourceKey,
                                 String destinationBucketName,
                                 String destinationKey)

        Constructs with basic options.

        Parameters:
        sourceBucketName - The name of the S3 bucket containing the object to copy.
        sourceKey - The source bucket key under which the object to copy is stored.
        destinationBucketName - The name of the S3 bucket to which the new object will be copied.
        destinationKey - The destination bucket key under which the new object will be copied.
      • CopyObjectRequest

        public CopyObjectRequest​(String sourceBucketName,
                                 String sourceKey,
                                 String sourceVersionId,
                                 String destinationBucketName,
                                 String destinationKey)

        Constructs a new CopyObjectRequest with basic options, providing an S3 version ID identifying the specific version of the source object to copy.

        Parameters:
        sourceBucketName - The name of the S3 bucket containing the object to copy.
        sourceKey - The key in the source bucket under which the object to copy is stored.
        sourceVersionId - The S3 version ID which uniquely identifies a specific version of the source object to copy.
        destinationBucketName - The name of the S3 bucket in which the new object will be copied.
        destinationKey - The key in the destination bucket under which the new object will be copied.
        See Also:
        CopyObjectRequest(String sourceBucketName, String sourceKey, String destinationBucketName, String destinationKey)
    • Method Detail

      • getSourceBucketName

        public String getSourceBucketName()
        Gets the name of the bucket containing the source object to be copied.
        Returns:
        The name of the bucket containing the source object to be copied.
        See Also:
        setSourceBucketName(String sourceBucketName)
      • setSourceBucketName

        public void setSourceBucketName​(String sourceBucketName)
        Sets the name of the bucket containing the source object to be copied.
        Parameters:
        sourceBucketName - The name of the bucket containing the source object to be copied.
        See Also:
        getSourceBucketName()
      • withSourceBucketName

        public CopyObjectRequest withSourceBucketName​(String sourceBucketName)
        Sets the name of the bucket containing the source object to be copied, and returns this object, enabling additional method calls to be chained together.
        Parameters:
        sourceBucketName - The name of the bucket containing the source object to be copied.
        Returns:
        This CopyObjectRequest instance, enabling additional method calls to be chained together.
      • getSourceKey

        public String getSourceKey()
        Gets the source bucket key under which the source object to be copied is stored.
        Returns:
        The source bucket key under which the source object to be copied is stored.
        See Also:
        setSourceKey(String sourceKey)
      • setSourceKey

        public void setSourceKey​(String sourceKey)
        Sets the source bucket key under which the source object to be copied is stored.
        Parameters:
        sourceKey - The source bucket key under which the source object to be copied is stored.
        See Also:
        setSourceKey(String)
      • withSourceKey

        public CopyObjectRequest withSourceKey​(String sourceKey)
        Sets the key in the source bucket under which the source object to be copied is stored and returns this object, enabling additional method calls to be chained together.
        Parameters:
        sourceKey - The key in the source bucket under which the source object to be copied is stored.
        Returns:
        This CopyObjectRequest instance, enabling additional method calls to be chained together.
      • getSourceVersionId

        public String getSourceVersionId()

        Gets the version ID specifying which version of the source object to copy. If not specified, the most recent version of the source object will be copied.

        Objects created before enabling versioning or when versioning is suspended are given the default null version ID (see Constants.NULL_VERSION_ID). Note that the null version ID is a valid version ID and is not the same as not having a version ID.

        For more information about enabling versioning for a bucket, see AmazonS3.setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest).

        Returns:
        The version ID specifying which version of the source object to copy.
        See Also:
        Constants.NULL_VERSION_ID, setSourceVersionId(String sourceVersionId)
      • setSourceVersionId

        public void setSourceVersionId​(String sourceVersionId)

        Sets the optional version ID specifying which version of the source object to copy. If not specified, the most recent version of the source object will be copied.

        Objects created before enabling versioning or when versioning is suspended are given the default null version ID (see Constants.NULL_VERSION_ID). Note that the null version ID is a valid version ID and is not the same as not having a version ID.

        For more information about enabling versioning for a bucket, see AmazonS3.setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest).

        Parameters:
        sourceVersionId - The optional version ID specifying which version of the source object to copy.
      • withSourceVersionId

        public CopyObjectRequest withSourceVersionId​(String sourceVersionId)

        Sets the optional version ID specifying which version of the source object to copy and returns this object, enabling additional method calls to be chained together. If not specified, the most recent version of the source object will be copied.

        Objects created before enabling versioning or when versioning is suspended are given the default null version ID (see Constants.NULL_VERSION_ID). Note that the null version ID is a valid version ID and is not the same as not having a version ID.

        For more information about enabling versioning for a bucket, see AmazonS3.setBucketVersioningConfiguration(SetBucketVersioningConfigurationRequest).

        Parameters:
        sourceVersionId - The optional version ID specifying which version of the source object to copy.
        Returns:
        This CopyObjectRequest, enabling additional method calls to be chained together.
      • setDestinationBucketName

        public void setDestinationBucketName​(String destinationBucketName)
        Sets the destination bucket name which will contain the new, copied object.
        Parameters:
        destinationBucketName - The name of the destination bucket which will contain the new, copied object.
        See Also:
        getDestinationBucketName()
      • withDestinationBucketName

        public CopyObjectRequest withDestinationBucketName​(String destinationBucketName)
        Sets the name of the destination bucket which will contain the new, copied object and returns this object, enabling additional method calls to be chained together.
        Parameters:
        destinationBucketName - The name of the destination bucket which will contain the new, copied object.
        Returns:
        This CopyObjectRequest, enabling additional method calls to be chained together.
      • getDestinationKey

        public String getDestinationKey()
        Gets the destination bucket key under which the new, copied object will be stored.
        Returns:
        The destination bucket key under which the new, copied object will be stored.
        See Also:
        setDestinationKey(String destinationKey)
      • setDestinationKey

        public void setDestinationKey​(String destinationKey)
        Sets the destination bucket key under which the new, copied object will be stored.
        Parameters:
        destinationKey - The destination bucket key under which the new, copied object will be stored.
        See Also:
        getDestinationKey()
      • withDestinationKey

        public CopyObjectRequest withDestinationKey​(String destinationKey)
        Sets the destination bucket key under which the new, copied object will be stored and returns this object, enabling additional method calls can be chained together.
        Parameters:
        destinationKey - The destination bucket key under which the new, copied object will be stored.
        Returns:
        This CopyObjectRequest, enabling additional method calls to be chained together.
      • getStorageClass

        public String getStorageClass()

        Gets the optional Amazon S3 storage class to use when storing the newly copied object. If not specified, the default standard storage class is used.

        For more information on available Amazon S3 storage classes, see the StorageClass enumeration.

        Returns:
        The Amazon S3 storage class to use when storing the newly copied object.
        See Also:
        setStorageClass(String), setStorageClass(StorageClass)
      • setStorageClass

        public void setStorageClass​(String storageClass)

        Sets the optional Amazon S3 storage class to use when storing the newly copied object. If not specified, the default standard storage class is used.

        For more information on Amazon S3 storage classes and available values, see the StorageClass enumeration.

        See Also:
        getStorageClass(), setStorageClass(StorageClass)
      • withStorageClass

        public CopyObjectRequest withStorageClass​(String storageClass)

        Sets the optional Amazon S3 storage class to use when storing the newly copied object and returns this CopyObjectRequest, enabling additional method calls to be chained together. If not specified, the default standard storage class is used.

        For more information on Amazon S3 storage classes and available values, see the StorageClass enumeration.

        Returns:
        This CopyObjectRequest, enabling additional method calls to be chained together.
      • setStorageClass

        public void setStorageClass​(StorageClass storageClass)

        Sets the optional Amazon S3 storage class to use when storing the newly copied object. If not specified, the default standard storage class is used.

        For more information on Amazon S3 storage classes and available values, see the StorageClass enumeration.

        See Also:
        getStorageClass(), setStorageClass(String)
      • withStorageClass

        public CopyObjectRequest withStorageClass​(StorageClass storageClass)

        Sets the optional Amazon S3 storage class to use when storing the newly copied object and returns this CopyObjectRequest, enabling additional method calls to be chained together. If not specified, the default standard storage class is used.

        For more information on Amazon S3 storage classes and available values, see the StorageClass enumeration.

        Returns:
        This CopyObjectRequest, enabling additional method calls to be chained together.
      • getCannedAccessControlList

        public CannedAccessControlList getCannedAccessControlList()
        Gets the canned ACL to use for the new, copied object. If no canned ACL is specified, S3 will default to using the CannedAccessControlList.Private canned ACL for all copied objects.
        Returns:
        The canned ACL to set for the newly copied object, or null if no canned ACL has been specified.
      • setCannedAccessControlList

        public void setCannedAccessControlList​(CannedAccessControlList cannedACL)
        Sets the canned ACL to use for the newly copied object. If no canned ACL is specified, S3 will default to using the CannedAccessControlList.Private canned ACL for all copied objects.
        Parameters:
        cannedACL - The canned ACL to set for the newly copied object.
      • withCannedAccessControlList

        public CopyObjectRequest withCannedAccessControlList​(CannedAccessControlList cannedACL)
        Sets the canned ACL to use for the newly copied object, and returns this CopyObjectRequest, enabling additional method calls to be chained together.
        Parameters:
        cannedACL - The canned ACL to set for the newly copied object.
        Returns:
        This CopyObjectRequest, enabling additional method calls to be chained together.
      • getAccessControlList

        public AccessControlList getAccessControlList()
        Returns the optional access control list for the new object. If specified, cannedAcl will be ignored.
      • setAccessControlList

        public void setAccessControlList​(AccessControlList accessControlList)
        Sets the optional access control list for the new object. If specified, cannedAcl will be ignored.
        Parameters:
        accessControlList - The access control list for the new object.
      • withAccessControlList

        public CopyObjectRequest withAccessControlList​(AccessControlList accessControlList)
        Sets the optional access control list for the new object. If specified, cannedAcl will be ignored. Returns this CopyObjectRequest, enabling additional method calls to be chained together.
        Parameters:
        accessControlList - The access control list for the new object.
      • setNewObjectMetadata

        public void setNewObjectMetadata​(ObjectMetadata newObjectMetadata)
        Sets the object metadata to use for the new, copied object. By default the object metadata from the source object is copied to the destination object, but when setting object metadata with this method, no metadata from the source object is copied. Instead, the new destination object will have the metadata specified with this call.
        Parameters:
        newObjectMetadata - The object metadata to use for the newly copied object.
        See Also:
        getNewObjectMetadata()
      • withNewObjectMetadata

        public CopyObjectRequest withNewObjectMetadata​(ObjectMetadata newObjectMetadata)
        Sets the object metadata to use for the new, copied object and returns this object, enabling additional method calls to be chained together. By default, the object metadata from the source object will be copied to the destination object, but if callers set object metadata with this method, it will be used instead.
        Parameters:
        newObjectMetadata - The object metadata to use for the newly copied object.
        Returns:
        This CopyObjectRequest, enabling additional method calls to be chained together.
      • getMatchingETagConstraints

        public List<String> getMatchingETagConstraints()

        Gets the optional list of ETag constraints that, when present, must include a match for the source object's current ETag in order for the copy object request to be executed. Only one ETag in the list needs to match for the request to be executed by Amazon S3.

        Matching ETag constraints may be used with the unmodified since constraint, but not with any other type of constraint.

        Returns:
        The optional list of ETag constraints that when present must include a match for the source object's current ETag in order for this request to be executed.
      • setMatchingETagConstraints

        public void setMatchingETagConstraints​(List<String> eTagList)

        Sets the optional list of ETag constraints that, when present, must include a match for the source object's current ETag in order for the copy object request to be executed. If none of the specified ETags match the source object's current ETag, the copy object operation will be aborted. Only one ETag in the list needs to match for the request to be executed by Amazon S3.

        Matching ETag constraints may be used with the unmodified since constraint, but not with any other type of constraint.

        Parameters:
        eTagList - The optional list of ETag constraints that must include a match for the source object's current ETag in order for this request to be executed.
      • withMatchingETagConstraint

        public CopyObjectRequest withMatchingETagConstraint​(String eTag)

        Adds a single ETag constraint to this request and returns this object, enabling additional method calls to be chained together. Multiple ETag constraints can be added to a request, but one must match the source object's current ETag in order for the copy object request to be executed. If none of the ETag constraints added to this request match the source object's current ETag, the copy object operation will be aborted.

        Matching ETag constraints may be used with the unmodified since constraint, but not with any other type of constraint.

        Parameters:
        eTag - The matching ETag constraint to add to this request.
        Returns:
        This CopyObjectRequest, enabling additional method calls to be chained together.
      • getNonmatchingETagConstraints

        public List<String> getNonmatchingETagConstraints()

        Gets the optional list of ETag constraints that, when present, must not include a match for the source object's current ETag in order for the copy object request to be executed. If any entry in the non-matching ETag constraint list matches the source object's current ETag, this copy request will not be executed by Amazon S3.

        Non-matching ETag constraints may be used with the modified since constraint, but not with any other type of constraint.

        Returns:
        The optional list of ETag constraints that when present must not include a match for the source object's current ETag in order for this request to be executed.
      • setNonmatchingETagConstraints

        public void setNonmatchingETagConstraints​(List<String> eTagList)

        Sets the optional list of ETag constraints that, when present, must not include a match for the source object's current ETag in order for the copy object request to be executed. If any entry in the non-matching ETag constraint list matches the source object's current ETag, this copy request will not be executed by Amazon S3.

        Non-matching ETag constraints may be used with the modified since constraint, but not with any other type of constraint.

        Parameters:
        eTagList - The list of ETag constraints that, when present, must not include a match for the source object's current ETag in order for this request to be executed.
      • withNonmatchingETagConstraint

        public CopyObjectRequest withNonmatchingETagConstraint​(String eTag)

        Adds a single ETag constraint to this request and returns this object, enabling additional method calls to be chained together. Multiple ETag constraints can be added to a request, but all ETag constraints must not match the source object's current ETag in order for the copy object request to be executed. If any entry in the non-matching ETag constraint list matches the source object's current ETag, this copy request will not be executed by Amazon S3.

        Non-matching ETag constraints may be used with the modified since constraint, but not with any other type of constraint.

        Parameters:
        eTag - The non-matching ETag constraint to add to this request.
        Returns:
        This CopyObjectRequest, enabling additional method calls to be chained together.
      • getUnmodifiedSinceConstraint

        public Date getUnmodifiedSinceConstraint()

        Gets the optional unmodified constraint that restricts this request to executing only if the source object has not been modified after the specified date.

        The unmodified since constraint may be used with matching ETag constraints, but not with any other type of constraint.

        Returns:
        The optional unmodified constraint that restricts this request to executing only if the source object has not been modified after the specified date.
      • setUnmodifiedSinceConstraint

        public void setUnmodifiedSinceConstraint​(Date date)

        Sets the optional unmodified constraint that restricts this request to executing only if the source object has not been modified after the specified date.

        The unmodified constraint may be used with matching ETag constraints, but not with any other type of constraint.

        Note that Amazon S3 will ignore any dates occurring in the future.

        Parameters:
        date - The unmodified constraint that restricts this request to executing only if the source object has not been modified after this date.
      • withUnmodifiedSinceConstraint

        public CopyObjectRequest withUnmodifiedSinceConstraint​(Date date)

        Sets the optional unmodified constraint that restricts this request to executing only if the source object has not been modified after the specified date. Returns this object, enabling additional method calls to be chained together.

        The unmodified constraint may be used with matching ETag constraints, but not with any other type of constraint.

        Note that Amazon S3 will ignore any dates occurring in the future.

        Parameters:
        date - The unmodified constraint that restricts this request to executing only if the source object has not been modified after this date.
        Returns:
        This CopyObjectRequest, enabling additional method calls to be chained together.
      • getModifiedSinceConstraint

        public Date getModifiedSinceConstraint()

        Gets the optional modified constraint that restricts this request to executing only if the source object has been modified after the specified date.

        The modified constraint may be used with non-matching ETag constraints, but not with any other type of constraint.

        Returns:
        The optional modified constraint that restricts this request to executing only if the source object has been modified after the specified date.
      • setModifiedSinceConstraint

        public void setModifiedSinceConstraint​(Date date)

        Sets the optional modified constraint that restricts this request to executing only if the source object has been modified after the specified date.

        The modified constraint may be used with non-matching ETag constraints, but not with any other type of constraint.

        Note that Amazon S3 will ignore any dates occurring in the future.

        Parameters:
        date - The modified constraint that restricts this request to executing only if the source object has been modified after the specified date.
      • withModifiedSinceConstraint

        public CopyObjectRequest withModifiedSinceConstraint​(Date date)

        Sets the optional modified constraint that restricts this request to executing only if the source object has been modified after the specified date. Returns this object, enabling additional method calls to be chained together.

        The modified constraint may be used with non-matching ETag constraints, but not with any other type of constraint.

        Note that Amazon S3 will ignore any dates occurring in the future.

        Parameters:
        date - The modified constraint that restricts this request to executing only if the source object has been modified after the specified date.
        Returns:
        This CopyObjectRequest, enabling additional method calls to be chained together.
      • setRedirectLocation

        public void setRedirectLocation​(String redirectLocation)
        Sets the optional redirect location for the newly copied object.
        Parameters:
        redirectLocation - The redirect location for the newly copied object.
      • getRedirectLocation

        public String getRedirectLocation()
        Gets the optional redirect location for the newly copied object.
      • withRedirectLocation

        public CopyObjectRequest withRedirectLocation​(String redirectLocation)
        Sets the optional redirect location for the newly copied object.Returns this CopyObjectRequest, enabling additional method calls to be chained together.
        Parameters:
        redirectLocation - The redirect location for the newly copied object.
      • getSourceSSECustomerKey

        public SSECustomerKey getSourceSSECustomerKey()
        Returns the optional customer-provided server-side encryption key to use to decrypt the source object being copied.
        Returns:
        The optional customer-provided server-side encryption key to use to decrypt the source object being copied.
      • setSourceSSECustomerKey

        public void setSourceSSECustomerKey​(SSECustomerKey sseKey)
        Sets the optional customer-provided server-side encryption key to use to decrypt the source object being copied.
        Parameters:
        sseKey - The optional customer-provided server-side encryption key to use to decrypt the source object being copied.
      • withSourceSSECustomerKey

        public CopyObjectRequest withSourceSSECustomerKey​(SSECustomerKey sseKey)
        Sets the optional customer-provided server-side encryption key to use to decrypt the source object being copied, and returns the updated request object so that additional method calls can be chained together.
        Parameters:
        sseKey - The optional customer-provided server-side encryption key to use to decrypt the source object being copied.
        Returns:
        This updated request object so that additional method calls can be chained together.
      • getDestinationSSECustomerKey

        public SSECustomerKey getDestinationSSECustomerKey()
        Returns the optional customer-provided server-side encryption key to use to encrypt the destination object being copied.
        Returns:
        The optional customer-provided server-side encryption key to use to encrypt the destination object being copied.
      • setDestinationSSECustomerKey

        public void setDestinationSSECustomerKey​(SSECustomerKey sseKey)
        Sets the optional customer-provided server-side encryption key to use to encrypt the destination object being copied.
        Parameters:
        sseKey - The optional customer-provided server-side encryption key to use to encrypt the destination object being copied.
      • withDestinationSSECustomerKey

        public CopyObjectRequest withDestinationSSECustomerKey​(SSECustomerKey sseKey)
        Sets the optional customer-provided server-side encryption key to use to encrypt the destination object being copied, and returns the updated request object so that additional method calls can be chained together.
        Parameters:
        sseKey - The optional customer-provided server-side encryption key to use to encrypt the destination object being copied.
        Returns:
        This updated request object so that additional method calls can be chained together.
      • setSSEAwsKeyManagementParams

        public void setSSEAwsKeyManagementParams​(SSEAwsKeyManagementParams params)
        Sets the AWS Key Management System parameters used to encrypt the object on server side.
      • withSSEAwsKeyManagementParams

        public CopyObjectRequest withSSEAwsKeyManagementParams​(SSEAwsKeyManagementParams sseAwsKeyManagementParams)
        Sets the AWS Key Management System parameters used to encrypt the object on server side.
        Returns:
        returns the update CopyObjectRequest
      • isRequesterPays

        public boolean isRequesterPays()
        Returns true if the user has enabled Requester Pays option when conducting this operation from Requester Pays Bucket; else false.

        If a bucket is enabled for Requester Pays, then any attempt to upload or download an object from it without Requester Pays enabled will result in a 403 error and the bucket owner will be charged for the request.

        Enabling Requester Pays disables the ability to have anonymous access to this bucket

        Returns:
        true if the user has enabled Requester Pays option for conducting this operation from Requester Pays Bucket.
      • setRequesterPays

        public void setRequesterPays​(boolean isRequesterPays)
        Used for conducting this operation from a Requester Pays Bucket. If set the requester is charged for requests from the bucket.

        If a bucket is enabled for Requester Pays, then any attempt to upload or download an object from it without Requester Pays enabled will result in a 403 error and the bucket owner will be charged for the request.

        Enabling Requester Pays disables the ability to have anonymous access to this bucket.

        Parameters:
        isRequesterPays - Enable Requester Pays option for the operation.
      • withRequesterPays

        public CopyObjectRequest withRequesterPays​(boolean isRequesterPays)
        Used for conducting this operation from a Requester Pays Bucket. If set the requester is charged for requests from the bucket. It returns this updated CopyObjectRequest object so that additional method calls can be chained together.

        If a bucket is enabled for Requester Pays, then any attempt to upload or download an object from it without Requester Pays enabled will result in a 403 error and the bucket owner will be charged for the request.

        Enabling Requester Pays disables the ability to have anonymous access to this bucket.

        Parameters:
        isRequesterPays - Enable Requester Pays option for the operation.
        Returns:
        The updated CopyObjectRequest object.