org.jboss.metadata
Class BeanMetaData

java.lang.Object
  extended by org.jboss.metadata.MetaData
      extended by org.jboss.metadata.BeanMetaData
All Implemented Interfaces:
Cloneable, XmlLoadable
Direct Known Subclasses:
EntityMetaData, MessageDrivenMetaData, SessionMetaData

public abstract class BeanMetaData
extends MetaData

A common meta data class for the entity, message-driven and session beans.

Version:
$Revision: 57209 $
Author:
Sebastien Alborini, Peter Antman, Daniel OConnor, Scott Stark, Ole Husgaard, Bill Burke, Christian Riege, Thomas Diesler, Dimitris Andreadis

Field Summary
protected  char beanType
          The type of bean: ENTITY_TYPE, SESSION_TYPE, MDB_TYPE
protected  boolean callByValue
          Should the bean use by value call semeantics
protected  boolean clustered
          Is the bean marked as clustered
protected  String configurationName
          The container configuration name
protected  boolean containerManagedTx
          Is this bean's transactions managed by the container?
static char ENTITY_TYPE
           
protected  HashMap invokerBindings
          The invoker names to JNDI name mapping
static String LOCAL_INVOKER_PROXY_BINDING
           
static char MDB_TYPE
           
protected  EjbPortComponentMetaData portComponent
          The jboss port-component binding for a ejb webservice
protected  String serviceEndpointClass
          The service-endpoint element contains the fully-qualified name of the bean�s service endpoint interface (SEI)
static char SESSION_TYPE
           
 
Fields inherited from class org.jboss.metadata.MetaData
log, TX_MANDATORY, TX_NEVER, TX_NOT_SUPPORTED, TX_REQUIRED, TX_REQUIRES_NEW, TX_SUPPORTS, TX_UNKNOWN
 
Constructor Summary
BeanMetaData(ApplicationMetaData app, char beanType)
           
 
Method Summary
 void addExcludedMethod(MethodMetaData method)
           
 void addPermissionMethod(MethodMetaData method)
           
 void addTransactionMethod(MethodMetaData method)
           
protected abstract  void defaultInvokerBindings()
           
 ApplicationMetaData getApplicationMetaData()
           
 ClusterConfigMetaData getClusterConfigMetaData()
           
 String getConfigurationName()
           
 ConfigurationMetaData getContainerConfiguration()
           
 String getContainerObjectNameJndiName()
          Gets the container jndi name used in the object name
abstract  String getDefaultConfigurationName()
           
 Collection getDepends()
           
 String getEjbClass()
           
 EjbLocalRefMetaData getEjbLocalRefByName(String name)
           
 Iterator getEjbLocalReferences()
           
 String getEjbName()
           
 EjbRefMetaData getEjbRefByName(String name)
           
 Iterator getEjbReferences()
           
 SecurityIdentityMetaData getEjbTimeoutIdentity()
           
 Iterator getEnvironmentEntries()
           
 boolean getExceptionRollback()
           
 Iterator getExcludedMethods()
           
 String getHome()
           
 String getInvokerBinding(String invokerName)
           
 Iterator getInvokerBindings()
           
 IorSecurityConfigMetaData getIorSecurityConfigMetaData()
           
 String getJndiName()
           
 String getLocal()
           
 String getLocalHome()
           
 String getLocalJndiName()
          Gets the JNDI name under with the local home interface should be bound.
 Iterator getMessageDestinationReferences()
           
 Set getMethodPermissions(String methodName, Class[] params, InvocationType iface)
          A somewhat tedious method that builds a Set of the roles that have been assigned permission to execute the indicated method.
 byte getMethodTransactionType(String methodName, Class[] params, InvocationType iface)
           
 Iterator getPermissionMethods()
           
 EjbPortComponentMetaData getPortComponent()
           
 String getRemote()
           
 Iterator getResourceEnvReferences()
           
 Iterator getResourceReferences()
           
 SecurityIdentityMetaData getSecurityIdentityMetaData()
           
 String getSecurityProxy()
           
 Iterator getSecurityRoleReferences()
           
 String getServiceEndpoint()
           
 HashMap getServiceReferences()
           
 boolean getTimerPersistence()
           
 byte getTransactionMethod(Method m, InvocationType iface)
           
 Iterator getTransactionMethods()
           
 int getTransactionTimeout(Method method)
           
 int getTransactionTimeout(String methodName)
          Get the transaction timeout for the method
 boolean hasMethodPermission(String methodName, Class[] params, InvocationType iface)
          Check to see if there was a method-permission or exclude-list statement for the given method.
 void importEjbJarXml(Element element)
          Called to parse the ejb-jar.xml enterprise-beans child ejb elements
 void importJbossXml(Element element)
          Called to parse the jboss.xml enterprise-beans child ejb elements
 boolean isBeanManagedTx()
           
 boolean isCallByValue()
           
 boolean isClustered()
           
 boolean isContainerManagedTx()
           
 boolean isEntity()
           
 boolean isExcludeMissingMethods()
           
 boolean isMessageDriven()
           
 boolean isMethodReadOnly(Method method)
           
 boolean isMethodReadOnly(String methodName)
          Is this method a read-only method described in jboss.xml?
 boolean isSession()
           
 
Methods inherited from class org.jboss.metadata.MetaData
clone, getChildrenByTagName, getElementAttribute, getElementAttribute, getElementContent, getElementContent, getElementContent, getFirstElementContent, getFirstElementContent, getOptionalChild, getOptionalChild, getOptionalChildBooleanContent, getOptionalChildBooleanContent, getOptionalChildContent, getOptionalChildContent, getUniqueChild, getUniqueChildContent, importXml, jdk13Enabled
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SESSION_TYPE

public static final char SESSION_TYPE
See Also:
Constant Field Values

ENTITY_TYPE

public static final char ENTITY_TYPE
See Also:
Constant Field Values

MDB_TYPE

public static final char MDB_TYPE
See Also:
Constant Field Values

LOCAL_INVOKER_PROXY_BINDING

public static final String LOCAL_INVOKER_PROXY_BINDING
See Also:
Constant Field Values

serviceEndpointClass

protected String serviceEndpointClass
The service-endpoint element contains the fully-qualified name of the bean�s service endpoint interface (SEI)


beanType

protected char beanType
The type of bean: ENTITY_TYPE, SESSION_TYPE, MDB_TYPE


containerManagedTx

protected boolean containerManagedTx
Is this bean's transactions managed by the container?


invokerBindings

protected HashMap invokerBindings
The invoker names to JNDI name mapping


configurationName

protected String configurationName
The container configuration name


clustered

protected boolean clustered
Is the bean marked as clustered


callByValue

protected boolean callByValue
Should the bean use by value call semeantics


portComponent

protected EjbPortComponentMetaData portComponent
The jboss port-component binding for a ejb webservice

Constructor Detail

BeanMetaData

public BeanMetaData(ApplicationMetaData app,
                    char beanType)
Method Detail

isSession

public boolean isSession()

isMessageDriven

public boolean isMessageDriven()

isEntity

public boolean isEntity()

getHome

public String getHome()

getRemote

public String getRemote()

getLocalHome

public String getLocalHome()

getLocal

public String getLocal()

getServiceEndpoint

public String getServiceEndpoint()

getPortComponent

public EjbPortComponentMetaData getPortComponent()

getEjbClass

public String getEjbClass()

getEjbName

public String getEjbName()

isContainerManagedTx

public boolean isContainerManagedTx()

isBeanManagedTx

public boolean isBeanManagedTx()

getEjbReferences

public Iterator getEjbReferences()

getEjbLocalReferences

public Iterator getEjbLocalReferences()

defaultInvokerBindings

protected abstract void defaultInvokerBindings()

getInvokerBindings

public Iterator getInvokerBindings()

getInvokerBinding

public String getInvokerBinding(String invokerName)

getEjbRefByName

public EjbRefMetaData getEjbRefByName(String name)

getEjbLocalRefByName

public EjbLocalRefMetaData getEjbLocalRefByName(String name)

getEnvironmentEntries

public Iterator getEnvironmentEntries()

getSecurityRoleReferences

public Iterator getSecurityRoleReferences()

getResourceReferences

public Iterator getResourceReferences()

getResourceEnvReferences

public Iterator getResourceEnvReferences()

getMessageDestinationReferences

public Iterator getMessageDestinationReferences()

getServiceReferences

public HashMap getServiceReferences()
Returns:
HashMap

getJndiName

public String getJndiName()

getLocalJndiName

public String getLocalJndiName()
Gets the JNDI name under with the local home interface should be bound. The default is local/<ejbName>


getContainerObjectNameJndiName

public String getContainerObjectNameJndiName()
Gets the container jndi name used in the object name


getConfigurationName

public String getConfigurationName()

getContainerConfiguration

public ConfigurationMetaData getContainerConfiguration()

getSecurityProxy

public String getSecurityProxy()

getSecurityIdentityMetaData

public SecurityIdentityMetaData getSecurityIdentityMetaData()

getEjbTimeoutIdentity

public SecurityIdentityMetaData getEjbTimeoutIdentity()

getApplicationMetaData

public ApplicationMetaData getApplicationMetaData()

getDefaultConfigurationName

public abstract String getDefaultConfigurationName()

getTransactionMethods

public Iterator getTransactionMethods()

getPermissionMethods

public Iterator getPermissionMethods()

getExcludedMethods

public Iterator getExcludedMethods()

addTransactionMethod

public void addTransactionMethod(MethodMetaData method)

addPermissionMethod

public void addPermissionMethod(MethodMetaData method)

addExcludedMethod

public void addExcludedMethod(MethodMetaData method)

getMethodTransactionType

public byte getMethodTransactionType(String methodName,
                                     Class[] params,
                                     InvocationType iface)

getTransactionMethod

public byte getTransactionMethod(Method m,
                                 InvocationType iface)

getDepends

public Collection getDepends()

isMethodReadOnly

public boolean isMethodReadOnly(String methodName)
Is this method a read-only method described in jboss.xml?


isMethodReadOnly

public boolean isMethodReadOnly(Method method)

getTransactionTimeout

public int getTransactionTimeout(String methodName)
Get the transaction timeout for the method


getTransactionTimeout

public int getTransactionTimeout(Method method)

getMethodPermissions

public Set getMethodPermissions(String methodName,
                                Class[] params,
                                InvocationType iface)
A somewhat tedious method that builds a Set of the roles that have been assigned permission to execute the indicated method. The work performed is tedious because of the wildcard style of declaring method permission allowed in the ejb-jar.xml descriptor. This method is called by the Container.getMethodPermissions() when it fails to find the prebuilt set of method roles in its cache.

Returns:
The Set for the application domain roles that caller principal's are to be validated against.

hasMethodPermission

public boolean hasMethodPermission(String methodName,
                                   Class[] params,
                                   InvocationType iface)
Check to see if there was a method-permission or exclude-list statement for the given method.

Parameters:
methodName - - the method name
params - - the method parameter signature
iface - - the method interface type
Returns:
true if a matching method permission exists, false if no match

isClustered

public boolean isClustered()

isCallByValue

public boolean isCallByValue()

isExcludeMissingMethods

public boolean isExcludeMissingMethods()

getClusterConfigMetaData

public ClusterConfigMetaData getClusterConfigMetaData()

getIorSecurityConfigMetaData

public IorSecurityConfigMetaData getIorSecurityConfigMetaData()

getExceptionRollback

public boolean getExceptionRollback()

getTimerPersistence

public boolean getTimerPersistence()

importEjbJarXml

public void importEjbJarXml(Element element)
                     throws org.jboss.deployment.DeploymentException
Called to parse the ejb-jar.xml enterprise-beans child ejb elements

Overrides:
importEjbJarXml in class MetaData
Parameters:
element - one of session/entity/message-driven
Throws:
org.jboss.deployment.DeploymentException

importJbossXml

public void importJbossXml(Element element)
                    throws org.jboss.deployment.DeploymentException
Called to parse the jboss.xml enterprise-beans child ejb elements

Overrides:
importJbossXml in class MetaData
Parameters:
element - one of session/entity/message-driven
Throws:
org.jboss.deployment.DeploymentException


Copyright © 2002 JBoss Group, LLC. All Rights Reserved.