|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Management of file resources within a database. Suitable for jar files, images etc.
A file resource is identified by the pair (name,generationId). Name is an arbitrary String supplied by the caller. GenerationId is a non-repeating sequence number constructed by the database. Within a database a (name,generationId) pair uniquely identifies a version of a file resource for all time. Newer generation numbers reflect newer versions of the file.
A database supports the concept of a designated current version of a fileResource. The management of the current version is transactional. The following rules apply
For the benefit of replication, a database optionally retains historic versions of stored files. These old versions are useful when processing old transactions in the stage.
Method Summary | |
long |
add(java.lang.String name,
java.io.InputStream source)
Add a file resource, copying from the input stream. |
StorageFile |
getAsFile(java.lang.String name)
Get the File handle to a file resource. |
StorageFile |
getAsFile(java.lang.String name,
long generationId)
Get the File handle to a file resource. |
java.io.InputStream |
getAsStream(java.lang.String name)
Get the file resource as a stream. |
java.io.InputStream |
getAsStream(java.lang.String name,
long generationId)
Get the file resource as a stream. |
char |
getSeparatorChar()
|
void |
purgeOldGenerations(DatabaseInstant purgeTo)
Purge old generations that were removed or replaced before the database instant provided. |
void |
remove(java.lang.String name,
long currentGenerationId,
boolean purgeOnCommit)
Remove the current generation of a file resource from the database. |
long |
replace(java.lang.String name,
long currentGenerationId,
java.io.InputStream source,
boolean purgeOnCommit)
Replace a file resource with a new version. |
Method Detail |
public long add(java.lang.String name, java.io.InputStream source) throws StandardException
name
- the name of the file resource.source
- an input stream for reading the content of
the file resource.
StandardException
- some error occured.public void remove(java.lang.String name, long currentGenerationId, boolean purgeOnCommit) throws StandardException
name
- the name of the fileResource to remove.purgeOnCommit
- true means purge the fileResource
when the current transaction commits. false means retain
the file resource for use by replication.
StandardException
- some error occured.public long replace(java.lang.String name, long currentGenerationId, java.io.InputStream source, boolean purgeOnCommit) throws StandardException
The InputStream will be closed by this method.
name
- the name of the file resource.source
- an input stream for reading the content of
the file resource.purgeOnCommit
- true means purge the existing version of
fileResource when the current transaction commits. false
means retain the existing version for use by replication.
StandardException
- some error occured.public StorageFile getAsFile(java.lang.String name, long generationId)
name
- The name of the fileResourcegenerationId
- the generationId of the fileResource
public StorageFile getAsFile(java.lang.String name)
name
- The name of the fileResource
public java.io.InputStream getAsStream(java.lang.String name, long generationId) throws java.io.IOException
java.io.IOException
- some io error occured
java.io.FileNotFoundException
- file does not exist.public java.io.InputStream getAsStream(java.lang.String name) throws java.io.IOException
java.io.IOException
- some io error occured
java.io.FileNotFoundException
- file does not exist.public void purgeOldGenerations(DatabaseInstant purgeTo) throws StandardException
StandardException
- Ooopspublic char getSeparatorChar()
|
Built on Mon 2007-06-04 09:58:47+0400, from revision ??? | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |