java.lang.Object
org.refcodes.filesystem.alt.s3.S3FileSystem
- All Implemented Interfaces:
org.refcodes.component.Component
,org.refcodes.component.Destroyable
,org.refcodes.filesystem.FileSystem
A
FileSystem
implementation for S3.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.refcodes.component.Destroyable
org.refcodes.component.Destroyable.DestroyAutomaton
-
Field Summary
Fields inherited from interface org.refcodes.filesystem.FileSystem
PATH_DELIMITER
-
Constructor Summary
ConstructorDescriptionS3FileSystem
(String aBucketName, String aAccessKey, String aSecretKey) Instantiates a new s 3 file system impl.S3FileSystem
(String aBucketName, String aAccessKey, String aSecretKey, String aEndPoint) Instantiates a new s 3 file system impl. -
Method Summary
Modifier and TypeMethodDescriptionprotected static void
clearBucket
(software.amazon.awssdk.services.s3.S3Client aAmazonS3, String aBucketId) Clears (removes all content from) an S3 bucket.protected static software.amazon.awssdk.services.s3.S3Client
createAmazonS3
(String aAccessKey, String aSecretKey) Creates anS3Client
"client".static void
createBucket
(software.amazon.awssdk.services.s3.S3Client aAmazonS3, String aBucketId) Creates an S3 bucket.org.refcodes.filesystem.FileHandle
createFile
(String aKey) org.refcodes.filesystem.FileHandle
createFile
(String aPath, String aName) static void
deleteBucket
(software.amazon.awssdk.services.s3.S3Client aAmazonS3, String aBucketId) Deletes an S3 bucket.void
deleteFile
(org.refcodes.filesystem.FileHandle aFileHandle) protected static void
deleteS3Objects
(software.amazon.awssdk.services.s3.S3Client aAmazonS3, String aBucketId, List<software.amazon.awssdk.services.s3.model.S3Object> aS3SummaryObjects) Deletes the content described by the givenS3Object
list from an S3 bucket.void
destroy()
fromFile
(org.refcodes.filesystem.FileHandle aFromFileHandle) void
void
fromFile
(org.refcodes.filesystem.FileHandle aFromFileHandle, OutputStream aOutputStream) protected String
Retrieves the bucket name to be used.protected software.amazon.awssdk.services.s3.S3Client
Retrieves the amazon S3 client to be used.protected static software.amazon.awssdk.services.s3.S3Client
getAmazonS3Client
(File aConfigFile) Retrieves anS3Client
from a configuration file containing the access- and the secret key.org.refcodes.filesystem.FileHandle
getFileHandle
(String aKey) org.refcodes.filesystem.FileHandle
getFileHandle
(String aPath, String aName) List<org.refcodes.filesystem.FileHandle>
getFileHandles
(String aPath, boolean isRecursively) boolean
Checks for file.boolean
boolean
hasFile
(org.refcodes.filesystem.FileHandle aFileHandle) boolean
org.refcodes.filesystem.FileHandle
org.refcodes.filesystem.FileHandle
renameFile
(org.refcodes.filesystem.FileHandle aFileHandle, String aNewName) protected void
setAmazonS3BucketName
(String aAmazonS3BucketName) Sets the bucket name to be used.toFile
(org.refcodes.filesystem.FileHandle aToFileHandle) void
toFile
(org.refcodes.filesystem.FileHandle aFileHandle, byte[] aBuffer) void
void
toFile
(org.refcodes.filesystem.FileHandle aToFileHandle, InputStream aInputStream)
-
Constructor Details
-
S3FileSystem
Instantiates a new s 3 file system impl.- Parameters:
aBucketName
- the bucket nameaAccessKey
- the access keyaSecretKey
- the secret key
-
S3FileSystem
Instantiates a new s 3 file system impl.- Parameters:
aBucketName
- the bucket nameaAccessKey
- the access keyaSecretKey
- the secret keyaEndPoint
- the end point
-
-
Method Details
-
hasFile
public boolean hasFile(String aKey) throws org.refcodes.filesystem.IllegalKeyException, org.refcodes.filesystem.NoListAccessException, org.refcodes.filesystem.UnknownFileSystemException, IOException Checks for file.- Specified by:
hasFile
in interfaceorg.refcodes.filesystem.FileSystem
- Parameters:
aKey
- the key- Returns:
- true, if successful
- Throws:
org.refcodes.filesystem.IllegalKeyException
- the illegal key exceptionorg.refcodes.filesystem.NoListAccessException
- the no list access exceptionorg.refcodes.filesystem.UnknownFileSystemException
- the unknown file system exceptionIOException
- Signals that an I/O exception has occurred.
-
hasFile
public boolean hasFile(String aPath, String aName) throws org.refcodes.filesystem.IllegalPathException, org.refcodes.filesystem.IllegalNameException, org.refcodes.filesystem.NoListAccessException, org.refcodes.filesystem.UnknownFileSystemException, IOException - Specified by:
hasFile
in interfaceorg.refcodes.filesystem.FileSystem
- Throws:
org.refcodes.filesystem.IllegalPathException
org.refcodes.filesystem.IllegalNameException
org.refcodes.filesystem.NoListAccessException
org.refcodes.filesystem.UnknownFileSystemException
IOException
-
hasFile
public boolean hasFile(org.refcodes.filesystem.FileHandle aFileHandle) throws org.refcodes.filesystem.NoListAccessException, org.refcodes.filesystem.UnknownFileSystemException, IOException, org.refcodes.filesystem.IllegalFileHandleException - Specified by:
hasFile
in interfaceorg.refcodes.filesystem.FileSystem
- Throws:
org.refcodes.filesystem.NoListAccessException
org.refcodes.filesystem.UnknownFileSystemException
IOException
org.refcodes.filesystem.IllegalFileHandleException
-
createFile
public org.refcodes.filesystem.FileHandle createFile(String aKey) throws org.refcodes.filesystem.FileAlreadyExistsException, org.refcodes.filesystem.NoCreateAccessException, org.refcodes.filesystem.IllegalKeyException, org.refcodes.filesystem.UnknownFileSystemException, IOException, org.refcodes.filesystem.NoListAccessException - Specified by:
createFile
in interfaceorg.refcodes.filesystem.FileSystem
- Throws:
org.refcodes.filesystem.FileAlreadyExistsException
org.refcodes.filesystem.NoCreateAccessException
org.refcodes.filesystem.IllegalKeyException
org.refcodes.filesystem.UnknownFileSystemException
IOException
org.refcodes.filesystem.NoListAccessException
-
createFile
public org.refcodes.filesystem.FileHandle createFile(String aPath, String aName) throws org.refcodes.filesystem.FileAlreadyExistsException, org.refcodes.filesystem.NoCreateAccessException, org.refcodes.filesystem.IllegalNameException, org.refcodes.filesystem.IllegalPathException, org.refcodes.filesystem.UnknownFileSystemException, IOException, org.refcodes.filesystem.NoListAccessException - Specified by:
createFile
in interfaceorg.refcodes.filesystem.FileSystem
- Throws:
org.refcodes.filesystem.FileAlreadyExistsException
org.refcodes.filesystem.NoCreateAccessException
org.refcodes.filesystem.IllegalNameException
org.refcodes.filesystem.IllegalPathException
org.refcodes.filesystem.UnknownFileSystemException
IOException
org.refcodes.filesystem.NoListAccessException
-
getFileHandle
public org.refcodes.filesystem.FileHandle getFileHandle(String aKey) throws org.refcodes.filesystem.NoListAccessException, org.refcodes.filesystem.IllegalKeyException, org.refcodes.filesystem.UnknownFileSystemException, IOException, org.refcodes.filesystem.UnknownKeyException - Specified by:
getFileHandle
in interfaceorg.refcodes.filesystem.FileSystem
- Throws:
org.refcodes.filesystem.NoListAccessException
org.refcodes.filesystem.IllegalKeyException
org.refcodes.filesystem.UnknownFileSystemException
IOException
org.refcodes.filesystem.UnknownKeyException
-
getFileHandle
public org.refcodes.filesystem.FileHandle getFileHandle(String aPath, String aName) throws org.refcodes.filesystem.NoListAccessException, org.refcodes.filesystem.IllegalNameException, org.refcodes.filesystem.IllegalPathException, org.refcodes.filesystem.UnknownFileSystemException, IOException, org.refcodes.filesystem.UnknownKeyException - Specified by:
getFileHandle
in interfaceorg.refcodes.filesystem.FileSystem
- Throws:
org.refcodes.filesystem.NoListAccessException
org.refcodes.filesystem.IllegalNameException
org.refcodes.filesystem.IllegalPathException
org.refcodes.filesystem.UnknownFileSystemException
IOException
org.refcodes.filesystem.UnknownKeyException
-
fromFile
public void fromFile(org.refcodes.filesystem.FileHandle aFromFileHandle, OutputStream aOutputStream) throws org.refcodes.filesystem.ConcurrentAccessException, org.refcodes.filesystem.UnknownFileException, org.refcodes.filesystem.NoReadAccessException, org.refcodes.filesystem.UnknownFileSystemException, IOException, org.refcodes.filesystem.NoListAccessException, org.refcodes.filesystem.IllegalFileHandleException - Specified by:
fromFile
in interfaceorg.refcodes.filesystem.FileSystem
- Throws:
org.refcodes.filesystem.ConcurrentAccessException
org.refcodes.filesystem.UnknownFileException
org.refcodes.filesystem.NoReadAccessException
org.refcodes.filesystem.UnknownFileSystemException
IOException
org.refcodes.filesystem.NoListAccessException
org.refcodes.filesystem.IllegalFileHandleException
-
toFile
public void toFile(org.refcodes.filesystem.FileHandle aToFileHandle, InputStream aInputStream) throws org.refcodes.filesystem.ConcurrentAccessException, org.refcodes.filesystem.UnknownFileException, org.refcodes.filesystem.NoWriteAccessException, org.refcodes.filesystem.UnknownFileSystemException, IOException, org.refcodes.filesystem.NoListAccessException, org.refcodes.filesystem.IllegalFileHandleException - Specified by:
toFile
in interfaceorg.refcodes.filesystem.FileSystem
- Throws:
org.refcodes.filesystem.ConcurrentAccessException
org.refcodes.filesystem.UnknownFileException
org.refcodes.filesystem.NoWriteAccessException
org.refcodes.filesystem.UnknownFileSystemException
IOException
org.refcodes.filesystem.NoListAccessException
org.refcodes.filesystem.IllegalFileHandleException
-
fromFile
public InputStream fromFile(org.refcodes.filesystem.FileHandle aFromFileHandle) throws org.refcodes.filesystem.ConcurrentAccessException, org.refcodes.filesystem.UnknownFileException, org.refcodes.filesystem.UnknownFileException, org.refcodes.filesystem.NoReadAccessException, org.refcodes.filesystem.UnknownFileSystemException, IOException, org.refcodes.filesystem.NoListAccessException, org.refcodes.filesystem.IllegalFileHandleException - Specified by:
fromFile
in interfaceorg.refcodes.filesystem.FileSystem
- Throws:
org.refcodes.filesystem.ConcurrentAccessException
org.refcodes.filesystem.UnknownFileException
org.refcodes.filesystem.UnknownFileException
org.refcodes.filesystem.NoReadAccessException
org.refcodes.filesystem.UnknownFileSystemException
IOException
org.refcodes.filesystem.NoListAccessException
org.refcodes.filesystem.IllegalFileHandleException
-
toFile
public OutputStream toFile(org.refcodes.filesystem.FileHandle aToFileHandle) throws org.refcodes.filesystem.ConcurrentAccessException, org.refcodes.filesystem.UnknownFileException, org.refcodes.filesystem.NoWriteAccessException, org.refcodes.filesystem.UnknownFileSystemException, IOException, org.refcodes.filesystem.IllegalFileHandleException - Specified by:
toFile
in interfaceorg.refcodes.filesystem.FileSystem
- Throws:
org.refcodes.filesystem.ConcurrentAccessException
org.refcodes.filesystem.UnknownFileException
org.refcodes.filesystem.NoWriteAccessException
org.refcodes.filesystem.UnknownFileSystemException
IOException
org.refcodes.filesystem.IllegalFileHandleException
-
fromFile
public void fromFile(org.refcodes.filesystem.FileHandle aFileHandle, File aToFile) throws org.refcodes.filesystem.ConcurrentAccessException, org.refcodes.filesystem.UnknownFileException, org.refcodes.filesystem.NoReadAccessException, org.refcodes.filesystem.UnknownFileSystemException, IOException, org.refcodes.filesystem.NoListAccessException, org.refcodes.filesystem.IllegalFileHandleException - Specified by:
fromFile
in interfaceorg.refcodes.filesystem.FileSystem
- Throws:
org.refcodes.filesystem.ConcurrentAccessException
org.refcodes.filesystem.UnknownFileException
org.refcodes.filesystem.NoReadAccessException
org.refcodes.filesystem.UnknownFileSystemException
IOException
org.refcodes.filesystem.NoListAccessException
org.refcodes.filesystem.IllegalFileHandleException
-
toFile
public void toFile(org.refcodes.filesystem.FileHandle aFileHandle, File aFile) throws org.refcodes.filesystem.ConcurrentAccessException, org.refcodes.filesystem.UnknownFileException, org.refcodes.filesystem.NoWriteAccessException, org.refcodes.filesystem.UnknownFileSystemException, IOException, org.refcodes.filesystem.NoListAccessException, org.refcodes.filesystem.IllegalFileHandleException - Specified by:
toFile
in interfaceorg.refcodes.filesystem.FileSystem
- Throws:
org.refcodes.filesystem.ConcurrentAccessException
org.refcodes.filesystem.UnknownFileException
org.refcodes.filesystem.NoWriteAccessException
org.refcodes.filesystem.UnknownFileSystemException
IOException
org.refcodes.filesystem.NoListAccessException
org.refcodes.filesystem.IllegalFileHandleException
-
toFile
public void toFile(org.refcodes.filesystem.FileHandle aFileHandle, byte[] aBuffer) throws org.refcodes.filesystem.ConcurrentAccessException, org.refcodes.filesystem.UnknownFileException, org.refcodes.filesystem.NoWriteAccessException, org.refcodes.filesystem.UnknownFileSystemException, IOException, org.refcodes.filesystem.NoListAccessException, org.refcodes.filesystem.IllegalFileHandleException - Specified by:
toFile
in interfaceorg.refcodes.filesystem.FileSystem
- Throws:
org.refcodes.filesystem.ConcurrentAccessException
org.refcodes.filesystem.UnknownFileException
org.refcodes.filesystem.NoWriteAccessException
org.refcodes.filesystem.UnknownFileSystemException
IOException
org.refcodes.filesystem.NoListAccessException
org.refcodes.filesystem.IllegalFileHandleException
-
renameFile
public org.refcodes.filesystem.FileHandle renameFile(org.refcodes.filesystem.FileHandle aFileHandle, String aNewName) throws org.refcodes.filesystem.UnknownFileException, org.refcodes.filesystem.ConcurrentAccessException, org.refcodes.filesystem.FileAlreadyExistsException, org.refcodes.filesystem.NoCreateAccessException, org.refcodes.filesystem.NoDeleteAccessException, org.refcodes.filesystem.IllegalNameException, org.refcodes.filesystem.UnknownFileSystemException, IOException, org.refcodes.filesystem.NoListAccessException, org.refcodes.filesystem.IllegalFileHandleException - Specified by:
renameFile
in interfaceorg.refcodes.filesystem.FileSystem
- Throws:
org.refcodes.filesystem.UnknownFileException
org.refcodes.filesystem.ConcurrentAccessException
org.refcodes.filesystem.FileAlreadyExistsException
org.refcodes.filesystem.NoCreateAccessException
org.refcodes.filesystem.NoDeleteAccessException
org.refcodes.filesystem.IllegalNameException
org.refcodes.filesystem.UnknownFileSystemException
IOException
org.refcodes.filesystem.NoListAccessException
org.refcodes.filesystem.IllegalFileHandleException
-
moveFile
public org.refcodes.filesystem.FileHandle moveFile(org.refcodes.filesystem.FileHandle aFileHandle, String aNewKey) throws org.refcodes.filesystem.UnknownFileException, org.refcodes.filesystem.ConcurrentAccessException, org.refcodes.filesystem.FileAlreadyExistsException, org.refcodes.filesystem.NoCreateAccessException, org.refcodes.filesystem.NoDeleteAccessException, org.refcodes.filesystem.IllegalKeyException, org.refcodes.filesystem.UnknownFileSystemException, IOException, org.refcodes.filesystem.NoListAccessException, org.refcodes.filesystem.IllegalFileHandleException - Specified by:
moveFile
in interfaceorg.refcodes.filesystem.FileSystem
- Throws:
org.refcodes.filesystem.UnknownFileException
org.refcodes.filesystem.ConcurrentAccessException
org.refcodes.filesystem.FileAlreadyExistsException
org.refcodes.filesystem.NoCreateAccessException
org.refcodes.filesystem.NoDeleteAccessException
org.refcodes.filesystem.IllegalKeyException
org.refcodes.filesystem.UnknownFileSystemException
IOException
org.refcodes.filesystem.NoListAccessException
org.refcodes.filesystem.IllegalFileHandleException
-
deleteFile
public void deleteFile(org.refcodes.filesystem.FileHandle aFileHandle) throws org.refcodes.filesystem.ConcurrentAccessException, org.refcodes.filesystem.UnknownFileException, org.refcodes.filesystem.NoDeleteAccessException, org.refcodes.filesystem.UnknownFileSystemException, IOException, org.refcodes.filesystem.NoListAccessException, org.refcodes.filesystem.IllegalFileHandleException - Specified by:
deleteFile
in interfaceorg.refcodes.filesystem.FileSystem
- Throws:
org.refcodes.filesystem.ConcurrentAccessException
org.refcodes.filesystem.UnknownFileException
org.refcodes.filesystem.NoDeleteAccessException
org.refcodes.filesystem.UnknownFileSystemException
IOException
org.refcodes.filesystem.NoListAccessException
org.refcodes.filesystem.IllegalFileHandleException
-
hasFiles
public boolean hasFiles(String aPath, boolean isRecursively) throws org.refcodes.filesystem.NoListAccessException, org.refcodes.filesystem.IllegalPathException, org.refcodes.filesystem.UnknownFileSystemException, IOException - Specified by:
hasFiles
in interfaceorg.refcodes.filesystem.FileSystem
- Throws:
org.refcodes.filesystem.NoListAccessException
org.refcodes.filesystem.IllegalPathException
org.refcodes.filesystem.UnknownFileSystemException
IOException
-
getFileHandles
public List<org.refcodes.filesystem.FileHandle> getFileHandles(String aPath, boolean isRecursively) throws org.refcodes.filesystem.NoListAccessException, org.refcodes.filesystem.UnknownPathException, org.refcodes.filesystem.IllegalPathException, org.refcodes.filesystem.UnknownFileSystemException, IOException - Specified by:
getFileHandles
in interfaceorg.refcodes.filesystem.FileSystem
- Throws:
org.refcodes.filesystem.NoListAccessException
org.refcodes.filesystem.UnknownPathException
org.refcodes.filesystem.IllegalPathException
org.refcodes.filesystem.UnknownFileSystemException
IOException
-
destroy
public void destroy()- Specified by:
destroy
in interfaceorg.refcodes.component.Destroyable
-
getAmazonS3BucketName
Retrieves the bucket name to be used.- Returns:
- The bucket name.
-
setAmazonS3BucketName
Sets the bucket name to be used.- Parameters:
aAmazonS3BucketName
- The bucket name to be used.
-
getAmazonS3Client
protected software.amazon.awssdk.services.s3.S3Client getAmazonS3Client()Retrieves the amazon S3 client to be used.- Returns:
- The S3 client to be used.
-
createBucket
public static void createBucket(software.amazon.awssdk.services.s3.S3Client aAmazonS3, String aBucketId) Creates an S3 bucket.- Parameters:
aAmazonS3
- TheS3Client
client.aBucketId
- The TID of the bucket to be created.
-
clearBucket
protected static void clearBucket(software.amazon.awssdk.services.s3.S3Client aAmazonS3, String aBucketId) Clears (removes all content from) an S3 bucket.- Parameters:
aAmazonS3
- TheS3Client
client.aBucketId
- The TID of the bucket to be cleared.
-
deleteBucket
public static void deleteBucket(software.amazon.awssdk.services.s3.S3Client aAmazonS3, String aBucketId) Deletes an S3 bucket.- Parameters:
aAmazonS3
- TheS3Client
client.aBucketId
- The TID of the bucket to be deleted.
-
createAmazonS3
protected static software.amazon.awssdk.services.s3.S3Client createAmazonS3(String aAccessKey, String aSecretKey) Creates anS3Client
"client".- Parameters:
aAccessKey
- The according access key for accessing amazon AWS.aSecretKey
- The secret access key for accessing amazon AWS.- Returns:
- The client represented by an
S3Client
instance.
-
deleteS3Objects
protected static void deleteS3Objects(software.amazon.awssdk.services.s3.S3Client aAmazonS3, String aBucketId, List<software.amazon.awssdk.services.s3.model.S3Object> aS3SummaryObjects) Deletes the content described by the givenS3Object
list from an S3 bucket.- Parameters:
aAmazonS3
- TheS3Client
client.aBucketId
- The TID of the bucket from which the objects are to be deleted.aS3SummaryObjects
- TheS3Object
list describing the objects to be deleted.
-
getAmazonS3Client
protected static software.amazon.awssdk.services.s3.S3Client getAmazonS3Client(File aConfigFile) throws IOException Retrieves anS3Client
from a configuration file containing the access- and the secret key.- Parameters:
aConfigFile
- The configuration file used to configure theS3Client
.- Returns:
- An
S3Client
. - Throws:
IOException
- In case there were problems reading the configuration file.
-