SPT Object Database API

Package com.sptci.prevayler

Core classes for the database engine built around Prevayler.

See:
          Description

Interface Summary
AbstractDatabase<P extends PrevalentObject> A base interface that defines the public interface exposed by the database system.
Database<P extends PrevalentObject> An interface that defines the transactional features exposed by the higher level database API.
DatabaseSystem An interface that captures the interactions supported by the object database system.
 

Class Summary
ConstraintSystem System that abstracts all constraint enforcing rules for the prevalent system.
IndexCloser A thread used to close an IndexReader and its associated IndexSearcher after all references to the index reader have been cleared.
IndexedObject A simple value object used to represent the class of a prevalent object and its objectId.
IndexStorage A class used as the storage mechanism for storing the indices for prevalent objects in the prevalent system.
IndexSystem Abstracts all index management operations for the prevalent system.
MetaData A value object used to store persistent metadata for a PrevalentObject.
ObjectGraphSystem Abstracts all the code for decomposing and reconstituting object graphs for the prevalent system.
PrevalentManager<P extends PrevalentObject> A facade around the prevalent system used to present a more natural programming interface than that provided by prevayler.
PrevalentObject<K> Abstract base class whose instances are stored in the prevalent system.
PrevalentSystem A base class for prevalent systems that will be managed by Prevayler and wrapped in a Prevayler instance.
PrevalentSystemFactory A factory class used to boot-strap PrevalentSystem instances.
PrevalentSystemFactory.SnapshotTask A TimerTask that is used to snapshot the PrevalentSystemFactory.SnapshotTask.prevayler periodically.
PrimaryStorage A class used as the primary storage mechanism for persisting prevalent objects in the prevalent system.
ReferenceStorage A class used as the storage mechanism for storing the references to other prevalent objects from prevalent objects stored in the system.
RelationStorage A store for maintaining the relations between a prevalent object and the other prevalent objects in the prevalent system.
SearchSystem Abstracts all the full-text search indexing and de-indexing operations for the prevalent system.
SearchSystem.Closer A thread used as a shutdown hook to the JVM to close the SearchSystem.writer and other lucene resources.
StorageSystem The base class for the prevalent system that provides the storage engine for storing the various prevalent object maintained by the system.
StorageSystem.TaskQueue The task queue used to ensure that recursive loops when persisting inter-related object graphs do not result in infinite loops.
 

Exception Summary
ConstraintException An exception used to indicate that a constraint violations has been encountered while persisting the prevalent object.
DeleteException An exception used to indicate that a prevalent object cannot be deleted from the system since other prevalent objects hold references to it.
NullException A custom exception used to indicate that a field marked as NotNull is null.
PrevalentException A custom exception used to indicate errors while interacting with the prevalent system.
 

Package com.sptci.prevayler Description

Core classes for the database engine built around Prevayler.

Sample usage:

    import com.sptci.prevayler.PrevalentManager;

    ...
      // MyPrevalentObject is a sub-class of PrevalentObject
      final MyPrevalentObject obj1 = new MyPrevalentObject();
      obj1.setXXX();
      ...
      final MyPrevalentObject obj2 = PrevalentManager.save( obj1 );
      System.out.format( "MyPrevalentObject created with OID: %s%n", obj2.getObjectId() );
  


SPT Object Database API