Class S3ClientConnector

  • All Implemented Interfaces:
    com.ksc.mission.base.interfaces.IFollow, com.ksc.mission.base.interfaces.ILog, com.ksc.mission.base.interfaces.Initializable<com.ksc.mission.base.relatedobjects.IOwnedService>, com.ksc.mission.base.interfaces.IOwned<com.ksc.mission.base.relatedobjects.IOwnedService,​com.ksc.mission.base.relatedobjects.OwningContainer>, com.ksc.mission.base.interfaces.IOwnedN<com.ksc.mission.base.relatedobjects.IOwnedService,​com.ksc.mission.base.relatedobjects.OwningContainer>, com.ksc.mission.base.interfaces.IOwner, com.ksc.mission.base.interfaces.ISave, com.ksc.mission.base.interfaces.ISend, com.ksc.mission.base.relatedobjects.IOwnedService, java.io.Serializable

    public class S3ClientConnector
    extends com.ksc.mission.base.relatedobjects.OwnedService
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.lang.String bucketName  
      protected com.amazonaws.services.s3.AmazonS3 s3Client  
      protected java.lang.String s3Type  
      • Fields inherited from class com.ksc.mission.base.relatedobjects.OwnedObject

        id, owningCollection
    • Constructor Summary

      Constructors 
      Constructor Description
      S3ClientConnector​(com.amazonaws.services.s3.AmazonS3 s3Client, java.lang.String s3Type, java.lang.String bucketName, boolean versioning)  
      S3ClientConnector​(S3Properties properties)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static com.amazonaws.services.s3.AmazonS3 amazonS3Client​(S3Properties properties)  
      static com.amazonaws.services.s3.AmazonS3 amazonS3ClientFor​(java.lang.String endpoint, java.lang.String region, com.amazonaws.auth.AWSCredentials credentialsProvider)  
      void createBucket​(java.lang.String bucketName)  
      void createOrReplaceObject​(java.lang.String key, com.ksc.mission.base.interfaces.IS3InputStream s3InputStream)  
      void createOrReplaceObject​(java.lang.String key, com.ksc.mission.base.interfaces.IS3InputStream s3InputStream, boolean wait)  
      void createOrReplaceObject​(java.lang.String key, java.io.File file)  
      void createOrReplaceObject​(java.lang.String key, java.io.InputStream inputStream, long size, boolean wait)  
      void createOrReplaceObject​(java.lang.String key, java.lang.String contents)  
      static com.amazonaws.services.s3.AmazonS3 defaultS3Client​(S3Properties properties)  
      void deleteAllObjects()  
      void deleteAllObjects​(java.util.function.Supplier<java.util.stream.Stream<com.amazonaws.services.s3.model.S3ObjectSummary>> streamSupplier)  
      void deleteAllObjects​(java.util.List<java.lang.String> keys)  
      void deleteAllWithPattern​(java.lang.String includePattern, java.lang.String excludePattern)  
      void deleteAllWithPrefix​(java.lang.String prefix, java.lang.String excludePattern)  
      void deleteBucket​(java.lang.String bucketName)  
      void deleteObject​(java.lang.String key)  
      void deleteObjectVersion​(java.lang.String key, java.lang.String version)  
      boolean doesBucketExist​(java.lang.String bucketName)  
      boolean exists​(java.lang.String key)  
      static S3ClientConnector forBucket​(S3Properties properties, java.lang.String bucketName, boolean versioning)  
      static S3ClientConnector forBucket​(java.lang.String environment, java.lang.String bucketName, boolean versioning)  
      static S3ClientConnector from​(java.lang.String environment)  
      com.amazonaws.services.s3.model.S3Object getObject​(java.lang.String key)  
      com.amazonaws.services.s3.model.S3Object getObject​(java.lang.String key, java.lang.String versionId)  
      com.amazonaws.services.s3.model.ObjectMetadata getObjectMetadata​(java.lang.String key, java.lang.String versionId)  
      boolean getRange​(com.amazonaws.services.s3.model.GetObjectRequest request, int[] buffer)  
      boolean getRange​(java.lang.String file, long position, int[] buffer)  
      boolean getRange​(java.lang.String file, java.lang.String versionId, long position, int[] buffer)  
      com.amazonaws.services.s3.transfer.TransferManager getTransferManager()  
      java.util.Date getUtcTime()  
      java.lang.String getVersionId​(java.lang.String key)  
      java.util.List<com.amazonaws.services.s3.model.S3VersionSummary> listVersions​(java.lang.String prefix)  
      java.io.InputStreamReader openInputStreamReader​(java.lang.String key)  
      java.io.InputStreamReader openInputStreamReader​(java.lang.String key, java.lang.String versionId)  
      PositionableReadStream openPositionableReadStream​(java.lang.String key)  
      PositionableReadStream openPositionableReadStream​(java.lang.String key, long position)  
      PositionableReadStream openPositionableReadStream​(java.lang.String key, com.amazonaws.services.s3.model.ObjectMetadata metadata, long position)  
      PositionableReadStream openPositionableReadStream​(java.lang.String key, java.lang.String versionId)  
      PositionableReadStream openPositionableReadStream​(java.lang.String key, java.lang.String versionId, long position)  
      void setBucketVersioning​(boolean versioning)  
      void start()  
      java.util.stream.Stream<com.amazonaws.services.s3.model.S3ObjectSummary> stream()  
      java.util.List<com.amazonaws.services.s3.model.S3VersionSummary> streamVersionsWithPattern​(java.lang.String pattern)  
      java.util.stream.Stream<com.amazonaws.services.s3.model.S3ObjectSummary> streamWithPattern​(java.lang.String pattern)  
      java.util.stream.Stream<com.amazonaws.services.s3.model.S3ObjectSummary> streamWithPrefix​(java.lang.String prefix)  
      protected java.util.stream.Stream<java.lang.String> urlEncoded​(java.util.stream.Stream<java.lang.String> stream)  
      • Methods inherited from class com.ksc.mission.base.relatedobjects.OwnedService

        loadClassFromJar
      • Methods inherited from class com.ksc.mission.base.relatedobjects.OwnedObject

        _nextId, delete, exists, getDescription, getHighestUnsavedOwner, getId, getOwner, getOwningCollection, getPublisherId, getRoot, hasBeenSaved, initializeFromObjects, initializeFromStrings, isRoot, save, setId, setOwningCollection, toString
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface com.ksc.mission.base.interfaces.IFollow

        listen, listen, stopListening, stopListening, subscribe, subscribe, unsubscribe, unsubscribe
      • Methods inherited from interface com.ksc.mission.base.interfaces.ILog

        logDebug, logError, logError, logInfo, logWarn
      • Methods inherited from interface com.ksc.mission.base.interfaces.Initializable

        initializeFromObjects, initializeFromStrings
      • Methods inherited from interface com.ksc.mission.base.interfaces.IOwned

        exists, getDescription, getHighestUnsavedOwner, getId, getLocatorPath, getMessageHub, hasBeenSaved, setId, toString
      • Methods inherited from interface com.ksc.mission.base.interfaces.IOwnedN

        delete, getOwner, getOwningCollection, save, setOwningCollection
      • Methods inherited from interface com.ksc.mission.base.relatedobjects.IOwnedService

        isLogger, isScheduleConnector
      • Methods inherited from interface com.ksc.mission.base.interfaces.IOwner

        getRoot, isRoot
      • Methods inherited from interface com.ksc.mission.base.interfaces.ISend

        getPublisherId, publish, publish, send, send
    • Field Detail

      • s3Client

        protected final transient com.amazonaws.services.s3.AmazonS3 s3Client
      • s3Type

        protected final java.lang.String s3Type
      • bucketName

        protected final java.lang.String bucketName
    • Constructor Detail

      • S3ClientConnector

        public S3ClientConnector​(S3Properties properties)
      • S3ClientConnector

        public S3ClientConnector​(com.amazonaws.services.s3.AmazonS3 s3Client,
                                 java.lang.String s3Type,
                                 java.lang.String bucketName,
                                 boolean versioning)
    • Method Detail

      • defaultS3Client

        public static com.amazonaws.services.s3.AmazonS3 defaultS3Client​(S3Properties properties)
      • amazonS3Client

        public static com.amazonaws.services.s3.AmazonS3 amazonS3Client​(S3Properties properties)
      • amazonS3ClientFor

        public static com.amazonaws.services.s3.AmazonS3 amazonS3ClientFor​(java.lang.String endpoint,
                                                                           java.lang.String region,
                                                                           com.amazonaws.auth.AWSCredentials credentialsProvider)
      • forBucket

        public static S3ClientConnector forBucket​(java.lang.String environment,
                                                  java.lang.String bucketName,
                                                  boolean versioning)
      • start

        public void start()
      • setBucketVersioning

        public void setBucketVersioning​(boolean versioning)
      • getUtcTime

        public java.util.Date getUtcTime()
      • deleteAllObjects

        public void deleteAllObjects()
      • deleteAllWithPrefix

        public void deleteAllWithPrefix​(java.lang.String prefix,
                                        java.lang.String excludePattern)
      • deleteAllWithPattern

        public void deleteAllWithPattern​(java.lang.String includePattern,
                                         java.lang.String excludePattern)
      • deleteAllObjects

        public void deleteAllObjects​(java.util.function.Supplier<java.util.stream.Stream<com.amazonaws.services.s3.model.S3ObjectSummary>> streamSupplier)
      • urlEncoded

        protected java.util.stream.Stream<java.lang.String> urlEncoded​(java.util.stream.Stream<java.lang.String> stream)
      • deleteAllObjects

        public void deleteAllObjects​(java.util.List<java.lang.String> keys)
      • deleteObject

        public void deleteObject​(java.lang.String key)
      • deleteObjectVersion

        public void deleteObjectVersion​(java.lang.String key,
                                        java.lang.String version)
      • createOrReplaceObject

        public void createOrReplaceObject​(java.lang.String key,
                                          java.lang.String contents)
      • getTransferManager

        public com.amazonaws.services.s3.transfer.TransferManager getTransferManager()
      • createOrReplaceObject

        public void createOrReplaceObject​(java.lang.String key,
                                          com.ksc.mission.base.interfaces.IS3InputStream s3InputStream)
      • createOrReplaceObject

        public void createOrReplaceObject​(java.lang.String key,
                                          com.ksc.mission.base.interfaces.IS3InputStream s3InputStream,
                                          boolean wait)
      • createOrReplaceObject

        public void createOrReplaceObject​(java.lang.String key,
                                          java.io.InputStream inputStream,
                                          long size,
                                          boolean wait)
      • getObject

        public com.amazonaws.services.s3.model.S3Object getObject​(java.lang.String key)
      • getObject

        public com.amazonaws.services.s3.model.S3Object getObject​(java.lang.String key,
                                                                  java.lang.String versionId)
      • createBucket

        public void createBucket​(java.lang.String bucketName)
      • deleteBucket

        public void deleteBucket​(java.lang.String bucketName)
      • createOrReplaceObject

        public void createOrReplaceObject​(java.lang.String key,
                                          java.io.File file)
      • doesBucketExist

        public boolean doesBucketExist​(java.lang.String bucketName)
      • exists

        public boolean exists​(java.lang.String key)
      • streamWithPrefix

        public java.util.stream.Stream<com.amazonaws.services.s3.model.S3ObjectSummary> streamWithPrefix​(java.lang.String prefix)
      • streamWithPattern

        public java.util.stream.Stream<com.amazonaws.services.s3.model.S3ObjectSummary> streamWithPattern​(java.lang.String pattern)
      • stream

        public java.util.stream.Stream<com.amazonaws.services.s3.model.S3ObjectSummary> stream()
      • listVersions

        public java.util.List<com.amazonaws.services.s3.model.S3VersionSummary> listVersions​(java.lang.String prefix)
      • streamVersionsWithPattern

        public java.util.List<com.amazonaws.services.s3.model.S3VersionSummary> streamVersionsWithPattern​(java.lang.String pattern)
      • openInputStreamReader

        public java.io.InputStreamReader openInputStreamReader​(java.lang.String key)
      • openInputStreamReader

        public java.io.InputStreamReader openInputStreamReader​(java.lang.String key,
                                                               java.lang.String versionId)
      • openPositionableReadStream

        public PositionableReadStream openPositionableReadStream​(java.lang.String key)
      • openPositionableReadStream

        public PositionableReadStream openPositionableReadStream​(java.lang.String key,
                                                                 java.lang.String versionId)
      • openPositionableReadStream

        public PositionableReadStream openPositionableReadStream​(java.lang.String key,
                                                                 long position)
      • openPositionableReadStream

        public PositionableReadStream openPositionableReadStream​(java.lang.String key,
                                                                 java.lang.String versionId,
                                                                 long position)
      • openPositionableReadStream

        public PositionableReadStream openPositionableReadStream​(java.lang.String key,
                                                                 com.amazonaws.services.s3.model.ObjectMetadata metadata,
                                                                 long position)
      • getObjectMetadata

        public com.amazonaws.services.s3.model.ObjectMetadata getObjectMetadata​(java.lang.String key,
                                                                                java.lang.String versionId)
      • getRange

        public boolean getRange​(java.lang.String file,
                                long position,
                                int[] buffer)
      • getRange

        public boolean getRange​(java.lang.String file,
                                java.lang.String versionId,
                                long position,
                                int[] buffer)
      • getRange

        public boolean getRange​(com.amazonaws.services.s3.model.GetObjectRequest request,
                                int[] buffer)
      • getVersionId

        public java.lang.String getVersionId​(java.lang.String key)