javax.ejb

## Interface EJBContext

- All Known Subinterfaces:
    EntityContext, MessageDrivenContext, SessionContext

      public interface EJBContext

  The EJBContext interface provides an instance with access to the container-provided runtime context of an enterprise bean instance.

  This interface is extended by the `SessionContext`, `EntityContext`, and `MessageDrivenContext` interfaces to provide additional methods specific to the enterprise interface bean type.

  Since:
    EJB 1.0
  See Also:
    `SessionContext`, `MessageDrivenContext`, `EntityContext`

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Identity` | `getCallerIdentity()` Deprecated. Use Principal getCallerPrincipal() instead.
    `Principal` | `getCallerPrincipal()` Obtain the `java.security.Principal` that identifies the caller.
    `Map<String,Object>` | `getContextData()` The `getContextData` method enables a business method, lifecycle callback method, or timeout method to retrieve any interceptor/webservices context associated with its invocation.
    `EJBHome` | `getEJBHome()` Obtain the enterprise bean's remote home interface.
    `EJBLocalHome` | `getEJBLocalHome()` Obtain the enterprise bean's local home interface.
    `Properties` | `getEnvironment()` Deprecated. Use the JNDI naming context java:comp/env to access enterprise bean's environment.
    `boolean` | `getRollbackOnly()` Test if the transaction has been marked for rollback only.
    `TimerService` | `getTimerService()` Get access to the EJB Timer Service.
    `UserTransaction` | `getUserTransaction()` Obtain the transaction demarcation interface.
    `boolean` | `isCallerInRole(Identity role)` Deprecated. Use boolean isCallerInRole(String roleName) instead.
    `boolean` | `isCallerInRole(String roleName)` Test if the caller has a given security role.
    `Object` | `lookup(String name)` Lookup a resource within the `java:` namespace.
    `void` | `setRollbackOnly()` Mark the current transaction for rollback.

- - ### Method Detail

    - #### getEJBHome

          EJBHome getEJBHome()
                             throws IllegalStateException

      Obtain the enterprise bean's remote home interface.
      Returns:
        The enterprise bean's remote home interface.
      Throws:
        `IllegalStateException` - if the enterprise bean does not have a remote home interface.

    - #### getEJBLocalHome

          EJBLocalHome getEJBLocalHome()
                                       throws IllegalStateException

      Obtain the enterprise bean's local home interface.
      Returns:
        The enterprise bean's local home interface.
      Throws:
        `IllegalStateException` - if the enterprise bean does not have a local home interface.
      Since:
        EJB 2.0

    - #### getEnvironment

          Properties getEnvironment()

      Deprecated. Use the JNDI naming context java:comp/env to access enterprise bean's environment.
      Obtain the enterprise bean's environment properties.

      Note: If the enterprise bean has no environment properties this method returns an empty `java.util.Properties` object. This method never returns `null`.

      Returns:
        The environment properties for the enterprise bean.

    - #### getCallerIdentity

          Identity getCallerIdentity()

      Deprecated. Use Principal getCallerPrincipal() instead.
      Obtain the `java.security.Identity` of the caller. This method is deprecated in EJB 1.1. The Container is allowed to return always `null` from this method. The enterprise bean should use the `getCallerPrincipal` method instead.
      Returns:
        The `Identity` object that identifies the caller.

    - #### getCallerPrincipal

          Principal getCallerPrincipal()
                                       throws IllegalStateException

      Obtain the `java.security.Principal` that identifies the caller.
      Returns:
        The `Principal` object that identifies the caller. This method never returns `null`.
      Throws:
        `IllegalStateException` - The Container throws the exception if the instance is not allowed to call this method.
      Since:
        EJB 1.1

    - #### isCallerInRole

          boolean isCallerInRole(Identity role)

      Deprecated. Use boolean isCallerInRole(String roleName) instead.
      Test if the caller has a given role.

      This method is deprecated in EJB 1.1. The enterprise bean should use the `isCallerInRole(String roleName)` method instead.

      Parameters:
        `role` - The `java.security.Identity` of the role to be tested.
      Returns:
        True if the caller has the specified role.

    - #### isCallerInRole

          boolean isCallerInRole(String roleName)
                                 throws IllegalStateException

      Test if the caller has a given security role.
      Parameters:
        `roleName` - The name of the security role. The role must be one of the security roles that is defined in the deployment descriptor.
      Returns:
        True if the caller has the specified role.
      Throws:
        `IllegalStateException` - The Container throws the exception if the instance is not allowed to call this method.
      Since:
        EJB 1.1

    - #### getUserTransaction

          UserTransaction getUserTransaction()
                                             throws IllegalStateException

      Obtain the transaction demarcation interface. Only enterprise beans with bean-managed transactions are allowed to to use the `UserTransaction` interface. As entity beans must always use container-managed transactions, only session beans or message-driven beans with bean-managed transactions are allowed to invoke this method.
      Returns:
        The `UserTransaction` interface that the enterprise bean instance can use for transaction demarcation.
      Throws:
        `IllegalStateException` - The Container throws the exception if the instance is not allowed to use the `UserTransaction` interface (i.e. the instance is of a bean with container-managed transactions).

    - #### setRollbackOnly

          void setRollbackOnly()
                               throws IllegalStateException

      Mark the current transaction for rollback. The transaction will become permanently marked for rollback. A transaction marked for rollback can never commit. Only enterprise beans with container-managed transactions are allowed to use this method.
      Throws:
        `IllegalStateException` - The Container throws the exception if the instance is not allowed to use this method (i.e. the instance is of a bean with bean-managed transactions).

    - #### getRollbackOnly

          boolean getRollbackOnly()
                                  throws IllegalStateException

      Test if the transaction has been marked for rollback only. An enterprise bean instance can use this operation, for example, to test after an exception has been caught, whether it is fruitless to continue computation on behalf of the current transaction. Only enterprise beans with container-managed transactions are allowed to use this method.
      Returns:
        True if the current transaction is marked for rollback, false otherwise.
      Throws:
        `IllegalStateException` - The Container throws the exception if the instance is not allowed to use this method (i.e. the instance is of a bean with bean-managed transactions).

    - #### getTimerService

          TimerService getTimerService()
                                       throws IllegalStateException

      Get access to the EJB Timer Service.
      Throws:
        `IllegalStateException` - The Container throws the exception if the instance is not allowed to use this method (e.g. if the bean is a stateful session bean)
      Since:
        EJB 2.1

    - #### lookup

          Object lookup(String name)
                        throws IllegalArgumentException

      Lookup a resource within the `java:` namespace. Names referring to entries within the private component namespace can be passed as unqualified strings. In that case the lookup will be relative to `"java:comp/env/"`. For example, assuming an enterprise bean defines an `ejb-local-ref` with `ejb-ref-name` `"ejb/BarRef"` the following two calls to `EJBContext.lookup` are equivalent : `ejbContext.lookup("ejb/BarRef")`; `ejbContext.lookup("java:comp/env/ejb/BarRef")`;
      Parameters:
        `name` - Name of the entry
      Throws:
        `IllegalArgumentException` - The Container throws the exception if the given name does not match an entry within the component's environment.
      Since:
        EJB 3.0

    - #### getContextData

          Map<String,Object> getContextData()

      The `getContextData` method enables a business method, lifecycle callback method, or timeout method to retrieve any interceptor/webservices context associated with its invocation.
      Returns:
        the context data that interceptor context associated with this invocation. If there is no context data, an empty `Map<String,Object>` object will be returned.
      Since:
        EJB 3.1

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