## WebSphereEjbRef

Implemented in class xdoclet.modules.ibm.websphere.ejb.WebSphereEjbRefTagsHandler.

- Block Tags
- Content Tags

### Block Tags:

#### forAllEjbRefs (block template)

Evaluates the body block for each ejb reference.

[tagName] | the ejb-ref tag

#### forAllEjbRefMembers (block template)

Evaluates the body block for each method- and field-level ejb reference.

[tagName] | the ejb-ref tag

#### forAllEjbRefMethods (block template)

Evaluates the body block for each method-level ejb reference.

[tagName] | the ejb-ref tag

#### ifLocalEjbRef (block template)

Generates code if the ejb-ref is local

#### ifRemoteEjbRef (block template)

Generates code if the ejb-ref is local

#### forAllTags (block template)

Executes the template for all class-, method- and field-level tags with the passed name

tagName | the tag name
[paramName] | the required parameter
[paramValue] | the value for the required parameter

#### forAllMemberTags (block template)

Executes the template for all method- and field-level tags with the passed name

tagName | the tag name
[paramName] | the required parameter
[paramValue] | the value for the required parameter

#### forAllMethodTags (block template)

Executes the template for all method-level tags with the passed name

tagName | the tag name
[paramName] | the required parameter
[paramValue] | the value for the required parameter

#### ifHasType (block template)

Executes the body only if the current tag is either a method- or fiel-level tag or has a type parameter.

paramName | the name of the name parameter

#### ifPrimitiveMember (block template)

Executes the body only if the current field type or method return type is primitive.

#### ifNotPrimitiveMember (block template)

Executes the body only if the current field type or method return type is not a primitive.

#### ifHasTag (block template)

Executes the body only if the current class has at least one ot the passed tags at field- or method-level

tagName | the tag names (comma separated)
[paramName] | tags must have this parameter
[paramValue] | tags must have this value for the parameter with 'paramName'

### Content templates:

#### ejbRefJndiName (content template)

Returns the global JNDI name for the current EJB ref.
WebSphere can only can have one global JNDI name for an EJB bean even if it expose both a local and a remote interface. In this case we return the remote JNDI-name defined on the bean.

<bold>NOTE:</bold> This means that the local JNDI-name will not be used by WebSphere if both a local and a remote interface is exposed on a EJB bean. For portability (with other J2EE servers) reasons you should however always specify both jndi-names in this case.

#### ejbRefId (content template)

Returns unique id for the specified ejb-ref. It prefixes it with the referring class's id, then a _ and the id of the ejb object.

#### name (content template)

paramName | the name of the name parameter

#### homeInterface (content template)

Returns the home interface for the current ejb reference

#### componentInterface (content template)

Returns the component interface for the current ejb reference

#### type (content template)

Returns the type parameter value for the current tag. Returns the field type for field-level tags and the return value for method-level tags. For class-level tags, the value of the type parameter is returned. The wrapper class is returned for primitive fields an methods with primitive return values.

paramName | the name of the type parameter
[values] | The valid values for the parameter, comma separated. An error message is printed if the parameter value is not one of the values.
[default] | The default value is returned if parameter not specified by user for the tag.
[mandatory] | Valid Values = {true,false}

#### memberName (content template)

Returns the method or field name. Can only be used inside `forAllMemberTags` or `forAllMethodTags` .

[prefix] | the prefix for the name

#### memberType (content template)

Returns the method's return type or the field's type. Can only be used inside `forAllMemberTags` or `forAllMethodTags`.

#### methodSignature (content template)

Returns the method signature for the current method. Can only be used inside `forAllMethodTags`.

#### paramValue (content template)

Returns the value of a parameter.

paramName | the name of the parameter
[values] | The valid values for the parameter, comma separated. An error message is printed if the parameter value is not one of the values.
[default] | The default value is returned if parameter not specified by user for the tag.
[mandatory] | Valid Values = {true,false}