Interface SharedBackend
-
- All Known Implementing Classes:
AbstractSharedBackend
public interface SharedBackend
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddMetadataRecord(java.io.File input, java.lang.String name)Adds a metadata record with the specified namevoidaddMetadataRecord(java.io.InputStream input, java.lang.String name)Adds a metadata record with the specified namevoidclose()Close backend and release resources like database connection if any.voiddeleteAllMetadataRecords(java.lang.String prefix)Deletes all the metadata records with the specified prefix.booleandeleteMetadataRecord(java.lang.String name)Deletes the metadata record with the specified namevoiddeleteRecord(DataIdentifier identifier)Delete record identified by identifier.booleanexists(DataIdentifier identifier)This method check the existence of record in backend.java.util.Iterator<DataIdentifier>getAllIdentifiers()Returns identifiers of all records that exists in backend.java.util.List<DataRecord>getAllMetadataRecords(java.lang.String prefix)Gets all the metadata with a specified prefix.java.util.Iterator<DataRecord>getAllRecords()Returns a list of all DataRecordsDataRecordgetMetadataRecord(java.lang.String name)Gets the metadata of the specified name.DataRecordgetRecord(DataIdentifier id)Gets the record with the specified identifiervoidinit()InitializebooleanmetadataRecordExists(java.lang.String name)Checks if the metadata record with the specified name exists.java.io.InputStreamread(DataIdentifier identifier)Return inputstream of record identified by identifier.voidwrite(DataIdentifier identifier, java.io.File file)Stores file to backend with identifier used as key.
-
-
-
Method Detail
-
read
java.io.InputStream read(DataIdentifier identifier) throws DataStoreException
Return inputstream of record identified by identifier.- Parameters:
identifier- identifier of record.- Returns:
- inputstream of the record.
- Throws:
DataStoreException- if record not found or any error.
-
write
void write(DataIdentifier identifier, java.io.File file) throws DataStoreException
Stores file to backend with identifier used as key. If key pre-exists, it updates the timestamp of the key.- Parameters:
identifier- key of the filefile- file that would be stored in backend.- Throws:
DataStoreException- for any error.
-
getRecord
DataRecord getRecord(DataIdentifier id) throws DataStoreException
Gets the record with the specified identifier- Parameters:
id- the record identifier- Returns:
- the metadata DataRecord
- Throws:
DataStoreException
-
getAllIdentifiers
java.util.Iterator<DataIdentifier> getAllIdentifiers() throws DataStoreException
Returns identifiers of all records that exists in backend.- Returns:
- iterator consisting of all identifiers
- Throws:
DataStoreException
-
getAllRecords
java.util.Iterator<DataRecord> getAllRecords() throws DataStoreException
Returns a list of all DataRecords- Returns:
- iterator over DataRecords
- Throws:
DataStoreException
-
exists
boolean exists(DataIdentifier identifier) throws DataStoreException
This method check the existence of record in backend.- Parameters:
identifier- identifier to be checked.- Returns:
- true if records exists else false.
- Throws:
DataStoreException
-
close
void close() throws DataStoreExceptionClose backend and release resources like database connection if any.- Throws:
DataStoreException
-
deleteRecord
void deleteRecord(DataIdentifier identifier) throws DataStoreException
Delete record identified by identifier. No-op if identifier not found.- Parameters:
identifier-- Throws:
DataStoreException
-
addMetadataRecord
void addMetadataRecord(java.io.InputStream input, java.lang.String name) throws DataStoreExceptionAdds a metadata record with the specified name- Parameters:
input- the record input streamname- the name- Throws:
DataStoreException
-
addMetadataRecord
void addMetadataRecord(java.io.File input, java.lang.String name) throws DataStoreExceptionAdds a metadata record with the specified name- Parameters:
input- the record filename- the name- Throws:
DataStoreException
-
getMetadataRecord
DataRecord getMetadataRecord(java.lang.String name)
Gets the metadata of the specified name.- Parameters:
name- the name of the record- Returns:
- the metadata DataRecord
-
getAllMetadataRecords
java.util.List<DataRecord> getAllMetadataRecords(java.lang.String prefix)
Gets all the metadata with a specified prefix.- Parameters:
prefix- the prefix of the records to retrieve- Returns:
- list of all the metadata DataRecords
-
deleteMetadataRecord
boolean deleteMetadataRecord(java.lang.String name)
Deletes the metadata record with the specified name- Parameters:
name- the name of the record- Returns:
- boolean to indicate success of deletion
-
deleteAllMetadataRecords
void deleteAllMetadataRecords(java.lang.String prefix)
Deletes all the metadata records with the specified prefix.- Parameters:
prefix- the prefix of the record
-
metadataRecordExists
boolean metadataRecordExists(java.lang.String name)
Checks if the metadata record with the specified name exists.- Parameters:
name- the name of the record- Returns:
- whether record exists
-
init
void init() throws DataStoreException
Initialize- Throws:
DataStoreException
-
-