Class CopyObjectOptions

  • All Implemented Interfaces:
    HttpRequestOptions

    public class CopyObjectOptions
    extends BaseHttpRequestOptions
    Contains options supported in the REST API for the COPY object operation.

    Usage

    The recommended way to instantiate a CopyObjectOptions object is to statically import CopyObjectOptions.Builder.* and invoke a static creation method followed by an instance mutator (if needed):

    import static org.jclouds.s3.commands.options.CopyObjectOptions.Builder.*

    S3Client connection = // get connection

    Multimap metadata = LinkedHashMultimap.create(); metadata.put("x-amz-meta-adrian", "foo");

    // this will copy the object, provided it wasn't modified since yesterday. // it will not use metadata from the source, and instead use what we pass in. Future object = connection.copyObject("sourceBucket", "objectName", "destinationBucket", "destinationName", overrideMetadataWith(meta). ifSourceModifiedSince(new Date().minusDays(1)) );

    • Constructor Detail

      • CopyObjectOptions

        public CopyObjectOptions()
    • Method Detail

      • setMetadataPrefix

        @Inject
        public void setMetadataPrefix​(@Named("jclouds.blobstore.metaprefix")
                                      String metadataPrefix)
      • setHeaderTag

        @Inject
        public void setHeaderTag​(@Named("jclouds.aws.header.tag")
                                 String headerTag)
      • getIfModifiedSince

        public String getIfModifiedSince()
        For use in the header x-amz-copy-source-if-unmodified-since

        Copies the object if it hasn't been modified since the specified time; otherwise returns a 412 (precondition failed).

        This header can be used with x-amz-copy-source-if-match, but cannot be used with other conditional copy headers.

        Returns:
        valid HTTP date
        See Also:
        ifSourceModifiedSince(Date)
      • getIfUnmodifiedSince

        public String getIfUnmodifiedSince()
        For use in the header x-amz-copy-source-if-modified-since

        Copies the object if it has been modified since the specified time; otherwise returns a 412 (failed condition).

        This header can be used with x-amz-copy-source-if-none-match, but cannot be used with other conditional copy headers.

        Returns:
        valid HTTP date
        See Also:
        ifSourceUnmodifiedSince(Date)
      • getIfMatch

        public String getIfMatch()
        For use in the request header: x-amz-copy-source-if-match

        Copies the object if its payload tag (ETag) matches the specified tag; otherwise return a 412 (precondition failed).

        This header can be used with x-amz-copy-source-if-unmodified-since, but cannot be used with other conditional copy headers.

        See Also:
        ifSourceETagMatches(String)
      • getIfNoneMatch

        public String getIfNoneMatch()
        For use in the request header: x-amz-copy-source-if-none-match

        Copies the object if its payload tag (ETag) is different than the specified Etag; otherwise returns a 412 (failed condition).

        This header can be used with x-amz-copy-source-if-modified-since, but cannot be used with other conditional copy headers.

        See Also:
        ifSourceETagDoesntMatch(String)
      • getMetadata

        public Map<String,​String> getMetadata()
        When not null, contains the header [x-amz-copy-source-if-unmodified-since] -> [REPLACE] and metadata headers passed in from the users.
        See Also:
        #overrideMetadataWith(Multimap)
      • overrideMetadataWith

        public CopyObjectOptions overrideMetadataWith​(Map<String,​String> metadata)
        Use the provided metadata instead of what is on the source object.