xdoclet.modules.ejb.intf

Class InterfaceTagsHandler

public class InterfaceTagsHandler extends EjbTagsHandler

Version: $Revision: 1.21 $

Author: Ara Abrahamian (ara_e@email.com) Christoph G. Jung (christoph.jung@infor.de)

UNKNOWN: Oct 15, 2001 namespace = "EjbIntf"

Field Summary
static StringSERVICE_ENDPOINT_EXTENDS_PARAM
static StringSERVICE_ENDPOINT_INTERFACE
Method Summary
StringbeanClassNameFromInterfaceName(Properties attributes)
Returns the bean implementation class name for the interface name specified as the return type of current method or the method specified by parameter interface if any.
StringclassTagIntf()
Returns the current interface inside a forAllClassTagIntf block
StringcomponentInterface(Properties attributes)
Returns the full qualified local or remote interface name for the bean, depending on the value of type parameter.
StringextendsFrom(Properties attributes)
Returns the name of the class home interface extends.
voidforAllClassTagIntf(String template, Properties attributes)
Evaluates the body for all interfaces which are compatible to the view-type which is set on the current class tag.
voidforAllInterfaceViewTypes(String template, Properties attributes)
Evaluates the body block for each view-type of current method.
protected StringfromInterfaceToBean(String value)
Loops over all classes and if value equals to local or remote or service-endpoint interface name of an EJBean full qualified name of that EJB is returned.
static StringgetBeanClassNameFromInterfaceNameFor(String return_type)
Gets the BeanClassNameFromInterfaceNameFor attribute of the InterfaceTagsHandler class
static StringgetComponentInterface(String type, XClass clazz)
Return the fully qualified name of the component interface of type specified.
protected StringgetDependentClassFor(XClass clazz, String type)
Gets the DependentClassFor attribute of the InterfaceTagsHandler object
protected StringgetInterfaceMethodName(String name)
Returns the interface method name depending on its type.
protected static StringgetLocalClassPattern()
Gets the LocalClassPattern attribute of the InterfaceTagsHandler class
protected static StringgetRemoteClassPattern()
Gets the RemoteClassPattern attribute of the InterfaceTagsHandler class
protected static StringgetServiceEndpointClassPattern()
Gets the LocalClassPattern attribute of the InterfaceTagsHandler class
voidifCurrentMethodViewTypeEquals(String template, Properties attributes)
Evaluates the body if the view-type of the current method is compatible with the value of the current method tag's parameter with the passed name.
voidifHasClassTagIntf(String template)
Evaluates the body if a current interface is available inside a forAllClassTagIntf block
voidifIsInterfaceMethod(String template, Properties attributes)
Evaluate the body block if the current method is an EJB local or remote interface method.
voidifIsInterfaceMethod(String template)
Evaluates the body block if ejb:interface-method defined for current method.
voidifIsNotInterfaceMethod(String template, Properties attributes)
Evaluate the body block if the current method is not an EJB local or remote interface method.
StringinterfaceMethodName()
Returns interface method name for the current interface method.
static booleanisComponentInterfaceMethod(XMethod method)
Returns true if method is a component interface method, false otherwise.
static booleanisInterfaceMethod(XMethod method)
Returns true if method is an interface method, false otherwise.
protected booleanisInterfaceMethod(String intFace)
Implements functionality required by {@link #ifIsInterfaceMethod} and {@link #ifIsNotInterfaceMethod}.
static booleanisLocalMethod(XMethod method)
Returns true if method is a local interface method by looking at view-type parameter.
static booleanisRemoteMethod(XMethod method)
Returns true if method is a remote interface method by looking at view-type parameter.
static booleanisServiceEndpointMethod(XMethod method)
Returns true if method is a local interface method by looking at view-type parameter.
StringmethodIntf(Properties attributes)
Returns "Remote" is current method has ejb:remote-method defined, "Home" otherwise.

Field Detail

SERVICE_ENDPOINT_EXTENDS_PARAM

public static final String SERVICE_ENDPOINT_EXTENDS_PARAM

SERVICE_ENDPOINT_INTERFACE

public static final String SERVICE_ENDPOINT_INTERFACE

Method Detail

beanClassNameFromInterfaceName

public String beanClassNameFromInterfaceName(Properties attributes)
Returns the bean implementation class name for the interface name specified as the return type of current method or the method specified by parameter interface if any.

Parameters: attributes

Returns: Bean class name

Throws: XDocletException

UNKNOWN: type = "content"

classTagIntf

public String classTagIntf()
Returns the current interface inside a forAllClassTagIntf block

Returns:

Throws: XDocletException Description of Exception

See Also: InterfaceTagsHandler

UNKNOWN: type = "content"

componentInterface

public String componentInterface(Properties attributes)
Returns the full qualified local or remote interface name for the bean, depending on the value of type parameter.

Parameters: attributes The attributes of the template tag

Returns: Description of the Returned Value

Throws: XDocletException

UNKNOWN: type = "content" name = "type" optional = "false" values = "remote,local" description = "Specifies the type * of component interface."

extendsFrom

public String extendsFrom(Properties attributes)
Returns the name of the class home interface extends.

Parameters: attributes

Returns: The name of generated PK class.

Throws: XDocletException

UNKNOWN: type = "content"

forAllClassTagIntf

public void forAllClassTagIntf(String template, Properties attributes)
Evaluates the body for all interfaces which are compatible to the view-type which is set on the current class tag. The body of this tag is also evaluated once, if no view-type attribute is set on the current class tag.

Parameters: template The body of the block tag attributes The attributes of the template tag

Throws: XDocletException Description of Exception

UNKNOWN: type = "block" name = "paramName" optional = "false" description = "The param name for the view-type on * the current class tag."

forAllInterfaceViewTypes

public void forAllInterfaceViewTypes(String template, Properties attributes)
Evaluates the body block for each view-type of current method. Sets currentMethodViewType internal variable of tag handler class, used by nested methodIntf.

Parameters: template The body of the block tag attributes The attributes of the template tag

Throws: XDocletException

UNKNOWN: type = "block"

fromInterfaceToBean

protected String fromInterfaceToBean(String value)
Loops over all classes and if value equals to local or remote or service-endpoint interface name of an EJBean full qualified name of that EJB is returned.

Parameters: value Description of Parameter

Returns: Description of the Returned Value

Throws: XDocletException

getBeanClassNameFromInterfaceNameFor

public static String getBeanClassNameFromInterfaceNameFor(String return_type)
Gets the BeanClassNameFromInterfaceNameFor attribute of the InterfaceTagsHandler class

Parameters: return_type Describe what the parameter does

Returns: The BeanClassNameFromInterfaceNameFor value

Throws: XDocletException

getComponentInterface

public static String getComponentInterface(String type, XClass clazz)
Return the fully qualified name of the component interface of type specified. Works based on the ejb:interface class level tag. Relevant parameters for the ejb:interface tag are:

Parameters: type Can be remote or local. Defaults to remote. clazz Description of Parameter

Returns: The fully qualified name of the interface.

Throws: XDocletException

getDependentClassFor

protected String getDependentClassFor(XClass clazz, String type)
Gets the DependentClassFor attribute of the InterfaceTagsHandler object

Parameters: clazz Describe what the parameter does type Describe what the parameter does

Returns: The DependentClassFor value

Throws: XDocletException

getInterfaceMethodName

protected String getInterfaceMethodName(String name)
Returns the interface method name depending on its type.

Parameters: name Description of Parameter

Returns: "create" if ejbCreate, "remote" if ejbRemove, find if ejbFind, home if ejbHome.

Throws: XDocletException

getLocalClassPattern

protected static String getLocalClassPattern()
Gets the LocalClassPattern attribute of the InterfaceTagsHandler class

Returns: The LocalClassPattern value

getRemoteClassPattern

protected static String getRemoteClassPattern()
Gets the RemoteClassPattern attribute of the InterfaceTagsHandler class

Returns: The RemoteClassPattern value

getServiceEndpointClassPattern

protected static String getServiceEndpointClassPattern()
Gets the LocalClassPattern attribute of the InterfaceTagsHandler class

Returns: The LocalClassPattern value

ifCurrentMethodViewTypeEquals

public void ifCurrentMethodViewTypeEquals(String template, Properties attributes)
Evaluates the body if the view-type of the current method is compatible with the value of the current method tag's parameter with the passed name.

Parameters: template The body of the block tag attributes The attributes of the template tag

Throws: XDocletException Description of Exception

UNKNOWN: type = "block" name = "paramName" optional = "false" description = +The paramnamefor theview-typeon thecurrentmethod tag"

ifHasClassTagIntf

public void ifHasClassTagIntf(String template)
Evaluates the body if a current interface is available inside a forAllClassTagIntf block

Parameters: template The body of the block tag

Throws: XDocletException Description of Exception

See Also: InterfaceTagsHandler

UNKNOWN: type = "block"

ifIsInterfaceMethod

public void ifIsInterfaceMethod(String template, Properties attributes)
Evaluate the body block if the current method is an EJB local or remote interface method.

Parameters: template The body of the block tag attributes The attributes of the template tag

Throws: XDocletException

UNKNOWN: type = "block" name = "interface" optional = "false" description = "The type of interface to check for * the methods validity in. Can be either \"local\" or \"remote\"." name = "superclasses" optional = "true" description = "Traverse superclasses too. With * false value used in remote/local. Default is True."

ifIsInterfaceMethod

public void ifIsInterfaceMethod(String template)
Evaluates the body block if ejb:interface-method defined for current method.

Parameters: template The body of the block tag

Throws: XDocletException

See Also: InterfaceTagsHandler

UNKNOWN: type = "block"

ifIsNotInterfaceMethod

public void ifIsNotInterfaceMethod(String template, Properties attributes)
Evaluate the body block if the current method is not an EJB local or remote interface method.

Parameters: template The body of the block tag attributes The attributes of the template tag

Throws: XDocletException

UNKNOWN: type = "block" name = "interface" optional = "false" description = "The type of interface to check for * the methods validity in. Can be either \"local\" or \"remote\"."

interfaceMethodName

public String interfaceMethodName()
Returns interface method name for the current interface method.

Returns: "Remote" or "Home".

Throws: XDocletException

See Also: InterfaceTagsHandler

UNKNOWN: type = "content"

isComponentInterfaceMethod

public static boolean isComponentInterfaceMethod(XMethod method)
Returns true if method is a component interface method, false otherwise. Component interface methods are marked with a ejb:interface-method tag.

Parameters: method Description of Parameter

Returns: The RemoteMethod value

isInterfaceMethod

public static boolean isInterfaceMethod(XMethod method)
Returns true if method is an interface method, false otherwise. Interface methods are remote/create/remove/finder/home methods.

Parameters: method Description of Parameter

Returns: The InterfaceMethod value

isInterfaceMethod

protected boolean isInterfaceMethod(String intFace)
Implements functionality required by {@link #ifIsInterfaceMethod} and {@link #ifIsNotInterfaceMethod}. To determine what interfaces the method should appear in, check the first for a view-type parameter to the method level ejb:interface-method tag. If that is absent use the view-type tag from ejb:bean .

Parameters: intFace The type of interface to test the method for.

Returns: true if the method should occur in the specified interface.

Throws: XDocletException

isLocalMethod

public static boolean isLocalMethod(XMethod method)
Returns true if method is a local interface method by looking at view-type parameter.

Parameters: method Description of Parameter

Returns: The isRemoteMethod value

Throws: XDocletException

isRemoteMethod

public static boolean isRemoteMethod(XMethod method)
Returns true if method is a remote interface method by looking at view-type parameter.

Parameters: method Description of Parameter

Returns: The isRemoteMethod value

Throws: XDocletException

isServiceEndpointMethod

public static boolean isServiceEndpointMethod(XMethod method)
Returns true if method is a local interface method by looking at view-type parameter.

Parameters: method Description of Parameter

Returns: The isRemoteMethod value

Throws: XDocletException

methodIntf

public String methodIntf(Properties attributes)
Returns "Remote" is current method has ejb:remote-method defined, "Home" otherwise.

Parameters: attributes The attributes of the template tag

Returns: "Remote" or "Home".

Throws: XDocletException

See Also: InterfaceTagsHandler

UNKNOWN: type = "content"