/**
*
*/
package com.cloud.bridge.service.core.s3;
/**
* @author Mark
*
*/
public class S3CopyObjectRequest extends S3Request {
public enum MetadataDirective { COPY, REPLACE };
protected String sourceBucketName;
protected String sourceKey;
protected String destinationBucketName;
protected String destinationKey;
protected String version;
protected MetadataDirective directive;
protected S3MetaDataEntry[] metaEntries;
protected S3AccessControlList acl;
protected String cannedAccessPolicy; // -> REST only sets an acl with a simple keyword
protected S3ConditionalHeaders conds;
public S3CopyObjectRequest() {
super();
version = null;
directive = MetadataDirective.COPY;
}
public String getSourceBucketName() {
return sourceBucketName;
}
public void setSourceBucketName(String bucketName) {
sourceBucketName = bucketName;
}
public String getDestinationBucketName() {
return destinationBucketName;
}
public void setDestinationBucketName(String bucketName) {
destinationBucketName = bucketName;
}
public String getSourceKey() {
return sourceKey;
}
public void setSourceKey(String key) {
sourceKey = key;
}
public String getDestinationKey() {
return destinationKey;
}
public void setDestinationKey(String key) {
destinationKey = key;
}
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
public MetadataDirective getDirective() {
return directive;
}
public void setDataDirective(String dataDirective) {
if (null == dataDirective) return;
if (dataDirective.equalsIgnoreCase( "COPY" )) directive = MetadataDirective.COPY;
else if (dataDirective.equalsIgnoreCase( "REPLACE" )) directive = MetadataDirective.REPLACE;
else throw new UnsupportedOperationException("Unknown Metadata Directive: " + dataDirective );
}
public S3MetaDataEntry[] getMetaEntries() {
return metaEntries;
}
public void setMetaEntries(S3MetaDataEntry[] metaEntries) {
this.metaEntries = metaEntries;
}
public S3AccessControlList getAcl() {
return acl;
}
public void setAcl(S3AccessControlList acl) {
this.acl = acl;
}
public String getCannedAccess() {
return cannedAccessPolicy;
}
public void setCannedAccess(String cannedAccessPolicy) {
this.cannedAccessPolicy = cannedAccessPolicy;
}
public void setConditions(S3ConditionalHeaders conds) {
this.conds = conds;
}
public S3ConditionalHeaders getConditions() {
return conds;
}
}