- java.lang.Object
-
- org.refcodes.filesystem.alt.s3.S3FileSystem
-
- All Implemented Interfaces:
org.refcodes.component.Component,org.refcodes.component.Destroyable,org.refcodes.filesystem.FileSystem
public class S3FileSystem extends Object implements org.refcodes.filesystem.FileSystem
AFileSystemimplementation for S3.
-
-
Constructor Summary
Constructors Constructor Description S3FileSystem(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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static voidclearBucket(software.amazon.awssdk.services.s3.S3Client aAmazonS3, String aBucketId)Clears (removes all content from) an S3 bucket.protected static software.amazon.awssdk.services.s3.S3ClientcreateAmazonS3(String aAccessKey, String aSecretKey)Creates anS3Client"client".static voidcreateBucket(software.amazon.awssdk.services.s3.S3Client aAmazonS3, String aBucketId)Creates an S3 bucket.org.refcodes.filesystem.FileHandlecreateFile(String aKey)org.refcodes.filesystem.FileHandlecreateFile(String aPath, String aName)static voiddeleteBucket(software.amazon.awssdk.services.s3.S3Client aAmazonS3, String aBucketId)Deletes an S3 bucket.voiddeleteFile(org.refcodes.filesystem.FileHandle aFileHandle)protected static voiddeleteS3Objects(software.amazon.awssdk.services.s3.S3Client aAmazonS3, String aBucketId, List<software.amazon.awssdk.services.s3.model.S3Object> aS3SummaryObjects)Deletes the content described by the givenS3Objectlist from an S3 bucket.voiddestroy()InputStreamfromFile(org.refcodes.filesystem.FileHandle aFromFileHandle)voidfromFile(org.refcodes.filesystem.FileHandle aFileHandle, File aToFile)voidfromFile(org.refcodes.filesystem.FileHandle aFromFileHandle, OutputStream aOutputStream)protected StringgetAmazonS3BucketName()Retrieves the bucket name to be used.protected software.amazon.awssdk.services.s3.S3ClientgetAmazonS3Client()Retrieves the amazon S3 client to be used.protected static software.amazon.awssdk.services.s3.S3ClientgetAmazonS3Client(File aConfigFile)Retrieves anS3Clientfrom a configuration file containing the access- and the secret key.org.refcodes.filesystem.FileHandlegetFileHandle(String aKey)org.refcodes.filesystem.FileHandlegetFileHandle(String aPath, String aName)List<org.refcodes.filesystem.FileHandle>getFileHandles(String aPath, boolean isRecursively)booleanhasFile(String aKey)Checks for file.booleanhasFile(String aPath, String aName)booleanhasFile(org.refcodes.filesystem.FileHandle aFileHandle)booleanhasFiles(String aPath, boolean isRecursively)org.refcodes.filesystem.FileHandlemoveFile(org.refcodes.filesystem.FileHandle aFileHandle, String aNewKey)org.refcodes.filesystem.FileHandlerenameFile(org.refcodes.filesystem.FileHandle aFileHandle, String aNewName)protected voidsetAmazonS3BucketName(String aAmazonS3BucketName)Sets the bucket name to be used.OutputStreamtoFile(org.refcodes.filesystem.FileHandle aToFileHandle)voidtoFile(org.refcodes.filesystem.FileHandle aFileHandle, byte[] aBuffer)voidtoFile(org.refcodes.filesystem.FileHandle aFileHandle, File aFile)voidtoFile(org.refcodes.filesystem.FileHandle aToFileHandle, InputStream aInputStream)
-
-
-
Method Detail
-
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:
hasFilein 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:
hasFilein interfaceorg.refcodes.filesystem.FileSystem- Throws:
org.refcodes.filesystem.IllegalPathExceptionorg.refcodes.filesystem.IllegalNameExceptionorg.refcodes.filesystem.NoListAccessExceptionorg.refcodes.filesystem.UnknownFileSystemExceptionIOException
-
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:
hasFilein interfaceorg.refcodes.filesystem.FileSystem- Throws:
org.refcodes.filesystem.NoListAccessExceptionorg.refcodes.filesystem.UnknownFileSystemExceptionIOExceptionorg.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:
createFilein interfaceorg.refcodes.filesystem.FileSystem- Throws:
org.refcodes.filesystem.FileAlreadyExistsExceptionorg.refcodes.filesystem.NoCreateAccessExceptionorg.refcodes.filesystem.IllegalKeyExceptionorg.refcodes.filesystem.UnknownFileSystemExceptionIOExceptionorg.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:
createFilein interfaceorg.refcodes.filesystem.FileSystem- Throws:
org.refcodes.filesystem.FileAlreadyExistsExceptionorg.refcodes.filesystem.NoCreateAccessExceptionorg.refcodes.filesystem.IllegalNameExceptionorg.refcodes.filesystem.IllegalPathExceptionorg.refcodes.filesystem.UnknownFileSystemExceptionIOExceptionorg.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:
getFileHandlein interfaceorg.refcodes.filesystem.FileSystem- Throws:
org.refcodes.filesystem.NoListAccessExceptionorg.refcodes.filesystem.IllegalKeyExceptionorg.refcodes.filesystem.UnknownFileSystemExceptionIOExceptionorg.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:
getFileHandlein interfaceorg.refcodes.filesystem.FileSystem- Throws:
org.refcodes.filesystem.NoListAccessExceptionorg.refcodes.filesystem.IllegalNameExceptionorg.refcodes.filesystem.IllegalPathExceptionorg.refcodes.filesystem.UnknownFileSystemExceptionIOExceptionorg.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:
fromFilein interfaceorg.refcodes.filesystem.FileSystem- Throws:
org.refcodes.filesystem.ConcurrentAccessExceptionorg.refcodes.filesystem.UnknownFileExceptionorg.refcodes.filesystem.NoReadAccessExceptionorg.refcodes.filesystem.UnknownFileSystemExceptionIOExceptionorg.refcodes.filesystem.NoListAccessExceptionorg.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:
toFilein interfaceorg.refcodes.filesystem.FileSystem- Throws:
org.refcodes.filesystem.ConcurrentAccessExceptionorg.refcodes.filesystem.UnknownFileExceptionorg.refcodes.filesystem.NoWriteAccessExceptionorg.refcodes.filesystem.UnknownFileSystemExceptionIOExceptionorg.refcodes.filesystem.NoListAccessExceptionorg.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:
fromFilein interfaceorg.refcodes.filesystem.FileSystem- Throws:
org.refcodes.filesystem.ConcurrentAccessExceptionorg.refcodes.filesystem.UnknownFileExceptionorg.refcodes.filesystem.NoReadAccessExceptionorg.refcodes.filesystem.UnknownFileSystemExceptionIOExceptionorg.refcodes.filesystem.NoListAccessExceptionorg.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:
toFilein interfaceorg.refcodes.filesystem.FileSystem- Throws:
org.refcodes.filesystem.ConcurrentAccessExceptionorg.refcodes.filesystem.UnknownFileExceptionorg.refcodes.filesystem.NoWriteAccessExceptionorg.refcodes.filesystem.UnknownFileSystemExceptionIOExceptionorg.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:
fromFilein interfaceorg.refcodes.filesystem.FileSystem- Throws:
org.refcodes.filesystem.ConcurrentAccessExceptionorg.refcodes.filesystem.UnknownFileExceptionorg.refcodes.filesystem.NoReadAccessExceptionorg.refcodes.filesystem.UnknownFileSystemExceptionIOExceptionorg.refcodes.filesystem.NoListAccessExceptionorg.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:
toFilein interfaceorg.refcodes.filesystem.FileSystem- Throws:
org.refcodes.filesystem.ConcurrentAccessExceptionorg.refcodes.filesystem.UnknownFileExceptionorg.refcodes.filesystem.NoWriteAccessExceptionorg.refcodes.filesystem.UnknownFileSystemExceptionIOExceptionorg.refcodes.filesystem.NoListAccessExceptionorg.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:
toFilein interfaceorg.refcodes.filesystem.FileSystem- Throws:
org.refcodes.filesystem.ConcurrentAccessExceptionorg.refcodes.filesystem.UnknownFileExceptionorg.refcodes.filesystem.NoWriteAccessExceptionorg.refcodes.filesystem.UnknownFileSystemExceptionIOExceptionorg.refcodes.filesystem.NoListAccessExceptionorg.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:
renameFilein interfaceorg.refcodes.filesystem.FileSystem- Throws:
org.refcodes.filesystem.UnknownFileExceptionorg.refcodes.filesystem.ConcurrentAccessExceptionorg.refcodes.filesystem.FileAlreadyExistsExceptionorg.refcodes.filesystem.NoCreateAccessExceptionorg.refcodes.filesystem.NoDeleteAccessExceptionorg.refcodes.filesystem.IllegalNameExceptionorg.refcodes.filesystem.UnknownFileSystemExceptionIOExceptionorg.refcodes.filesystem.NoListAccessExceptionorg.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:
moveFilein interfaceorg.refcodes.filesystem.FileSystem- Throws:
org.refcodes.filesystem.UnknownFileExceptionorg.refcodes.filesystem.ConcurrentAccessExceptionorg.refcodes.filesystem.FileAlreadyExistsExceptionorg.refcodes.filesystem.NoCreateAccessExceptionorg.refcodes.filesystem.NoDeleteAccessExceptionorg.refcodes.filesystem.IllegalKeyExceptionorg.refcodes.filesystem.UnknownFileSystemExceptionIOExceptionorg.refcodes.filesystem.NoListAccessExceptionorg.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:
deleteFilein interfaceorg.refcodes.filesystem.FileSystem- Throws:
org.refcodes.filesystem.ConcurrentAccessExceptionorg.refcodes.filesystem.UnknownFileExceptionorg.refcodes.filesystem.NoDeleteAccessExceptionorg.refcodes.filesystem.UnknownFileSystemExceptionIOExceptionorg.refcodes.filesystem.NoListAccessExceptionorg.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:
hasFilesin interfaceorg.refcodes.filesystem.FileSystem- Throws:
org.refcodes.filesystem.NoListAccessExceptionorg.refcodes.filesystem.IllegalPathExceptionorg.refcodes.filesystem.UnknownFileSystemExceptionIOException
-
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:
getFileHandlesin interfaceorg.refcodes.filesystem.FileSystem- Throws:
org.refcodes.filesystem.NoListAccessExceptionorg.refcodes.filesystem.UnknownPathExceptionorg.refcodes.filesystem.IllegalPathExceptionorg.refcodes.filesystem.UnknownFileSystemExceptionIOException
-
destroy
public void destroy()
- Specified by:
destroyin interfaceorg.refcodes.component.Destroyable
-
getAmazonS3BucketName
protected String getAmazonS3BucketName()
Retrieves the bucket name to be used.- Returns:
- The bucket name.
-
setAmazonS3BucketName
protected void setAmazonS3BucketName(String aAmazonS3BucketName)
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- TheS3Clientclient.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- TheS3Clientclient.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- TheS3Clientclient.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
S3Clientinstance.
-
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 givenS3Objectlist from an S3 bucket.- Parameters:
aAmazonS3- TheS3Clientclient.aBucketId- The TID of the bucket from which the objects are to be deleted.aS3SummaryObjects- TheS3Objectlist describing the objects to be deleted.
-
getAmazonS3Client
protected static software.amazon.awssdk.services.s3.S3Client getAmazonS3Client(File aConfigFile) throws IOException
Retrieves anS3Clientfrom 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.
-
-