Class AwsS3ObjectStorageEntry

java.lang.Object
io.micronaut.objectstorage.aws.AwsS3ObjectStorageEntry
All Implemented Interfaces:
ObjectStorageEntry<software.amazon.awssdk.services.s3.model.GetObjectResponse>

public class AwsS3ObjectStorageEntry extends Object implements ObjectStorageEntry<software.amazon.awssdk.services.s3.model.GetObjectResponse>
An ObjectStorageEntry implementation for AWS S3.
Since:
1.0
Author:
Pavol Gressa
  • Constructor Details

    • AwsS3ObjectStorageEntry

      public AwsS3ObjectStorageEntry(@NonNull @NonNull String key, @NonNull @NonNull software.amazon.awssdk.core.ResponseInputStream<software.amazon.awssdk.services.s3.model.GetObjectResponse> responseInputStream)
  • Method Details

    • getKey

      @NonNull public @NonNull String getKey()
      Description copied from interface: ObjectStorageEntry
      The object path on object storage. For example /path/to
      Specified by:
      getKey in interface ObjectStorageEntry<software.amazon.awssdk.services.s3.model.GetObjectResponse>
      Returns:
      object path or empty string if the object is placed at the root of bucket
    • getInputStream

      @NonNull public @NonNull InputStream getInputStream()
      Specified by:
      getInputStream in interface ObjectStorageEntry<software.amazon.awssdk.services.s3.model.GetObjectResponse>
      Returns:
      The object content.
    • getNativeEntry

      @NonNull public @NonNull software.amazon.awssdk.services.s3.model.GetObjectResponse getNativeEntry()
      Specified by:
      getNativeEntry in interface ObjectStorageEntry<software.amazon.awssdk.services.s3.model.GetObjectResponse>
      Returns:
      The underlying cloud vendor-specific response object.
    • getMetadata

      @NonNull public @NonNull Map<String,String> getMetadata()
      Specified by:
      getMetadata in interface ObjectStorageEntry<software.amazon.awssdk.services.s3.model.GetObjectResponse>
      Returns:
      a map with key-value pairs that were stored along the file. An empty map by default.
    • getContentType

      @NonNull public @NonNull Optional<String> getContentType()
      Specified by:
      getContentType in interface ObjectStorageEntry<software.amazon.awssdk.services.s3.model.GetObjectResponse>
      Returns:
      the MIME type of the entry.