org.objectweb.jonas_ejb.deployment.api
Class BeanDesc

java.lang.Object
  |
  +--org.objectweb.jonas_ejb.deployment.api.BeanDesc
Direct Known Subclasses:
EntityDesc, MessageDrivenDesc, SessionDesc

public abstract class BeanDesc
extends java.lang.Object

Class to hold meta-information related to any enterprise-beans Contributor(s): Florent Benoit & Ludovic Bert : ejb_link Jeff Mesnil

Author:
Christophe Ney [cney@batisseurs.com], Helene Joanin

Field Summary
protected static int BEAN_TRANSACTION_TYPE
           
protected static int CONTAINER_TRANSACTION_TYPE
           
protected  DeploymentDesc deploymentDesc
           
protected  java.lang.String derivedBeanName
           
protected  java.lang.String displayName
           
protected  java.util.Properties ejb10EnvProps
           
protected  java.lang.Class ejbClass
           
protected  java.util.Vector ejbLocalRefDesc
           
protected  java.lang.String ejbName
           
protected  java.util.Vector ejbRefDesc
           
protected  java.util.Vector envEntryDesc
           
protected  java.lang.String fullDerivedBeanName
           
protected  java.lang.Class home
           
protected  java.lang.String jndiName
           
protected  java.lang.Class local
           
protected  java.lang.Class localhome
           
protected  java.lang.Class remote
           
protected  java.util.Vector resourceEnvRefDesc
           
protected  java.util.Vector resourceRefDesc
           
protected  java.util.HashMap securityRoleRef
           
protected static java.lang.String[] TRANS
           
 
Constructor Summary
BeanDesc(java.lang.ClassLoader classLoader, org.objectweb.jonas_ejb.deployment.xml.DisplayName displayname, org.objectweb.jonas_ejb.deployment.xml.EjbName ejbname, org.objectweb.jonas_ejb.deployment.xml.JndiName jndiname, org.objectweb.jonas_ejb.deployment.xml.Home home, org.objectweb.jonas_ejb.deployment.xml.Remote remote, org.objectweb.jonas_ejb.deployment.xml.LocalHome localhome, org.objectweb.jonas_ejb.deployment.xml.Local local, org.objectweb.jonas_ejb.deployment.xml.EjbClass ejbClass, java.util.List envEntryList, java.util.List resourceRefList, java.util.List jonasResourceList, java.util.List resourceEnvRefList, java.util.List jonasResourceEnvList, java.util.List ejbRefList, java.util.List jonasEjbRefList, java.util.List ejbLocalRefList, java.util.List securityRoleRefList, org.objectweb.jonas_ejb.deployment.xml.AssemblyDescriptor asd)
          constructor to be used by parent node
 
Method Summary
protected  MethodDesc addMethodDesc(java.lang.reflect.Method meth)
          add a new method descriptor to the bean
 void check()
          Check that the bean descriptor is valid
 void checkRemoteException(java.lang.reflect.Method m, boolean shouldThrow)
          Check if method throws RemoteException
protected abstract  void checkTxAttribute(MethodDesc md)
          check that trans-attribute is valid for bean
 DeploymentDesc getDeploymentDesc()
          get the parent deployment descriptor
 java.lang.String getDerivedBeanName()
          returns the name of the derived class of the bean
 java.lang.String getDisplayName()
          Get the displayName of the bean.
 java.util.Properties getEjb10Environment()
          Get bean's EJB 1.0 environment properties
 java.lang.Class getEjbClass()
          Get bean's class.
 EjbLocalRefDesc[] getEjbLocalRefDesc()
          Get bean's ejb local references.
 java.lang.String getEjbName()
          Get the enterprise bean's name.
 EjbRefDesc[] getEjbRefDesc()
          Get bean's ejb references.
 EnvEntryDesc[] getEnvEntryDesc()
          Get bean's environment entries.
 java.lang.String getFullDerivedBeanName()
          returns the full name of the derived class of the bean
 java.lang.String getFullWrpHandleName()
          returns the full name of the Handle class for the bean
 java.lang.String getFullWrpHomeName()
          returns the full name of the wrapper home class for the bean
 java.lang.String getFullWrpLocalHomeName()
          returns the full name of the wrapper local home class for the bean
 java.lang.String getFullWrpLocalName()
          returns the full name of the wrapper class for the bean
 java.lang.String getFullWrpRemoteName()
          returns the full name of the wrapper class for the bean
 java.lang.Class getHomeClass()
          Get bean's home interface.
protected  java.lang.String getIdentifierFromEjbName(java.lang.String ejbName)
          Build a valid java identifier from the ejb name
 java.lang.String getJndiLocalName()
          Get the name to associate with the enterprise Bean in the JNDI name space for local access (inside the same JOnAS Server)
 java.lang.String getJndiName()
          Get the name to associate with the enterprise Bean in the JNDI name space.
 java.lang.Class getLocalClass()
          Get bean's local interface.
 java.lang.Class getLocalHomeClass()
          Get bean's local home interface.
 MethodDesc getMethodDesc(int index)
          get a MethodDesc from its index
 MethodDesc getMethodDesc(java.lang.reflect.Method method)
          Deprecated. use getMethodDescIterator or getMethodDesc(int index) instead
 java.util.Iterator getMethodDescIterator()
          get an iterator for all MethodDesc of the bean
 java.lang.Class getRemoteClass()
          Get bean's remote interface.
 ResourceEnvRefDesc[] getResourceEnvRefDesc()
          Get bean's resource environment references.
 ResourceRefDesc[] getResourceRefDesc()
          Get bean's resource manager connection factory references.
 java.lang.String getRoleLink(java.lang.String roleName)
          Get the role-link value corresponding to the role-name value of a security-role-ref element
 java.lang.String[] getSecurityRoleNames()
          Get all the role names defined in the security-role-ref elements of the bean
 java.lang.String getWrpHandleName()
          returns the name of the Handle class for the bean
 java.lang.String getWrpHomeName()
          returns the name of the wrapper home class for the bean
 java.lang.String getWrpLocalHomeName()
          returns the name of the wrapper local home class for the bean
 java.lang.String getWrpLocalName()
          returns the name of the wrapper class for the bean
 java.lang.String getWrpRemoteName()
          returns the name of the wrapper class for the bean
protected  MethodDesc newMethodDescInstance(java.lang.reflect.Method meth, int index)
          MethodDesc constructor factory method to ovewrite
 void setDeploymentDesc(DeploymentDesc deploymentDesc)
          set the parent deployment descriptor
 java.lang.String toString()
          String representation of the object for test purpose
protected  void verifyRoleName(org.objectweb.jonas_ejb.deployment.xml.AssemblyDescriptor asd)
          check that there are always corresponding role-name element in security-role and method-permission elements
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

BEAN_TRANSACTION_TYPE

protected static final int BEAN_TRANSACTION_TYPE

CONTAINER_TRANSACTION_TYPE

protected static final int CONTAINER_TRANSACTION_TYPE

TRANS

protected static final java.lang.String[] TRANS

displayName

protected java.lang.String displayName

ejbName

protected java.lang.String ejbName

jndiName

protected java.lang.String jndiName

home

protected java.lang.Class home

remote

protected java.lang.Class remote

localhome

protected java.lang.Class localhome

local

protected java.lang.Class local

ejbClass

protected java.lang.Class ejbClass

envEntryDesc

protected java.util.Vector envEntryDesc

ejb10EnvProps

protected java.util.Properties ejb10EnvProps

resourceEnvRefDesc

protected java.util.Vector resourceEnvRefDesc

resourceRefDesc

protected java.util.Vector resourceRefDesc

ejbRefDesc

protected java.util.Vector ejbRefDesc

ejbLocalRefDesc

protected java.util.Vector ejbLocalRefDesc

securityRoleRef

protected java.util.HashMap securityRoleRef

deploymentDesc

protected DeploymentDesc deploymentDesc

fullDerivedBeanName

protected java.lang.String fullDerivedBeanName

derivedBeanName

protected java.lang.String derivedBeanName
Constructor Detail

BeanDesc

public BeanDesc(java.lang.ClassLoader classLoader,
                org.objectweb.jonas_ejb.deployment.xml.DisplayName displayname,
                org.objectweb.jonas_ejb.deployment.xml.EjbName ejbname,
                org.objectweb.jonas_ejb.deployment.xml.JndiName jndiname,
                org.objectweb.jonas_ejb.deployment.xml.Home home,
                org.objectweb.jonas_ejb.deployment.xml.Remote remote,
                org.objectweb.jonas_ejb.deployment.xml.LocalHome localhome,
                org.objectweb.jonas_ejb.deployment.xml.Local local,
                org.objectweb.jonas_ejb.deployment.xml.EjbClass ejbClass,
                java.util.List envEntryList,
                java.util.List resourceRefList,
                java.util.List jonasResourceList,
                java.util.List resourceEnvRefList,
                java.util.List jonasResourceEnvList,
                java.util.List ejbRefList,
                java.util.List jonasEjbRefList,
                java.util.List ejbLocalRefList,
                java.util.List securityRoleRefList,
                org.objectweb.jonas_ejb.deployment.xml.AssemblyDescriptor asd)
         throws DeploymentDescException
constructor to be used by parent node
Method Detail

getIdentifierFromEjbName

protected java.lang.String getIdentifierFromEjbName(java.lang.String ejbName)
Build a valid java identifier from the ejb name

checkRemoteException

public void checkRemoteException(java.lang.reflect.Method m,
                                 boolean shouldThrow)
                          throws DeploymentDescException
Check if method throws RemoteException
Throws:
DeploymentDescException - thrown for non-valid method

check

public void check()
           throws DeploymentDescException
Check that the bean descriptor is valid
Throws:
DeploymentDescException - thrown for non-valid bean

checkTxAttribute

protected abstract void checkTxAttribute(MethodDesc md)
                                  throws DeploymentDescException
check that trans-attribute is valid for bean

verifyRoleName

protected void verifyRoleName(org.objectweb.jonas_ejb.deployment.xml.AssemblyDescriptor asd)
                       throws DeploymentDescException
check that there are always corresponding role-name element in security-role and method-permission elements

getDisplayName

public java.lang.String getDisplayName()
Get the displayName of the bean. Used by Server
Returns:
null if not set

getEjbName

public java.lang.String getEjbName()
Get the enterprise bean's name.
Returns:
Name of the bean

getJndiName

public java.lang.String getJndiName()
Get the name to associate with the enterprise Bean in the JNDI name space. Invoking this method is disallowed for message driven bean. (This information is JOnAS specific). Used by Server
Returns:
Jndi name of the bean

getJndiLocalName

public java.lang.String getJndiLocalName()
Get the name to associate with the enterprise Bean in the JNDI name space for local access (inside the same JOnAS Server)
Returns:
Jndi name of the bean

getHomeClass

public java.lang.Class getHomeClass()
Get bean's home interface. Invoking this method is disallowed for message driven bean. Used by GenIC and Server
Returns:
Class for the home interface or null

getRemoteClass

public java.lang.Class getRemoteClass()
Get bean's remote interface. Invoking this method is disallowed for message driven bean. Used by GenIC and Server
Returns:
Class for the remote interface or null

getLocalHomeClass

public java.lang.Class getLocalHomeClass()
Get bean's local home interface. Invoking this method is disallowed for message driven bean. Used by GenIC and Server
Returns:
Class for the home interface or null

getLocalClass

public java.lang.Class getLocalClass()
Get bean's local interface. Invoking this method is disallowed for message driven bean. Used by GenIC and Server
Returns:
Class for the Local interface or null

getEjbClass

public java.lang.Class getEjbClass()
Get bean's class. Used by GenIC and Server
Returns:
Class for the bean

getEnvEntryDesc

public EnvEntryDesc[] getEnvEntryDesc()
Get bean's environment entries. Used by Server
Returns:
array of resource reference descriptors (may be empty)

getEjb10Environment

public java.util.Properties getEjb10Environment()
Get bean's EJB 1.0 environment properties

getResourceEnvRefDesc

public ResourceEnvRefDesc[] getResourceEnvRefDesc()
Get bean's resource environment references. Used by Server
Returns:
array of resource environment reference descriptors (may be empty)

getResourceRefDesc

public ResourceRefDesc[] getResourceRefDesc()
Get bean's resource manager connection factory references. Used by Server
Returns:
array of resource reference descriptors (may be empty)

getEjbRefDesc

public EjbRefDesc[] getEjbRefDesc()
Get bean's ejb references. Used by Server
Returns:
array of ejb reference descriptors (may be empty)

getEjbLocalRefDesc

public EjbLocalRefDesc[] getEjbLocalRefDesc()
Get bean's ejb local references. Used by Server
Returns:
array of ejb local reference descriptors (may be empty)

getMethodDesc

public MethodDesc getMethodDesc(java.lang.reflect.Method method)
Deprecated. use getMethodDescIterator or getMethodDesc(int index) instead

Get descriptor attached to a given method. Used by GenIC
Parameters:
method - Method from the Home/Remote/MessageListener interface
Returns:
The method descriptor (never returns null)

getMethodDescIterator

public java.util.Iterator getMethodDescIterator()
get an iterator for all MethodDesc of the bean

getMethodDesc

public MethodDesc getMethodDesc(int index)
get a MethodDesc from its index

getRoleLink

public java.lang.String getRoleLink(java.lang.String roleName)
Get the role-link value corresponding to the role-name value of a security-role-ref element
Parameters:
roleName - String corresponding to the role-name value of a security-role-ref element
Returns:
String corresponding to the role-link value

getSecurityRoleNames

public java.lang.String[] getSecurityRoleNames()
Get all the role names defined in the security-role-ref elements of the bean
Parameters:
roleName - String corresponding to the role-name value of a security-role-ref element
Returns:
String corresponding to the role-link value

toString

public java.lang.String toString()
String representation of the object for test purpose
Overrides:
toString in class java.lang.Object
Returns:
String representation of this object

newMethodDescInstance

protected MethodDesc newMethodDescInstance(java.lang.reflect.Method meth,
                                           int index)
MethodDesc constructor factory method to ovewrite

addMethodDesc

protected MethodDesc addMethodDesc(java.lang.reflect.Method meth)
add a new method descriptor to the bean

getFullWrpRemoteName

public java.lang.String getFullWrpRemoteName()
returns the full name of the wrapper class for the bean

getFullWrpLocalName

public java.lang.String getFullWrpLocalName()
returns the full name of the wrapper class for the bean

getWrpRemoteName

public java.lang.String getWrpRemoteName()
returns the name of the wrapper class for the bean

getWrpLocalName

public java.lang.String getWrpLocalName()
returns the name of the wrapper class for the bean

getFullWrpHandleName

public java.lang.String getFullWrpHandleName()
returns the full name of the Handle class for the bean

getWrpHandleName

public java.lang.String getWrpHandleName()
returns the name of the Handle class for the bean

getFullWrpHomeName

public java.lang.String getFullWrpHomeName()
returns the full name of the wrapper home class for the bean

getFullWrpLocalHomeName

public java.lang.String getFullWrpLocalHomeName()
returns the full name of the wrapper local home class for the bean

getWrpHomeName

public java.lang.String getWrpHomeName()
returns the name of the wrapper home class for the bean

getWrpLocalHomeName

public java.lang.String getWrpLocalHomeName()
returns the name of the wrapper local home class for the bean

getFullDerivedBeanName

public java.lang.String getFullDerivedBeanName()
returns the full name of the derived class of the bean

getDerivedBeanName

public java.lang.String getDerivedBeanName()
returns the name of the derived class of the bean

getDeploymentDesc

public DeploymentDesc getDeploymentDesc()
get the parent deployment descriptor

setDeploymentDesc

public void setDeploymentDesc(DeploymentDesc deploymentDesc)
set the parent deployment descriptor