Class CopyObjectOptions

java.lang.Object
org.jclouds.http.options.BaseHttpRequestOptions
org.jclouds.s3.options.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

Multimapinvalid input: '<'String,String> 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. Futureinvalid input: '<'S3Object.Metadata> object = connection.copyObject("sourceBucket", "objectName", "destinationBucket", "destinationName", overrideMetadataWith(meta). ifSourceModifiedSince(new Date().minusDays(1)) );

  • Field Details

  • Constructor Details

    • CopyObjectOptions

      public CopyObjectOptions()
  • Method Details

    • setMetadataPrefix

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

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

      public CopyObjectOptions overrideAcl(CannedAccessPolicy acl)
      Override the default ACL (private) with the specified one.
      See Also:
    • getAcl

      public CannedAccessPolicy getAcl()
      See Also:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
      • invalid reference
        #overrideMetadataWith(Multimap)
    • ifSourceModifiedSince

      public CopyObjectOptions ifSourceModifiedSince(Date ifModifiedSince)
      Only return the object if it has changed since this time.

      Not compatible with ifSourceETagMatches(String) or ifSourceUnmodifiedSince(Date)

    • ifSourceUnmodifiedSince

      public CopyObjectOptions ifSourceUnmodifiedSince(Date ifUnmodifiedSince)
      Only return the object if it hasn't changed since this time.

      Not compatible with ifSourceETagDoesntMatch(String) or ifSourceModifiedSince(Date)

    • ifSourceETagMatches

      public CopyObjectOptions ifSourceETagMatches(String eTag)
      The object's eTag hash should match the parameter eTag.

      Not compatible with ifSourceETagDoesntMatch(String) or ifSourceModifiedSince(Date)

      Parameters:
      eTag - hash representing the payload
    • ifSourceETagDoesntMatch

      public CopyObjectOptions ifSourceETagDoesntMatch(String eTag)
      The object should not have a eTag hash corresponding with the parameter eTag.

      Not compatible with ifSourceETagMatches(String) or ifSourceUnmodifiedSince(Date)

      Parameters:
      eTag - hash representing the payload
    • buildRequestHeaders

      public com.google.common.collect.Multimap<String,String> buildRequestHeaders()
      Description copied from class: BaseHttpRequestOptions
      Builds headers representing options.
      Specified by:
      buildRequestHeaders in interface HttpRequestOptions
      Overrides:
      buildRequestHeaders in class BaseHttpRequestOptions
      Returns:
      multimap that may contain headers.
    • cacheControl

      public CopyObjectOptions cacheControl(String cacheControl)
    • contentDisposition

      public CopyObjectOptions contentDisposition(String contentDisposition)
    • contentEncoding

      public CopyObjectOptions contentEncoding(String contentEncoding)
    • contentLanguage

      public CopyObjectOptions contentLanguage(String contentLanguage)
    • contentType

      public CopyObjectOptions contentType(String contentType)
    • overrideMetadataWith

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