Class ObjectService

java.lang.Object
com.adobe.testing.s3mock.service.ObjectService

public class ObjectService extends Object
  • Constructor Details

  • Method Details

    • copyS3Object

      public CopyObjectResult copyS3Object(String sourceBucketName, String sourceKey, String destinationBucketName, String destinationKey, Map<String,String> encryptionHeaders, Map<String,String> storeHeaders, Map<String,String> userMetadata, StorageClass storageClass)
      Copies an object to another bucket and encrypted object.
      Parameters:
      sourceBucketName - bucket to copy from.
      sourceKey - object key to copy.
      destinationBucketName - destination bucket.
      destinationKey - destination object key.
      userMetadata - User metadata to store for destination object
      Returns:
      an CopyObjectResult or null if source couldn't be found.
    • putS3Object

      public S3ObjectMetadata putS3Object(String bucketName, String key, String contentType, Map<String,String> storeHeaders, Path path, Map<String,String> userMetadata, Map<String,String> encryptionHeaders, List<Tag> tags, ChecksumAlgorithm checksumAlgorithm, String checksum, Owner owner, StorageClass storageClass)
      Stores an object inside a Bucket.
      Parameters:
      bucketName - Bucket to store the object in.
      key - object key to be stored.
      contentType - The files Content Type.
      storeHeaders - various headers to store
      path - The InputStream buffered in a file.
      userMetadata - User metadata to store for this object, will be available for the object with the key prefixed with "x-amz-meta-".
      Returns:
      S3ObjectMetadata.
    • deleteObjects

      public DeleteResult deleteObjects(String bucketName, Delete delete)
    • deleteObject

      public boolean deleteObject(String bucketName, String key)
      Removes an object key from a bucket.
      Parameters:
      bucketName - bucket containing the object.
      key - object to be deleted.
      Returns:
      true if deletion succeeded.
    • setObjectTags

      public void setObjectTags(String bucketName, String key, List<Tag> tags)
      Sets tags for a given object.
      Parameters:
      bucketName - Bucket the object is stored in.
      key - object key to store tags for.
      tags - List of tagSet objects.
    • setLegalHold

      public void setLegalHold(String bucketName, String key, LegalHold legalHold)
      Sets LegalHold for a given object.
      Parameters:
      bucketName - Bucket the object is stored in.
      key - object key to store tags for.
      legalHold - the legal hold.
    • setAcl

      public void setAcl(String bucketName, String key, AccessControlPolicy policy)
      Sets AccessControlPolicy for a given object.
      Parameters:
      bucketName - Bucket the object is stored in.
      key - object key to store tags for.
      policy - the ACL.
    • getAcl

      public AccessControlPolicy getAcl(String bucketName, String key)
      Retrieves AccessControlPolicy for a given object.
      Parameters:
      bucketName - Bucket the object is stored in.
      key - object key to store tags for.
    • setRetention

      public void setRetention(String bucketName, String key, Retention retention)
      Sets Retention for a given object.
      Parameters:
      bucketName - Bucket the object is stored in.
      key - object key to store tags for.
      retention - the retention.
    • verifyRetention

      public void verifyRetention(Retention retention)
    • verifyMd5

      public void verifyMd5(Path input, String contentMd5)
    • verifyMd5

      public void verifyMd5(InputStream inputStream, String contentMd5)
    • verifyObjectMatchingForCopy

      public void verifyObjectMatchingForCopy(List<String> match, List<String> noneMatch, S3ObjectMetadata s3ObjectMetadata)
      FOr copy use-cases, we need to return PRECONDITION_FAILED only.
    • verifyObjectMatching

      public void verifyObjectMatching(List<String> match, List<String> noneMatch, S3ObjectMetadata s3ObjectMetadata)
    • verifyObjectExists

      public S3ObjectMetadata verifyObjectExists(String bucketName, String key)
    • verifyObjectLockConfiguration

      public S3ObjectMetadata verifyObjectLockConfiguration(String bucketName, String key)
    • getChecksum

      public static Checksum getChecksum(S3ObjectMetadata s3ObjectMetadata)
    • verifyChecksum

      public void verifyChecksum(Path path, String checksum, ChecksumAlgorithm checksumAlgorithm)
    • toTempFile

      public org.apache.commons.lang3.tuple.Pair<Path,String> toTempFile(InputStream inputStream, org.springframework.http.HttpHeaders httpHeaders)