The Castor persistence engine handles object persistence, object caching, transaction concurrency and locking. This package is not used directly by application developer, and includes the interfaces, implementations and persistence exceptions.
The persistence engine API is used by the application APIs (JDO, CMP, DAX) to implement caching, queries, transactions and concurrency, etc. This layer is shared by all persistence engine and exposes a unified interface for use as a persistence engine for EJB CMP.
An application API will use a TransactionContext in order
       to perform operations. All operations against the persistence engine are transactional.
       The persistence engine is obtained through the PersistenceEngineFactory
       class which returns a LockEngine. The factory requires
       a factory of persistence SPIs (see SPI.
LockEngine implements a persistence engine that caches
       objects in memory for performance, and eliminates the number of persistent storage operations.
       In order to speed up interaction between the engines and the object, ClassMolder is constructed to represent a flat view
       of the object graph that is efficient to process.
If the application API supports enlistment as an XA resource, it will use
       XAResourceImpl and implement XAResourceSource for automatic enlistment/delistment with a
       transaction context.
The remainder of this package are persistence exceptions and the concurrency engine implementation.
| Interface | Description | 
|---|---|
| DepositBox | 
 DepositBox is an interface for  
ClassMolder to access the dirty 
 checking cache of an object. | 
| TxSynchronizable | 
 This interface offers some callback hooks for several different
 stages during a transaction. 
 | 
| XAResourceSource | 
 A data source that wishes to particiate as an XA resource
 implements this interface. 
 | 
| Class | Description | 
|---|---|
| ClassMolder | 
 ClassMolder is a 'binder' for one type of data object and its corresponding 
  
Persistence. | 
| ClassMolderHelper | 
 Utility class that provides (mostly) static methods in relation to the functions
 required by a  
ClassMolder. | 
| DatingService | 
 DataService is a helper class for constructing ClassMolders and
 pairing up ClassMolders which depends and extends the other. 
 | 
| FieldMolder | 
 FieldMolder represents a field of a data object class. 
 | 
| FieldMolder.CollectionInfo | |
| LockEngine | 
 LockEngine is a gateway for all the ClassMolders of a persistence 
 storage. 
 | 
| ObjectLock | 
 Read/write locks and lock synchronization on an object. 
 | 
| ObjectLock.LinkedTx | 
 Object uses to hold a linked list of transactions holding
 write locks or waiting for a read/write lock. 
 | 
| OID | 
 Object identifier. 
 | 
| OutputLogInterceptor | 
 A simple log interceptor that reports all messages to a writer or
 an output stream. 
 | 
| PersistenceEngineFactory | 
 Factory for constructing new persistence engines. 
 | 
| PersistenceFactoryRegistry | 
 Registry for  
PersistenceFactory implementations
 obtained from the Castor properties file and used by the
 JDO database configuration file. | 
| PersistenceInfoGroup | |
| QueryResults | 
 The result of a query in the context of a transaction. 
 | 
| SQLRelationLoader | 
 SQLRelationLoader is a quick hack for creating and removing
 relation from a many-to-many relation database from ClassMolder. 
 | 
| XAResourceImpl | 
 An  
XAResource implementation for an XAResourceSource. | 
| Enum | Description | 
|---|---|
| FieldPersistenceType | 
 Enumeration for field type in the context of persistence; it is distinguished between 
 primitive fields, serializable fields and relational fields (one-to-one, one-to-many 
 and many-to-many). 
 | 
| Exception | Description | 
|---|---|
| ObjectDeletedWaitingForLockException | 
 Thrown to indicate that a lock attempt has failed due to object
 being deleted by a concurrent transaction. 
 | 
Intalio Inc. (C) 1999-2008. All rights reserved http://www.intalio.com