Defines the interfaces for persistence engine service providers.

Version:
  $Revision: 5951 $ $Date: 2003-03-03 00:05:44 -0700 (Mon, 03 Mar 2003) $
Author:
  Assaf Arkin

A persistence service provider implements the {@link org.exolab.castor.persist.spi.Persistence} interface, allowing the cache engine to load, store, create and remove objects to the underlying storage mechanism.

A query expression is constructed using {@link org.exolab.castor.persist.spi.QueryExpression}, which accepts query paramteres and constructs the proper query statement. The query expression is fed to a {@link org.exolab.castor.persist.spi.PersistenceQuery} object that is used to perform the actual query and retrieve the query results.

Both implementations are obtained from a {@link org.exolab.castor.persist.spi.PersistenceFactory}, which is set once for each type of database and is configured using Bean-like accessor methods. Each persistent storage mechanism will require one factory implementation. The factories are specified in the Castor properties file.

Castor supports many schemes for key generation through a simple {@link org.exolab.castor.persist.spi.KeyGenerator} interface.