|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.gcube.contentmanagement.baselayer.inMessageImpl.InMemoryContentManager
public class InMemoryContentManager
This class keeps a copy of content passed with a SOAP message (or for passing to message) in momery. It should therefore only be used for small files.
In addition, since main memory is volatile, it can only be used for passing messages - not for permanently storing them.
Field Summary |
---|
Fields inherited from interface org.gcube.contentmanagement.baselayer.InstantiableManager |
---|
MANAGER_INSTANTIATION_METHOD_NAME |
Method Summary | |
---|---|
boolean |
deleteBinaryContent(RawContentLocation location,
BasicStorageHints hints)
Removes the binary content from storage |
boolean |
existsBinaryContent(RawContentLocation location,
BasicStorageHints hints)
Checks whether there is content at this location |
BaseLayerStream |
getBinaryContent(byte[] bytes,
BasicStorageHints hints)
Wraps the content for reading as an input stream to the caller. |
BaseLayerStream |
getBinaryContent(RawContentLocation location,
BasicStorageHints hints)
Opens the content for reading and passes the input stream to the caller. |
byte[] |
getBytes(InMemoryRawContentLocation location,
BasicStorageHints hints)
Shorthand to directly reference the stored bytes instead of accessing them through a stream. |
java.lang.String |
getDataProvider()
|
static InMemoryContentManager |
getInstance()
Factory method to return the singleton manager |
static InMemoryContentManager |
getManagerInstance(java.lang.String[] params,
java.lang.String managerName)
Generic factory method that returns the singleton instance |
java.lang.String |
getUniqueStorageLocationIDFor(java.lang.String objectID)
|
boolean |
handles(java.lang.String dataprovider)
Checks whether the RawFileContentManager can handle this data. |
RawContentLocation |
makePermanentLocation(RawContentLocation currentLocation,
BasicStorageHints hints)
Returns a raw location, which can be stored and retrieved later without the need to pass again all the hints. |
RawContentLocation |
saveBinaryContent(java.lang.String uniqueStorageID,
BaseLayerStream binaryFileContent,
BasicStorageHints hints)
Saves the passed binary content in the managed resource. |
RawContentLocation |
storeBytes(byte[] content,
BasicStorageHints hints)
Shorthand to store a reference to bytes directly without the need of copying them in memory |
RawContentLocation |
storeBytes(java.lang.String uniqueStorageID,
byte[] content,
BasicStorageHints hints)
Shorthand to store a reference to bytes directly without the need of copying them in memory |
boolean |
supportsAppending()
Tells whether this content manager supports appending content in addition to overwriting the content when storing |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public static InMemoryContentManager getInstance()
public RawContentLocation saveBinaryContent(java.lang.String uniqueStorageID, BaseLayerStream binaryFileContent, BasicStorageHints hints) throws BaseLayerException
saveBinaryContent
in interface RawFileContentManager
binaryFileContent
- the content to storeuniqueStorageID
- a unique ID to as a hint where to store the contenthints
- the hints that should be used
BaseLayerException
- in case of failure of underlying storage systempublic RawContentLocation storeBytes(java.lang.String uniqueStorageID, byte[] content, BasicStorageHints hints)
uniqueStorageID
- a unique ID to as a hint where to store the contentcontent
- the binary content to store
public RawContentLocation storeBytes(byte[] content, BasicStorageHints hints)
content
- the binary content to store
public byte[] getBytes(InMemoryRawContentLocation location, BasicStorageHints hints) throws BaseLayerException
location
- the InMemoryRawContentLocation holding the byteshints
- must contain the real locatin where the content is accessible
and will be deleted afterwards - will be set by storing
automatically
BaseLayerException
- in case of failure of underlying storage systempublic BaseLayerStream getBinaryContent(RawContentLocation location, BasicStorageHints hints)
getBinaryContent
in interface RawFileContentManager
location
- the RawContentLocation where the content is accessiblehints
- the hints that should be used
public BaseLayerStream getBinaryContent(byte[] bytes, BasicStorageHints hints)
bytes
- the raw content
public boolean deleteBinaryContent(RawContentLocation location, BasicStorageHints hints) throws BaseLayerException
deleteBinaryContent
in interface RawFileContentManager
location
- the RawContentLocation where the content is accessiblehints
- the hints that should be used
BaseLayerException
- in case of failure of underlying storage systempublic boolean existsBinaryContent(RawContentLocation location, BasicStorageHints hints) throws BaseLayerException
existsBinaryContent
in interface RawFileContentManager
location
- the RawContentLocation where the content is accessible
BaseLayerException
- in case of failure of underlying storage systempublic boolean handles(java.lang.String dataprovider)
This means that it can handle the requests for content stored at this dataprovider. In the ideal case, this also checks if it has all required access rights. But this cannot be enforced as a strong requirement before the actual calls take place.
handles
in interface RawFileContentManager
dataprovider
-
public java.lang.String getDataProvider()
getDataProvider
in interface RawFileContentManager
public boolean supportsAppending()
supportsAppending
in interface RawFileContentManager
BasicStorageHints#HINT_NAME_APPEND_CONTENT
public RawContentLocation makePermanentLocation(RawContentLocation currentLocation, BasicStorageHints hints) throws ValueNotValidException
This is of particular interest for username / password combinations.
makePermanentLocation
in interface RawFileContentManager
currentLocation
- the location, where content can be accessed currently (may
require information from the hints)hints
- hints, that may be needed to request the content
ValueNotValidException
- If some hints was not defined correctly or there is no
possibility to include that in the permanent location.public static InMemoryContentManager getManagerInstance(java.lang.String[] params, java.lang.String managerName) throws BaseLayerException
params
- currently not used at allmanagerName
- the name of the manager (currently not in use)
BaseLayerException
- if something goes wrongpublic java.lang.String getUniqueStorageLocationIDFor(java.lang.String objectID)
getUniqueStorageLocationIDFor
in interface RawFileContentManager
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |