Package org.jclouds.s3.options
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 Multimapmetadata = 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)) );
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCopyObjectOptions.Builder
-
Field Summary
Fields Modifier and Type Field Description static CopyObjectOptionsNONE-
Fields inherited from class org.jclouds.http.options.BaseHttpRequestOptions
formParameters, headers, pathSuffix, payload, queryParameters
-
-
Constructor Summary
Constructors Constructor Description CopyObjectOptions()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description com.google.common.collect.Multimap<String,String>buildRequestHeaders()Builds headers representing options.CopyObjectOptionscacheControl(String cacheControl)CopyObjectOptionscontentDisposition(String contentDisposition)CopyObjectOptionscontentEncoding(String contentEncoding)CopyObjectOptionscontentLanguage(String contentLanguage)CopyObjectOptionscontentType(String contentType)CannedAccessPolicygetAcl()StringgetIfMatch()For use in the request header: x-amz-copy-source-if-matchStringgetIfModifiedSince()For use in the header x-amz-copy-source-if-unmodified-sinceStringgetIfNoneMatch()For use in the request header: x-amz-copy-source-if-none-matchStringgetIfUnmodifiedSince()For use in the header x-amz-copy-source-if-modified-sinceMap<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.CopyObjectOptionsifSourceETagDoesntMatch(String eTag)The object should not have a eTag hash corresponding with the parametereTag.CopyObjectOptionsifSourceETagMatches(String eTag)The object's eTag hash should match the parametereTag.CopyObjectOptionsifSourceModifiedSince(Date ifModifiedSince)Only return the object if it has changed since this time.CopyObjectOptionsifSourceUnmodifiedSince(Date ifUnmodifiedSince)Only return the object if it hasn't changed since this time.CopyObjectOptionsoverrideAcl(CannedAccessPolicy acl)Override the default ACL (private) with the specified one.CopyObjectOptionsoverrideMetadataWith(Map<String,String> metadata)Use the provided metadata instead of what is on the source object.voidsetHeaderTag(String headerTag)voidsetMetadataPrefix(String metadataPrefix)-
Methods inherited from class org.jclouds.http.options.BaseHttpRequestOptions
buildFormParameters, buildPathSuffix, buildQueryParameters, buildStringPayload, equals, getFirstFormOrNull, getFirstHeaderOrNull, getFirstQueryOrNull, hashCode, replaceHeader, toString
-
-
-
-
Field Detail
-
NONE
public static final CopyObjectOptions NONE
-
-
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)
-
overrideAcl
public CopyObjectOptions overrideAcl(CannedAccessPolicy acl)
Override the default ACL (private) with the specified one.- See Also:
CannedAccessPolicy
-
getAcl
public CannedAccessPolicy getAcl()
- See Also:
overrideAcl(CannedAccessPolicy)
-
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)
-
ifSourceModifiedSince
public CopyObjectOptions ifSourceModifiedSince(Date ifModifiedSince)
Only return the object if it has changed since this time. Not compatible withifSourceETagMatches(String)orifSourceUnmodifiedSince(Date)
-
ifSourceUnmodifiedSince
public CopyObjectOptions ifSourceUnmodifiedSince(Date ifUnmodifiedSince)
Only return the object if it hasn't changed since this time. Not compatible withifSourceETagDoesntMatch(String)orifSourceModifiedSince(Date)
-
ifSourceETagMatches
public CopyObjectOptions ifSourceETagMatches(String eTag)
The object's eTag hash should match the parametereTag. Not compatible withifSourceETagDoesntMatch(String)orifSourceModifiedSince(Date)- Parameters:
eTag- hash representing the payload
-
ifSourceETagDoesntMatch
public CopyObjectOptions ifSourceETagDoesntMatch(String eTag)
The object should not have a eTag hash corresponding with the parametereTag. Not compatible withifSourceETagMatches(String)orifSourceUnmodifiedSince(Date)- Parameters:
eTag- hash representing the payload
-
buildRequestHeaders
public com.google.common.collect.Multimap<String,String> buildRequestHeaders()
Description copied from class:BaseHttpRequestOptionsBuilds headers representing options.- Specified by:
buildRequestHeadersin interfaceHttpRequestOptions- Overrides:
buildRequestHeadersin classBaseHttpRequestOptions- 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.
-
-