|
||||||||||
| 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 Tue 2006-10-10 19:23:47+0200, from revision exported | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||