org.apache.openejb.jee
Class Method

java.lang.Object
  extended by org.apache.openejb.jee.Method

public class Method
extends Object

The methodType is used to denote a method of an enterprise bean's business, home, component, and/or web service endpoint interface, or, in the case of a message-driven bean, the bean's message listener method, or a set of such methods. The ejb-name element must be the name of one of the enterprise beans declared in the deployment descriptor; the optional method-intf element allows to distinguish between a method with the same signature that is multiply defined across the business, home, component, and/or web service endpoint nterfaces; the method-name element specifies the method name; and the optional method-params elements identify a single method among multiple methods with an overloaded method name.

There are three possible styles of using methodType element within a method element:

1. EJBNAME *

This style is used to refer to all the methods of the specified enterprise bean's business, home, component, and/or web service endpoint interfaces.

2. EJBNAME METHOD

This style is used to refer to the specified method of the specified enterprise bean. If there are multiple methods with the same overloaded name, the element of this style refers to all the methods with the overloaded name.

3. EJBNAME METHOD PARAM-1 PARAM-2 ... PARAM-n

This style is used to refer to a single method within a set of methods with an overloaded name. PARAM-1 through PARAM-n are the fully-qualified Java types of the method's input parameters (if the method has no input arguments, the method-params element contains no method-param elements). Arrays are specified by the array element's type, followed by one or more pair of square brackets (e.g. int[][]). If there are multiple methods with the same overloaded name, this style refers to all of the overloaded methods.

Examples:

Style 1: The following method element refers to all the methods of the EmployeeService bean's business, home, component, and/or web service endpoint interfaces:

EmployeeService *

Style 2: The following method element refers to all the create methods of the EmployeeService bean's home interface(s).

EmployeeService create

Style 3: The following method element refers to the create(String firstName, String LastName) method of the EmployeeService bean's home interface(s).

EmployeeService create String String

The following example illustrates a Style 3 element with more complex parameter types. The method foobar(char s, int i, int[] iar, mypackage.MyClass mycl, mypackage.MyClass[][] myclaar) would be specified as:

EmployeeService foobar char int int[] mypackage.MyClass mypackage.MyClass[][]

The optional method-intf element can be used when it becomes necessary to differentiate between a method that is multiply defined across the enterprise bean's business, home, component, and/or web service endpoint interfaces with the same name and signature. However, if the same method is a method of both the local business interface, and the local component interface, the same attribute applies to the method for both interfaces. Likewise, if the same method is a method of both the remote business interface and the remote component interface, the same attribute applies to the method for both interfaces.

For example, the method element

EmployeeService Remote create String String

can be used to differentiate the create(String, String) method defined in the remote interface from the create(String, String) method defined in the remote home interface, which would be defined as

EmployeeService Home create String String

and the create method that is defined in the local home interface which would be defined as

EmployeeService LocalHome create String String

The method-intf element can be used with all three Styles of the method element usage. For example, the following method element example could be used to refer to all the methods of the EmployeeService bean's remote home interface and the remote business interface.

EmployeeService Home *


Field Summary
protected  String className
           
protected  TextMap description
           
protected  String ejbName
           
protected  String id
           
protected  MethodIntf methodIntf
           
protected  String methodName
           
protected  MethodParams methodParams
           
 
Constructor Summary
Method()
           
Method(String ejbName, Method method)
           
Method(String ejbName, String methodName)
           
Method(String ejbName, String methodName, String... parameters)
           
Method(String ejbName, String className, String methodName)
           
Method(String ejbName, String className, String methodName, String... parameters)
           
 
Method Summary
 String getClassName()
           
 String getDescription()
           
 Text[] getDescriptions()
           
 String getEjbName()
           
 String getId()
           
 MethodIntf getMethodIntf()
           
 String getMethodName()
           
 MethodParams getMethodParams()
           
 void setDescriptions(Text[] text)
           
 void setEjbName(String value)
          The ejb-nameType specifies an enterprise bean's name.
 void setId(String value)
           
 void setMethodIntf(MethodIntf value)
           
 void setMethodName(String value)
          contains a name of an enterprise bean method or the asterisk (*) character.
 void setMethodParams(MethodParams value)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ejbName

protected String ejbName

className

protected String className

methodIntf

protected MethodIntf methodIntf

methodName

protected String methodName

methodParams

protected MethodParams methodParams

id

protected String id

description

protected TextMap description
Constructor Detail

Method

public Method(String ejbName,
              Method method)

Method

public Method(String ejbName,
              String methodName,
              String... parameters)

Method

public Method(String ejbName,
              String className,
              String methodName,
              String... parameters)

Method

public Method()

Method

public Method(String ejbName,
              String methodName)

Method

public Method(String ejbName,
              String className,
              String methodName)
Method Detail

getClassName

public String getClassName()

getDescriptions

public Text[] getDescriptions()

setDescriptions

public void setDescriptions(Text[] text)

getDescription

public String getDescription()

getEjbName

public String getEjbName()

setEjbName

public void setEjbName(String value)
The ejb-nameType specifies an enterprise bean's name. It is used by ejb-name elements. This name is assigned by the ejb-jar file producer to name the enterprise bean in the ejb-jar file's deployment descriptor. The name must be unique among the names of the enterprise beans in the same ejb-jar file.

There is no architected relationship between the used ejb-name in the deployment descriptor and the JNDI name that the Deployer will assign to the enterprise bean's home.

The name for an entity bean must conform to the lexical rules for an NMTOKEN.

Example:

EmployeeService


getMethodIntf

public MethodIntf getMethodIntf()

setMethodIntf

public void setMethodIntf(MethodIntf value)

getMethodName

public String getMethodName()

setMethodName

public void setMethodName(String value)
contains a name of an enterprise bean method or the asterisk (*) character. The asterisk is used when the element denotes all the methods of an enterprise bean's client view interfaces.


getMethodParams

public MethodParams getMethodParams()

setMethodParams

public void setMethodParams(MethodParams value)

getId

public String getId()

setId

public void setId(String value)


Copyright © 1999-2011 The Apache OpenEJB development community. All Rights Reserved.