Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jboss.ejb.plugins
Class CMPPersistenceManager

    java.lang.Object
      org.jboss.ejb.plugins.CMPPersistenceManager

All Implemented Interfaces:
  AllowedOperationsFlags, ContainerPlugin, EntityPersistenceManager, org.jboss.system.Service

public class CMPPersistenceManager
extends Object
implements EntityPersistenceManager

The CMP Persistence Manager implements the semantics of the CMP EJB 1.1 call back specification.

This Manager works with a "EntityPersistenceStore" that takes care of the physical storing of instances (JAWS, JDBC O/R, FILE, Object).

Version:
  $Revision: 1.56 $
Author:
  Marc Fleury, Dan Christopherson, Bill Burke, Andreas Schaefer, Dain Sundstrom, Alex Loubyansky

Field Summary

Fields inherited from interface org.jboss.ejb.AllowedOperationsFlags
`IN_AFTER_BEGIN, IN_AFTER_COMPLETION, IN_BEFORE_COMPLETION, IN_BUSINESS_METHOD, IN_EJB_ACTIVATE, IN_EJB_CREATE, IN_EJB_FIND, IN_EJB_HOME, IN_EJB_LOAD, IN_EJB_PASSIVATE, IN_EJB_POST_CREATE, IN_EJB_REMOVE, IN_EJB_STORE, IN_EJB_TIMEOUT, IN_INTERCEPTOR_METHOD, IN_SERVICE_ENDPOINT_METHOD, IN_SET_ENTITY_CONTEXT, IN_SET_MESSAGE_DRIVEN_CONTEXT, IN_SET_SESSION_CONTEXT, IN_UNSET_ENTITY_CONTEXT, NOT_ALLOWED`

Constructor Summary
`CMPPersistenceManager()`

Method Summary
`void` | `activateEntity(EntityEnterpriseContext ctx)` This method is called when an entity shall be activated.
`void` | `create()`
`Object` | `createBeanClassInstance()` Returns a new instance of the bean class or a subclass of the bean class.
`void` | `createEntity(Method m, Object[] args, EntityEnterpriseContext ctx)` This method is called whenever an entity is to be created.
`void` | `destroy()`
`Collection` | `findEntities(Method finderMethod, Object[] args, EntityEnterpriseContext ctx, GenericEntityObjectFactory factory)` find multiple entities
`Object` | `findEntity(Method finderMethod, Object[] args, EntityEnterpriseContext ctx, GenericEntityObjectFactory factory)` This method is called when single entities are to be found.
`EntityPersistenceStore` | `getPersistenceStore()` Gets the entity persistence store.
`void` | `invokeEjbStore(EntityEnterpriseContext ctx)` Invokes ejbStore on the instance.
`protected void` | `invokeLoad(EntityEnterpriseContext ctx)`
`boolean` | `isModified(EntityEnterpriseContext ctx)` This method is used to determined whether the instance was modified.
`boolean` | `isStoreRequired(EntityEnterpriseContext ctx)` This method is used to determine if an entity should be stored.
`void` | `loadEntity(EntityEnterpriseContext ctx)` This method is called whenever an entity shall be load from the underlying storage.
`void` | `passivateEntity(EntityEnterpriseContext ctx)` This method is called when an entity shall be passivate.
`void` | `postCreateEntity(Method m, Object[] args, EntityEnterpriseContext ctx)` This method is called whenever an entity is to be created.
`void` | `removeEntity(EntityEnterpriseContext ctx)` This method is called when an entity shall be removed from the underlying storage.
`void` | `setContainer(Container c)` This callback is set by the container so that the plugin may access it
`void` | `setPersistenceStore(EntityPersistenceStore store)`
`void` | `start()`
`void` | `stop()`
`void` | `storeEntity(EntityEnterpriseContext ctx)` This method is called whenever an entity shall be stored to the underlying storage.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### CMPPersistenceManager

    public CMPPersistenceManager()

Method Detail

### setContainer

    public void setContainer(Container c)

  Description copied from interface: `ContainerPlugin`
  This callback is set by the container so that the plugin may access it

  Specified by:
    `setContainer` in interface `ContainerPlugin`
  Parameters:
    `c` - The container using this plugin. This may be null if the plugin is being disassociated from a container.

### getPersistenceStore

    public EntityPersistenceStore getPersistenceStore()

  Gets the entity persistence store.

### setPersistenceStore

    public void setPersistenceStore(EntityPersistenceStore store)

### create

    public void create()
                throws Exception

  Specified by:
    `create` in interface `org.jboss.system.Service`
  Throws:
    `Exception`

### createBeanClassInstance

    public Object createBeanClassInstance()
                                   throws Exception

  Returns a new instance of the bean class or a subclass of the bean class.

  Specified by:
    `createBeanClassInstance` in interface `EntityPersistenceManager`
  Returns:
    the new instance
  Throws:
    `Exception`

### start

    public void start()
               throws Exception

  Specified by:
    `start` in interface `org.jboss.system.Service`
  Throws:
    `Exception`

### stop

    public void stop()

  Specified by:
    `stop` in interface `org.jboss.system.Service`

### destroy

    public void destroy()

  Specified by:
    `destroy` in interface `org.jboss.system.Service`

### createEntity

    public void createEntity(Method m,
                             Object[] args,
                             EntityEnterpriseContext ctx)
                      throws Exception

  Description copied from interface: `EntityPersistenceManager`
  This method is called whenever an entity is to be created. The persistence manager is responsible for calling the ejbCreate method on the instance and to handle the results properly wrt the persistent store.

  Specified by:
    `createEntity` in interface `EntityPersistenceManager`
  Parameters:
    `m` - the create method in the home interface that was called
    `args` - any create parameters
    `ctx` - the instance being used for this create call
  Throws:
    `Exception`

### postCreateEntity

    public void postCreateEntity(Method m,
                                 Object[] args,
                                 EntityEnterpriseContext ctx)
                          throws Exception

  Description copied from interface: `EntityPersistenceManager`
  This method is called whenever an entity is to be created. The persistence manager is responsible for calling the ejbPostCreate method on the instance and to handle the results properly wrt the persistent store.

  Specified by:
    `postCreateEntity` in interface `EntityPersistenceManager`
  Parameters:
    `m` - the create method in the home interface that was called
    `args` - any create parameters
    `ctx` - the instance being used for this create call
  Throws:
    `Exception`

### findEntity

    public Object findEntity(Method finderMethod,
                             Object[] args,
                             EntityEnterpriseContext ctx,
                             GenericEntityObjectFactory factory)
                      throws Exception

  Description copied from interface: `EntityPersistenceManager`
  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, and if so it shall use the EJBProxyFactory plugin to create an EJBObject to the instance, which is to be returned as result.

  Specified by:
    `findEntity` in interface `EntityPersistenceManager`
  Parameters:
    `finderMethod` - the find method in the home interface that was called
    `args` - any finder parameters
    `ctx` - the instance to use for the finder call
  Returns:
    an EJBObject representing the found entity
  Throws:
    `Exception`

### findEntities

    public Collection findEntities(Method finderMethod,
                                   Object[] args,
                                   EntityEnterpriseContext ctx,
                                   GenericEntityObjectFactory factory)
                            throws Exception

  find multiple entities

  Specified by:
    `findEntities` in interface `EntityPersistenceManager`
  Parameters:
    `finderMethod` - the find method in the home interface that was called
    `args` - any finder parameters
    `ctx` - the instance to use for the finder call
  Returns:
    an EJBObject collection representing the found entities
  Throws:
    `Exception`

### activateEntity

    public void activateEntity(EntityEnterpriseContext ctx)
                        throws RemoteException

  Description copied from interface: `EntityPersistenceManager`
  This method is called when an entity shall be activated. The persistence manager must call the ejbActivate method on the instance.

  Specified by:
    `activateEntity` in interface `EntityPersistenceManager`
  Parameters:
    `ctx` - the instance to use for the activation
  Throws:
    `RemoteException` - thrown if some system exception occurs

### loadEntity

    public void loadEntity(EntityEnterpriseContext ctx)
                    throws RemoteException

  Description copied from interface: `EntityPersistenceManager`
  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.

  Specified by:
    `loadEntity` in interface `EntityPersistenceManager`
  Parameters:
    `ctx` - the instance to synchronize
  Throws:
    `RemoteException` - thrown if some system exception occurs

### isStoreRequired

    public boolean isStoreRequired(EntityEnterpriseContext ctx)
                            throws Exception

  Description copied from interface: `EntityPersistenceManager`
  This method is used to determine if an entity should be stored.

  Specified by:
    `isStoreRequired` in interface `EntityPersistenceManager`
  Parameters:
    `ctx` - the instance to check
  Returns:
    true, if the entity has been modified
  Throws:
    `Exception` - thrown if some system exception occurs

### isModified

    public boolean isModified(EntityEnterpriseContext ctx)
                       throws Exception

  Description copied from interface: `EntityPersistenceManager`
  This method is used to determined whether the instance was modified. NOTE, even if the method returns true the isStoreRequired for this same instance might return false, e.g. a CMR field that doesn't have a foreign key was modified.

  Specified by:
    `isModified` in interface `EntityPersistenceManager`
  Parameters:
    `ctx` -
  Returns:
  Throws:
    `Exception`

### storeEntity

    public void storeEntity(EntityEnterpriseContext ctx)
                     throws RemoteException

  Description copied from interface: `EntityPersistenceManager`
  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.

  Specified by:
    `storeEntity` in interface `EntityPersistenceManager`
  Parameters:
    `ctx` - the instance to synchronize
  Throws:
    `RemoteException` - thrown if some system exception occurs

### invokeEjbStore

    public void invokeEjbStore(EntityEnterpriseContext ctx)
                        throws RemoteException

  Description copied from interface: `EntityPersistenceManager`
  Invokes ejbStore on the instance.

  Specified by:
    `invokeEjbStore` in interface `EntityPersistenceManager`
  Parameters:
    `ctx` -
  Throws:
    `RemoteException`

### passivateEntity

    public void passivateEntity(EntityEnterpriseContext ctx)
                         throws RemoteException

  Description copied from interface: `EntityPersistenceManager`
  This method is called when an entity shall be passivate. The persistence manager must call the ejbPassivate method on the instance.

  Specified by:
    `passivateEntity` in interface `EntityPersistenceManager`
  Parameters:
    `ctx` - the instance to passivate
  Throws:
    `RemoteException` - thrown if some system exception occurs

### removeEntity

    public void removeEntity(EntityEnterpriseContext ctx)
                      throws RemoteException,
                             javax.ejb.RemoveException

  Description copied from interface: `EntityPersistenceManager`
  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.

  Specified by:
    `removeEntity` in interface `EntityPersistenceManager`
  Parameters:
    `ctx` - the instance to remove
  Throws:
    `javax.ejb.RemoveException` - thrown if the instance could not be removed
    `RemoteException` - thrown if some system exception occurs

### invokeLoad

    protected void invokeLoad(EntityEnterpriseContext ctx)
                       throws RemoteException

  Throws:
    `RemoteException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002 JBoss Group, LLC. All Rights Reserved.