|
||||||||
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.memory.MemoryCatalog
org.openorb.pss.connector.memory.MemorySession
public class MemorySession
This class is a simple implementation of file 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 | |
---|---|
MemorySession()
|
|
MemorySession(org.omg.PortableInterceptor.ORBInitInfo info)
Constructor |
Method Summary | |
---|---|
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_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 |
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. |
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(MemoryConnector 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 |
Methods inherited from class org.openorb.pss.connector.memory.MemoryCatalog |
---|
access_mode, clean, connector, destroy, 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.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 |
Methods inherited from interface org.openorb.pss.connector.memory.MemoryCatalogBase |
---|
connector, parameters |
Constructor Detail |
---|
public MemorySession()
public MemorySession(org.omg.PortableInterceptor.ORBInitInfo info)
Method Detail |
---|
public void setBaseInfo(MemoryConnector connector, short access, Parameter[] parameters)
setBaseInfo
in interface MemoryCatalogBase
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 MemoryCatalogBase
public boolean stored(PID home_pid, PID type_pid)
stored
in interface MemoryCatalogBase
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
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
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
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
public StorageObject incarnate(StorageHomeBase home_base, byte[] storage_type_pid, java.lang.String storage_type_id) throws NotFoundException
incarnate
in interface MemoryCatalogBase
NotFoundException
public StorageObject create_object(StorageHomeBase home_base, java.lang.String storage_type_id)
create_object
in interface MemoryCatalogBase
public StorageObject create_embedded_object(StorageHomeBase home_base, java.lang.String storage_type_id)
create_embedded_object
in interface MemoryCatalogBase
public StorageHomeBase find_home_base(PID pid)
find_home_base
in class MemoryCatalog
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |