/* * JBoss, the OpenSource EJB server * * Distributable under LGPL license. * See terms of license at gnu.org. */ package javax.ejb; /** * The SessionContext interface provides access to the runtime session * context that the container provides for a session enterprise Bean * instance. The container passes the SessionContext interface to an * instance after the instance has been created. The session context * remains associated with the instance for the lifetime of the instance. */ public interface SessionContext extends EJBContext { /** *

Obtain a reference to the EJB local object that is currently associated with the instance.

* *

An instance of an entity enterprise Bean can call this method only when the instance is associated * with an EJB local object identity, i.e. in the ejbActivate, ejbPassivate, ejbPostCreate, ejbRemove, ejbLoad, * ejbStore, and business methods.

* *

An instance can use this method, for example, when it wants to pass a reference to itself in a method * argument or result.

* * @return The EJB local object currently associated with the instance. * @exception java.lang.IllegalStateException - Thrown if the instance invokes this method while the instance * is in a state that does not allow the instance to invoke this method, or if the instance does not have a * local interface. */ public EJBLocalObject getEJBLocalObject() throws IllegalStateException; /** *

Obtain a reference to the EJB object that is currently associated with the instance.

* *

An instance of a session enterprise Bean can call this method at anytime between the ejbCreate() * and ejbRemove() methods, including from within the ejbCreate() and ejbRemove() methods.

* *

An instance can use this method, for example, when it wants to pass a reference to itself in a method * argument or result.

* * @return The EJB object currently associated with the instance. * @exception java.lang.IllegalStateException - Thrown if the instance invokes this method while the instance * is in a state that does not allow the instance to invoke this method, or if the instance does not have a * remote interface. */ public EJBObject getEJBObject() throws IllegalStateException; }