javax.ejb

## Interface SessionContext

- All Superinterfaces:
    EJBContext

      public interface SessionContext
      extends EJBContext

  The SessionContext interface provides access to the runtime session context that the container provides for a session 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.
  Since:
    EJB 1.0

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `<T> T` | `getBusinessObject(Class<T> businessInterface)` Obtain an object that can be used to invoke the current bean through a particular business interface view or its no-interface view.
    `EJBLocalObject` | `getEJBLocalObject()` Obtain a reference to the EJB local object that is associated with the instance.
    `EJBObject` | `getEJBObject()` Obtain a reference to the EJB object that is currently associated with the instance.
    `Class` | `getInvokedBusinessInterface()` Obtain the business interface or no-interface view type through which the current business method invocation was made.
    `MessageContext` | `getMessageContext()` Obtain a reference to the JAX-RPC MessageContext.
    `boolean` | `wasCancelCalled()` Check whether a client invoked the `cancel` method on the client `Future` object corresponding to the currently executing asynchronous business method.

    - ### Methods inherited from interface javax.ejb.EJBContext

      `getCallerIdentity, getCallerPrincipal, getContextData, getEJBHome, getEJBLocalHome, getEnvironment, getRollbackOnly, getTimerService, getUserTransaction, isCallerInRole, isCallerInRole, lookup, setRollbackOnly`

- - ### Method Detail

    - #### getEJBLocalObject

          EJBLocalObject getEJBLocalObject()
                                           throws IllegalStateException

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

      An instance of a session bean can call this method at anytime between the `PostConstruct` or `ejbCreate` and `PreDestroy` or `ejbRemove` methods, including from within these methods.

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

      Returns:
        The EJB local object currently associated with the instance.
      Throws:
        `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.
      Since:
        EJB 2.0

    - #### getEJBObject

          EJBObject getEJBObject()
                                 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 `PostConstruct` or `ejbCreate` and the `PreDestroy` or `ejbRemove` methods, including from within these methods.

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

      Returns:
        The EJB object currently associated with the instance.
      Throws:
        `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.

    - #### getMessageContext

          MessageContext getMessageContext()
                                           throws IllegalStateException

      Obtain a reference to the JAX-RPC MessageContext.

      An instance of a stateless session bean can call this method from any business method invoked through its web service endpoint interface.

      Note: Support for web services invocations using JAX-RPC is optional as of EJB 3.2

      Returns:
        The MessageContext for this web service invocation.
      Throws:
        `IllegalStateException` - Thrown if this method is invoked while the instance is in a state that does not allow access to this method.
      Since:
        EJB 2.1

    - #### getBusinessObject

          <T> T getBusinessObject(Class<T> businessInterface)
                              throws IllegalStateException

      Obtain an object that can be used to invoke the current bean through a particular business interface view or its no-interface view.
      Parameters:
        `businessInterface` - One of the local business interfaces or remote business interfaces for this session bean. In addition, the bean class type can be used to acquire a reference to the bean's no-interface view.
      Returns:
        The business object corresponding to the given business interface or no-interface view.
      Throws:
        `IllegalStateException` - Thrown if invoked with a parameter that does not correspond to one of the beans' business interfaces or no-interface view.
      Since:
        EJB 3.0

    - #### getInvokedBusinessInterface

          Class getInvokedBusinessInterface()
                                            throws IllegalStateException

      Obtain the business interface or no-interface view type through which the current business method invocation was made.
      Throws:
        `IllegalStateException` - Thrown if this method is called and the bean has not been invoked through a business interface or no-interface view.
      Since:
        EJB 3.0

    - #### wasCancelCalled

          boolean wasCancelCalled()
                                  throws IllegalStateException

      Check whether a client invoked the `cancel` method on the client `Future` object corresponding to the currently executing asynchronous business method.
      Returns:
        true if the client has invoked `Future.cancel` with a value of true for the `mayInterruptIfRunning` parameter.
      Throws:
        `IllegalStateException` - Thrown if not invoked from within an asynchronous business method invocation with return type `Future<V>`.
      Since:
        EJB 3.1

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.