|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.omg.CORBA.LocalObject
org.openorb.pss.connector.file.FileCatalog
org.openorb.pss.connector.file.FileSession
public class FileSession
This class is an implementation of file based persistent session. Each persistent file contains several data wich are divided into 4 parts : - the VALID FLAG ( a boolean ) - the SHORT PID length ( a long value ) - the SHORT PID ( a buffer of bytes ) - the DATA length ( a long value ) - the DATA ( a buffer of bytes )
Constructor Summary | |
---|---|
FileSession()
|
|
FileSession(org.omg.PortableInterceptor.ORBInitInfo info)
Constructor |
Method Summary | |
---|---|
void |
clean(StorageHomeBase home)
|
void |
close()
The operation close terminates the catalog. |
StorageObject |
create_embedded_object(StorageHomeBase home_base,
java.lang.String storage_type_id)
This operation creates a new embedded storage type |
StorageObject |
create_empty_object(StorageHomeBase home_base,
java.lang.String storage_type_id)
This operation creates a new storage type |
org.omg.CORBA.portable.OutputStream |
create_new_entry(PID home_pid,
PID type_pid)
Create a new entry |
StorageObject |
create_object(StorageHomeBase home_base,
java.lang.String storage_type_id)
This operation creates a new storage type |
PID |
createHomePID(java.lang.String storage_home_name)
Generate a Home PID |
PID |
createPID(PID home_pid,
long index)
Generate a storage type PID |
void |
delete(PID home_pid,
PID type_pid)
Delete a storage object |
void |
destroy(StorageHomeBase home)
|
org.omg.CORBA.portable.InputStream |
entry(PID home_pid,
PID type_pid)
Return the entry data as an input stream |
void |
entry(PID home_pid,
PID type_pid,
org.omg.CORBA.portable.OutputStream output)
Write a new entry into the file. |
StorageHomeBase |
find_home_base(PID pid)
Returns an storage object home from its PID ( high part is only used ) |
void |
flush()
The flush operation instructs the PSS implementation to write to disk
any cached modifications of storage object incarnations managed by this catalog. |
void |
free_all()
The operation free_all instructs the catalog
implementation to set the reference count of all its PSDL storage object instances to 0. |
DataManager |
getDataManager(java.lang.String storage_home_name)
This operation return the DataManager |
java.util.Enumeration |
getSequentialAccess(PID home_pid)
Returns a sequential access for all storage home's storage type |
StorageObject |
incarnate(StorageHomeBase home_base,
byte[] storage_type_pid,
java.lang.String storage_type_id)
This operation returns a storage type incarnation |
void |
refresh()
A PSS implementation can cache data read from the datastore(s). |
void |
setBaseInfo(FileConnector connector,
short access,
Parameter[] parameters)
Set the base information require by a catalog |
boolean |
stored(PID home_pid,
PID type_pid)
Look for a stored object |
void |
write_entry(DataManager manager,
DataEntry entry)
Write the entry to the data store ( this operation could be overloaded if required - no access to private data - ) |
Methods inherited from class org.openorb.pss.connector.file.FileCatalog |
---|
access_mode, connector, find_all, find_by_pid, find_ref_by_pid, find_storage_home, iterator, parameters, setCatalogInfo |
Methods inherited from class org.omg.CORBA.LocalObject |
---|
_create_request, _create_request, _duplicate, _get_domain_managers, _get_interface_def, _get_interface, _get_policy, _hash, _invoke, _is_a, _is_equivalent, _is_local, _non_existent, _orb, _release, _releaseReply, _request, _request, _servant_postinvoke, _servant_preinvoke, _set_policy_override, validate_connection |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.omg.CosPersistentState.CatalogBaseOperations |
---|
access_mode, find_by_pid, find_storage_home |
Methods inherited from interface org.omg.CORBA.Object |
---|
_create_request, _create_request, _duplicate, _get_domain_managers, _get_interface_def, _get_policy, _hash, _is_a, _is_equivalent, _non_existent, _release, _request, _set_policy_override |
Constructor Detail |
---|
public FileSession()
public FileSession(org.omg.PortableInterceptor.ORBInitInfo info)
Method Detail |
---|
public void setBaseInfo(FileConnector connector, short access, Parameter[] parameters)
setBaseInfo
in interface FileCatalogBase
public DataManager getDataManager(java.lang.String storage_home_name)
public PID createHomePID(java.lang.String storage_home_name)
public PID createPID(PID home_pid, long index)
public void delete(PID home_pid, PID type_pid)
delete
in interface FileCatalogBase
public boolean stored(PID home_pid, PID type_pid)
stored
in interface FileCatalogBase
public org.omg.CORBA.portable.InputStream entry(PID home_pid, PID type_pid) throws NotFoundException
entry
in interface FileCatalogBase
NotFoundException
public org.omg.CORBA.portable.OutputStream create_new_entry(PID home_pid, PID type_pid)
create_new_entry
in interface FileCatalogBase
public void entry(PID home_pid, PID type_pid, org.omg.CORBA.portable.OutputStream output)
entry
in interface FileCatalogBase
public void write_entry(DataManager manager, DataEntry entry)
public void clean(StorageHomeBase home)
clean
in interface ExtendedCatalog
public void destroy(StorageHomeBase home)
destroy
in interface ExtendedCatalog
public void flush()
CatalogBaseOperations
flush
operation instructs the PSS implementation to write to disk
any cached modifications of storage object incarnations managed by this catalog.
Often, when an application creates a new storage object or updates a storage object, the
modification is not written directly to disk -- the PSS implementation can cache some
dirty data.
flush
in interface CatalogBaseOperations
flush
in class FileCatalog
public void refresh()
CatalogBaseOperations
refresh
operation instructs the PSS implementation to refresh any cached storage
object incarnations accessed by this catalog. This operation can invalidate any direct
reference to a storage object incarnation?s data member.
refresh
in interface CatalogBaseOperations
refresh
in class FileCatalog
public void free_all()
CatalogBaseOperations
free_all
instructs the catalog
implementation to set the reference count of all its PSDL storage object instances to 0.
In programming languages without garbage collection, such as C++, PSDL storage
object instances are reference-counted by the application. Further, when a PSDL
storage object A holds a reference to another PSDL storage object B, A?s instance
owns a reference count of B?s instance. When PSDL storage objects form a cyclic
graph, the corresponding instances own reference count of each other; even if the
programmer correctly releases all her reference counts, the cyclic graph will never be
completely released. The free_all
operation deals with this problem.
free_all
in interface CatalogBaseOperations
free_all
in class FileCatalog
public void close()
CatalogBaseOperations
close
terminates the catalog. When closed, the catalog is also flushed.
If the catalog is associated with one or more transactions when close
is
called, these transactions are marked roll-back only.
close
in interface CatalogBaseOperations
close
in class FileCatalog
public StorageObject incarnate(StorageHomeBase home_base, byte[] storage_type_pid, java.lang.String storage_type_id) throws NotFoundException
incarnate
in interface FileCatalogBase
NotFoundException
public StorageObject create_object(StorageHomeBase home_base, java.lang.String storage_type_id)
create_object
in interface FileCatalogBase
public StorageObject create_empty_object(StorageHomeBase home_base, java.lang.String storage_type_id)
create_empty_object
in interface FileCatalogBase
public StorageObject create_embedded_object(StorageHomeBase home_base, java.lang.String storage_type_id)
create_embedded_object
in interface FileCatalogBase
public StorageHomeBase find_home_base(PID pid)
find_home_base
in class FileCatalog
public java.util.Enumeration getSequentialAccess(PID home_pid)
getSequentialAccess
in interface FileCatalogBase
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |