xdoclet.modules.ejb.env
Class EnvEjbRefTagsHandler

java.lang.Object
  extended byxdoclet.template.TemplateTagHandler
      extended byxdoclet.XDocletTagSupport
          extended byxdoclet.modules.ejb.env.EnvTagsHandler
              extended byxdoclet.modules.ejb.env.EnvEjbRefTagsHandler
Direct Known Subclasses:
WebSphereEjbRefTagsHandler

public class EnvEjbRefTagsHandler
extends EnvTagsHandler

Version:
$Revision 1.1 $
Author:
Matthias Germann
xdoclet.taghandler
namespace="EjbEnvEjbRef"
created
April 5, 2005
To do:
refactor ejbRefId properly to account for ejb:bean - it may not be needed anymore., refactor storeReferringClassId properly to take ejb:bean into account - may not be needed anymore.

Field Summary
 
Fields inherited from class xdoclet.modules.ejb.env.EnvTagsHandler
currentMember, currentTag, currentTagType
 
Fields inherited from class xdoclet.XDocletTagSupport
FOR_CLASS, FOR_CONSTRUCTOR, FOR_FIELD, FOR_METHOD, PARAMETER_DELIMITER
 
Constructor Summary
EnvEjbRefTagsHandler()
           
 
Method Summary
 String componentInterface()
          Returns the component interface for the current ejb reference
protected  void doGenerate(String template)
          Called for each tag in the forTags loop.
 String ejbRefId()
          Returns unique id for the specified ejb-ref.
 String ejbRefJndiName()
          Returns the global JNDI name for the current EJB ref.
protected  xjavadoc.XClass findEjb(String ejbName)
          Finds and returns the class with the specified ejbName.
 void forAllEjbRefMembers(String template, Properties attributes)
          Evaluates the body block for each method- and field-level ejb reference.
 void forAllEjbRefMethods(String template, Properties attributes)
          Evaluates the body block for each method-level ejb reference.
 void forAllEjbRefs(String template, Properties attributes)
          Evaluates the body block for each ejb reference.
 String homeInterface()
          Returns the home interface for the current ejb reference
 void ifLocalEjbRef(String template)
          Generates code if the ejb-ref is local
 void ifRemoteEjbRef(String template)
          Generates code if the ejb-ref is local
protected  boolean isLocalEjbRef(xjavadoc.XTag ejbRefTag)
          Return true if the ejb-ref is local
protected  boolean isRemoteEjbRef(xjavadoc.XTag ejbRefTag)
          Return true if the ejb-ref is remote
 String name(Properties attributes)
          Returns the name parameter value for the current tag.
protected  void storeReferringClassId()
          Stores the id of current EJB for further use by other tags in referringClassId attribute.
 
Methods inherited from class xdoclet.modules.ejb.env.EnvTagsHandler
forAllMemberTags, forAllMethodTags, forAllTags, forTags, ifHasParam, ifHasTag, ifHasType, ifNotPrimitiveMember, ifParamValueEquals, ifParamValueNotEquals, ifPrimitiveMember, memberName, memberType, methodSignature, paramValue, type
 
Methods inherited from class xdoclet.XDocletTagSupport
delimit, expandClassName, generate, getCurrentClass, getCurrentClassTag, getCurrentConstructor, getCurrentField, getCurrentFieldTag, getCurrentMethod, getCurrentMethodTag, getCurrentPackage, getDocletContext, getEngine, getExpandedDelimitedTagValue, getTagValue, getTagValue, getTagValue, hasHavingClassTag, hasTag, isTagValueEqual, mandatoryParamNotFound, mandatoryTemplateTagParamNotFound, modifiers, popCurrentClass, pushCurrentClass, setCurrentClass, setCurrentClassTag, setCurrentConstructor, setCurrentField, setCurrentFieldTag, setCurrentMethod, setCurrentMethodTag, setCurrentPackage
 
Methods inherited from class xdoclet.template.TemplateTagHandler
getXJavaDoc, setXJavaDoc
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EnvEjbRefTagsHandler

public EnvEjbRefTagsHandler()
Method Detail

ejbRefId

public String ejbRefId()
                throws XDocletException
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.

Returns:
Description of the Returned Value
Throws:
XDocletException
doc.tag
type="content"
To do:
refactor this properly to account for ejb:bean - it may not be needed anymore.

forAllEjbRefs

public void forAllEjbRefs(String template,
                          Properties attributes)
                   throws XDocletException
Evaluates the body block for each ejb reference.

Parameters:
template - The body of the block tag
attributes - The attributes of the template tag
Throws:
XDocletException
doc.tag
type="block"
doc.param
name="tagName" description="the ejb-ref tag" default="ejb.ejb-ref"

forAllEjbRefMembers

public void forAllEjbRefMembers(String template,
                                Properties attributes)
                         throws XDocletException
Evaluates the body block for each method- and field-level ejb reference.

Parameters:
template - The body of the block tag
attributes - The attributes of the template tag
Throws:
XDocletException
doc.tag
type="block"
doc.param
name="tagName" description="the ejb-ref tag" default="ejb.ejb-ref"

forAllEjbRefMethods

public void forAllEjbRefMethods(String template,
                                Properties attributes)
                         throws XDocletException
Evaluates the body block for each method-level ejb reference.

Parameters:
template - The body of the block tag
attributes - The attributes of the template tag
Throws:
XDocletException
doc.tag
type="block"
doc.param
name="tagName" description="the ejb-ref tag" default="ejb.ejb-ref"

ejbRefJndiName

public String ejbRefJndiName()
                      throws XDocletException
Returns the global JNDI name for the current EJB ref.

Returns:
The JNDI name of current EJB ref.
Throws:
XDocletException
doc.tag
type="content"

ifLocalEjbRef

public void ifLocalEjbRef(String template)
                   throws XDocletException
Generates code if the ejb-ref is local

Parameters:
template -
Throws:
XDocletException
doc.tag
type="block"

ifRemoteEjbRef

public void ifRemoteEjbRef(String template)
                    throws XDocletException
Generates code if the ejb-ref is local

Parameters:
template -
Throws:
XDocletException
doc.tag
type="block"

name

public String name(Properties attributes)
            throws XDocletException
Description copied from class: EnvTagsHandler
Returns the name parameter value for the current tag. If the name parameter is not specified for a method- or field-level tag, the member's name is returned. If the name parameter is not specified for a class level tag, an error is generated.

Overrides:
name in class EnvTagsHandler
Parameters:
attributes - the attributes
Returns:
the name
Throws:
XDocletException - if an error occures

homeInterface

public String homeInterface()
                     throws XDocletException
Returns the home interface for the current ejb reference

Returns:
the fully qualified class name
Throws:
XDocletException - if an error occures
doc.tag
type="content"

componentInterface

public String componentInterface()
                          throws XDocletException
Returns the component interface for the current ejb reference

Returns:
the fully qualified class name
Throws:
XDocletException - if an error occures
doc.tag
type="content"

isLocalEjbRef

protected boolean isLocalEjbRef(xjavadoc.XTag ejbRefTag)
                         throws XDocletException
Return true if the ejb-ref is local

Parameters:
ejbRefTag -
Returns:
true if the ejb-ref is local otherwise false
Throws:
XDocletException

isRemoteEjbRef

protected boolean isRemoteEjbRef(xjavadoc.XTag ejbRefTag)
                          throws XDocletException
Return true if the ejb-ref is remote

Parameters:
ejbRefTag -
Returns:
true if the ejb-ref is remote otherwise false
Throws:
XDocletException

doGenerate

protected void doGenerate(String template)
                   throws XDocletException
Description copied from class: EnvTagsHandler
Called for each tag in the forTags loop. The default behaviour is to call generate(template)

Overrides:
doGenerate in class EnvTagsHandler
Parameters:
template - the template
Throws:
XDocletException - if an error occures

storeReferringClassId

protected void storeReferringClassId()
                              throws XDocletException
Stores the id of current EJB for further use by other tags in referringClassId attribute.

Throws:
XDocletException
To do:
refactor this properly to take ejb:bean into account - may not be needed anymore.

findEjb

protected xjavadoc.XClass findEjb(String ejbName)
                           throws XDocletException
Finds and returns the class with the specified ejbName. An XDocletException is thrown if not found.

Parameters:
ejbName - Description of Parameter
Returns:
Description of the Returned Value
Throws:
XDocletException

http://xdoclet.sourceforge.net/