Modifier and Type | Field and Description |
---|---|
static String |
FS_BACKEND_PATH |
Constructor and Description |
---|
FSBackend() |
Modifier and Type | Method and Description |
---|---|
void |
close()
Close backend and release resources like database connection if any.
|
protected Executor |
createAsyncWriteExecutor()
Creates a
Executor . |
Set<DataIdentifier> |
deleteAllOlderThan(long min)
Delete all records which are older than timestamp.
|
void |
deleteRecord(DataIdentifier identifier)
Delete record identified by identifier.
|
boolean |
exists(DataIdentifier identifier)
This method check the existence of record in backend.
|
boolean |
exists(DataIdentifier identifier,
boolean touch)
This method check the existence of record in backend.
|
Iterator<DataIdentifier> |
getAllIdentifiers()
Returns identifiers of all records that exists in backend.
|
protected Executor |
getAsyncWriteExecutor()
Returns ThreadPoolExecutor used to execute asynchronous write or touch jobs.
|
long |
getLastModified(DataIdentifier identifier)
Return lastModified of record identified by identifier.
|
long |
getLength(DataIdentifier identifier)
Return length of record identified by identifier.
|
void |
init(CachingDataStore store,
String homeDir,
Properties prop) |
void |
init(CachingDataStore store,
String homeDir,
String config)
This method initialize backend with the configuration.
|
InputStream |
read(DataIdentifier identifier)
Return inputstream of record identified by identifier.
|
void |
setProperties(Properties properties)
Properties used to configure the backend.
|
void |
touch(DataIdentifier identifier,
long minModifiedDate)
Update the lastModified of record if it's lastModified < minModifiedDate.
|
void |
touchAsync(DataIdentifier identifier,
long minModifiedDate,
AsyncTouchCallback callback)
Update the lastModified of record if it's lastModified < minModifiedDate
asynchronously.
|
void |
write(DataIdentifier identifier,
File src)
Stores file to backend with identifier used as key.
|
void |
writeAsync(DataIdentifier identifier,
File src,
AsyncUploadCallback callback)
Write file to backend in asynchronous mode.
|
public static final String FS_BACKEND_PATH
public void init(CachingDataStore store, String homeDir, String config) throws DataStoreException
Backend
init
in interface Backend
store
- CachingDataStore
homeDir
- path of repository home dir.config
- path of config property file.DataStoreException
public void init(CachingDataStore store, String homeDir, Properties prop) throws DataStoreException
DataStoreException
public InputStream read(DataIdentifier identifier) throws DataStoreException
Backend
read
in interface Backend
identifier
- identifier of record.DataStoreException
- if record not found or any error.public long getLength(DataIdentifier identifier) throws DataStoreException
Backend
getLength
in interface Backend
identifier
- identifier of record.DataStoreException
- if record not found or any error.public long getLastModified(DataIdentifier identifier) throws DataStoreException
Backend
getLastModified
in interface Backend
identifier
- identifier of record.DataStoreException
- if record not found or any error.public void write(DataIdentifier identifier, File src) throws DataStoreException
Backend
write
in interface Backend
identifier
- key of the filesrc
- file that would be stored in backend.DataStoreException
- for any error.public void writeAsync(DataIdentifier identifier, File src, AsyncUploadCallback callback) throws DataStoreException
Backend
writeAsync
in interface Backend
callback
- Callback interface to called after upload succeed or failed.DataStoreException
public Iterator<DataIdentifier> getAllIdentifiers() throws DataStoreException
Backend
getAllIdentifiers
in interface Backend
DataStoreException
public boolean exists(DataIdentifier identifier, boolean touch) throws DataStoreException
Backend
exists
in interface Backend
DataStoreException
public boolean exists(DataIdentifier identifier) throws DataStoreException
Backend
exists
in interface Backend
identifier
- identifier to be checked.DataStoreException
public void touch(DataIdentifier identifier, long minModifiedDate) throws DataStoreException
Backend
touch
in interface Backend
DataStoreException
public void touchAsync(DataIdentifier identifier, long minModifiedDate, AsyncTouchCallback callback) throws DataStoreException
Backend
AsyncTouchCallback
methods. If identifier's lastModified >
minModified AsyncTouchCallback.onAbort(AsyncTouchResult)
is
called. Any exception is communicated through
AsyncTouchCallback.onFailure(AsyncTouchResult)
. On successful
update of lastModified,
AsyncTouchCallback.onSuccess(AsyncTouchResult)
is invoked.touchAsync
in interface Backend
DataStoreException
public void close() throws DataStoreException
Backend
close
in interface Backend
DataStoreException
public Set<DataIdentifier> deleteAllOlderThan(long min) throws DataStoreException
Backend
deleteAllOlderThan
in interface Backend
Set
of identifiers which are deleted.DataStoreException
public void deleteRecord(DataIdentifier identifier) throws DataStoreException
Backend
deleteRecord
in interface Backend
DataStoreException
public void setProperties(Properties properties)
properties
- to configure S3Backendprotected Executor createAsyncWriteExecutor()
Executor
.
This method is invoked during the initialization for asynchronous write/touch job executions.Executor
protected Executor getAsyncWriteExecutor()
Copyright © 2004-2020 The Apache Software Foundation. All Rights Reserved.