JBoss API: Interface EntityPersistenceStore

org.jboss.ejb
Interface EntityPersistenceStore

All Superinterfaces:
ContainerPlugin, Service
All Known Implementing Classes:
CMPFilePersistenceManager, JAWSPersistenceManager

public interface EntityPersistenceStore
extends ContainerPlugin

This interface is implemented by any EntityBean persistence Store. These stores just deal with the persistence aspect of storing java objects They need not be aware of the EJB semantics. They act as delegatees for the CMPEntityPersistenceManager class.

Version:
$Revision: 1.4 $
Author:
Rickard Öberg (rickard.oberg@telkel.com), Marc Fleury, danch (Dan Christopherson)
See Also:
EntityPersistenceManager

Method Summary
 void activateEntity(EntityEnterpriseContext instance)
          This method is called when an entity shall be activated.
 java.lang.Object createEntity(java.lang.reflect.Method m, java.lang.Object[] args, EntityEnterpriseContext instance)
          This method is called whenever an entity is to be created.
 FinderResults findEntities(java.lang.reflect.Method finderMethod, java.lang.Object[] args, EntityEnterpriseContext instance)
          This method is called when collections of entities are to be found.
 java.lang.Object findEntity(java.lang.reflect.Method finderMethod, java.lang.Object[] args, EntityEnterpriseContext instance)
          This method is called when single entities are to be found.
 void loadEntities(FinderResults keys)
          This method is called whenever a set of entities should be preloaded from the underlying storage.
 void loadEntity(EntityEnterpriseContext instance)
          This method is called whenever an entity shall be load from the underlying storage.
 void passivateEntity(EntityEnterpriseContext instance)
          This method is called when an entity shall be passivate.
 void removeEntity(EntityEnterpriseContext instance)
          This method is called when an entity shall be removed from the underlying storage.
 void storeEntity(EntityEnterpriseContext instance)
          This method is called whenever an entity shall be stored to the underlying storage.
 
Methods inherited from interface org.jboss.ejb.ContainerPlugin
setContainer
 
Methods inherited from interface org.jboss.util.Service
destroy, init, start, stop
 

Method Detail

createEntity

public java.lang.Object createEntity(java.lang.reflect.Method m,
                                     java.lang.Object[] args,
                                     EntityEnterpriseContext instance)
                              throws java.lang.Exception
This method is called whenever an entity is to be created. The persistence manager is responsible for handling the results properly wrt the persistent store. The return is The primary key in case of CMP PM Null in case of BMP PM (but no store should exist)
Parameters:
m - the create method in the home interface that was called
args - any create parameters
instance - the instance being used for this create call
Returns:
Object, the primary key computed by CMP PM or null for BMP
Throws:
java.lang.Exception -  

findEntity

public java.lang.Object findEntity(java.lang.reflect.Method finderMethod,
                                   java.lang.Object[] args,
                                   EntityEnterpriseContext instance)
                            throws java.lang.Exception
This method is called when single entities are to be found. The persistence manager must find out whether the wanted instance is available in the persistence store, if so it returns the primary key of the object.
Parameters:
finderMethod - the find method in the home interface that was called
args - any finder parameters
instance - the instance to use for the finder call
Returns:
a primary key representing the found entity
Throws:
java.rmi.RemoteException - thrown if some system exception occurs
javax.ejb.FinderException - thrown if some heuristic problem occurs

findEntities

public FinderResults findEntities(java.lang.reflect.Method finderMethod,
                                  java.lang.Object[] args,
                                  EntityEnterpriseContext instance)
                           throws java.lang.Exception
This method is called when collections of entities are to be found. The persistence manager must find out whether the wanted instances are available in the persistence store, and if so it must return a collection of primaryKeys.
Parameters:
finderMethod - the find method in the home interface that was called
args - any finder parameters
instance - the instance to use for the finder call
Returns:
an primary key collection representing the found entities
Throws:
java.rmi.RemoteException - thrown if some system exception occurs
javax.ejb.FinderException - thrown if some heuristic problem occurs

activateEntity

public void activateEntity(EntityEnterpriseContext instance)
                    throws java.rmi.RemoteException
This method is called when an entity shall be activated. With the PersistenceManager factorization most EJB calls should not exists However this calls permits us to introduce optimizations in the persistence store. Particularly the context has a "PersistenceContext" that a PersistenceStore can use (JAWS does for smart updates) and this is as good a callback as any other to set it up.
Parameters:
instance - the instance to use for the activation
Throws:
java.rmi.RemoteException - thrown if some system exception occurs

loadEntity

public void loadEntity(EntityEnterpriseContext instance)
                throws java.rmi.RemoteException
This method is called whenever an entity shall be load from the underlying storage. The persistence manager must load the state from the underlying storage and then call ejbLoad on the supplied instance.
Parameters:
instance - the instance to synchronize
Throws:
java.rmi.RemoteException - thrown if some system exception occurs

loadEntities

public void loadEntities(FinderResults keys)
                  throws java.rmi.RemoteException
This method is called whenever a set of entities should be preloaded from the underlying storage. The persistence store is allowed to make this a null operation
Parameters:
instances - the EntityEnterpriseContexts for the entities that must be loaded
keys - a PagableKeyCollection previously returned from findEntities.

storeEntity

public void storeEntity(EntityEnterpriseContext instance)
                 throws java.rmi.RemoteException
This method is called whenever an entity shall be stored to the underlying storage. The persistence manager must call ejbStore on the supplied instance and then store the state to the underlying storage.
Parameters:
instance - the instance to synchronize
Throws:
java.rmi.RemoteException - thrown if some system exception occurs

passivateEntity

public void passivateEntity(EntityEnterpriseContext instance)
                     throws java.rmi.RemoteException
This method is called when an entity shall be passivate. The persistence manager must call the ejbPassivate method on the instance. See the activate discussion for the reason for exposing EJB callback calls to the store.
Parameters:
instance - the instance to passivate
Throws:
java.rmi.RemoteException - thrown if some system exception occurs

removeEntity

public void removeEntity(EntityEnterpriseContext instance)
                  throws java.rmi.RemoteException,
                         javax.ejb.RemoveException
This method is called when an entity shall be removed from the underlying storage. The persistence manager must call ejbRemove on the instance and then remove its state from the underlying storage.
Parameters:
instance - the instance to remove
Throws:
java.rmi.RemoteException - thrown if some system exception occurs
javax.ejb.RemoveException - thrown if the instance could not be removed


Copyright © 2000 The JBoss Organization. All Rights Reserved.