All Downloads are FREE. Search and download functionalities are using the official Maven repository.

javax.ejb.EJBContext Maven / Gradle / Ivy

package javax.ejb;

import java.security.Identity;
import java.security.Principal;
import java.util.Map;
import java.util.Properties;

import javax.transaction.UserTransaction;

/**
 * 

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 and EntityContext * interface to provide additional methods specific to the enterprise * Bean type.

* @version $Revision$ */ public interface EJBContext { /** * Obtain the enterprise bean's remote home interface. * * @return The enterprise bean's remote home interface. * @exception java.lang.IllegalStateException - if the enterprise bean does not have a remote home interface. */ public EJBHome getEJBHome(); /** * Obtain the enterprise bean's local home interface. * * @return The enterprise bean's local home interface. * @exception java.lang.IllegalStateException - if the enterprise bean does not have a local home interface. */ public EJBLocalHome getEJBLocalHome(); /** * 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.

* * @return The environment properties for the enterprise bean. */ public Properties getEnvironment(); /** * 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 alway null from this method. The enterprise bean should use * the getCallerPrincipal method instead.

* * @return The Identity object that identifies the caller. */ public Identity getCallerIdentity(); /** * Obtains the java.security.Principal of the caller. * * @return The Principal object that identifies the caller. This method never returns null. */ public Principal getCallerPrincipal(); /** * Returns the context data associated with this invocation or lifecycle callback. If there * is no context data, an empty Map object will be returned. * @return Context data or empty map. * @since 3.1 */ Map getContextData(); /** * 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.

* * @param role - The java.security.Identity of the role to be tested. * @return True if the caller has the specified role. */ public boolean isCallerInRole(Identity role); /** * Tests if the caller has a given role. * * @param roleName - The name of the security role. The role must be one of the security roles that * is defined in the deployment descriptor. * @return True if the caller has the specified role. */ public boolean isCallerInRole(String roleName); /** * 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 with bean-managed transactions are allowed to invoke this method. * * @return The UserTransaction interface that the enterprise bean instance can use for transaction demarcation. * @exception java.lang.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). */ public UserTransaction getUserTransaction() 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. * * @exception java.lang.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). */ public void setRollbackOnly() 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.

* * @return True if the current transaction is marked for rollback, false otherwise. * @exception java.lang.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). */ public boolean getRollbackOnly() throws IllegalStateException; /** * Get access to the EJB Timer Service. * * @exception 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) */ public TimerService getTimerService() throws IllegalStateException; /** * Lookup a resource within the component's private naming context. * * @param name - Name of the entry (relative to java:comp/env). * @throws IllegalArgumentException - The Container throws the exception if * the given name does not match an entry within the component's environment. */ public Object lookup(String name) throws IllegalArgumentException; }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy