xdoclet.tagshandler

Class ParameterTagsHandler


public class ParameterTagsHandler
extends AbstractProgramElementTagsHandler

Version:
$Revision: 1.19 $
Author:
Ara Abrahamian (ara_e@email.com)
xdoclet.taghandler
namespace = "Parameter"
created
Oct 15, 2001

Field Summary

protected static XTag
currentMethodParamTag
The currentMethodParamTag holds the current ParamTag corresponding to the current Parameter.
protected static XParameter
currentMethodParameter
The current method's current parameter.
protected String
currentName

Fields inherited from class xdoclet.tagshandler.AbstractProgramElementTagsHandler

currentToken, matchPattern, tagTokenizer

Fields inherited from class xdoclet.XDocletTagSupport

FOR_CLASS, FOR_CONSTRUCTOR, FOR_FIELD, FOR_METHOD, PARAMETER_DELIMITER

Method Summary

String
currentName()
return name of parameter currently being iterated - ugly hack...
void
forAllConstructorParams(String template)
Iterates over all parameters of current constructor and evaluates the body of the tag for each method.
void
forAllMethodParams(String template)
Iterates over all parameters of current method and evaluates the body of the tag for each method.
void
forAllParameterTypes(String template, Properties attributes)
Gets the value of the parameter specified by paramName of current tag, and assuming the value has the format of a typical method definition extracts of parameter types out of it and evaluates the body for each parameter type.
static String
getMethodParamTypeFor(XParameter param)
void
ifHasParams(String template, Properties attributes)
Evaluates the body of the tag if current method/constructor has parameters.
String
methodParamDescription()
The methodParamDescription method returns the comment text associated with the ParamTag for the current Parameter
String
methodParamName()
Returns the name of the current method parameter, current method parameter is set inside a forAllMethodParams tag in each iteration.
String
methodParamType(Properties attributes)
Returns the type of the current method parameter, current method parameter is set inside a forAllMethodParams tag in each iteration.
String
parameterList(Properties attributes)
Iterates over all parameters in current method and returns a string containing definition of all those parameters.

Methods inherited from class xdoclet.tagshandler.AbstractProgramElementTagsHandler

checkForWrap, currentToken, exceptionList, firstSentenceDescriptionOfCurrentMember, forAllMemberTagTokens, forAllMemberTags, forAllMembers, getAllClasses, getClassNameFor, getFullClassNameFor, getFullSuperclassNameFor, getIndentChars, getXExecutableMemberForMemberName, getXExecutableMemberForMemberName, hasExecutableMember, hasExecutableMember_OLD, makeCopyOfArray, matchValue, memberComment, setMatchValue, skipToken

Methods inherited from class xdoclet.XDocletTagSupport

delimit, expandClassName, generate, getCurrentClass, getCurrentClassTag, getCurrentConstructor, getCurrentField, getCurrentFieldTag, getCurrentMethod, getCurrentMethodTag, getCurrentPackage, getDocletContext, getEngine, getExpandedDelimitedTagValue, getTagValue, getTagValue, getTagValue, hasTag, isTagValueEqual, mandatoryParamNotFound, mandatoryTemplateTagParamNotFound, modifiers, popCurrentClass, pushCurrentClass, setCurrentClass, setCurrentClassTag, setCurrentConstructor, setCurrentField, setCurrentFieldTag, setCurrentMethod, setCurrentMethodTag, setCurrentPackage

Methods inherited from class xdoclet.template.TemplateTagHandler

getXJavaDoc, setXJavaDoc

Field Details

currentMethodParamTag

protected static XTag currentMethodParamTag
The currentMethodParamTag holds the current ParamTag corresponding to the current Parameter.
See Also:
forAllMethodParams(java.lang.String)

currentMethodParameter

protected static XParameter currentMethodParameter
The current method's current parameter. forAllMethodParams sets the value while looping over the parameters of current method.
See Also:
forAllMethodParams(java.lang.String)

currentName

protected String currentName

Method Details

currentName

public String currentName()
return name of parameter currently being iterated - ugly hack...
Returns:
doc.tag
type = "content"

forAllConstructorParams

public void forAllConstructorParams(String template)
            throws XDocletException
Iterates over all parameters of current constructor and evaluates the body of the tag for each method.
Parameters:
template - The body of the block tag
Throws:
XDocletException - Description of Exception
doc.tag
type = "block"

forAllMethodParams

public void forAllMethodParams(String template)
            throws XDocletException
Iterates over all parameters of current method and evaluates the body of the tag for each method.
Parameters:
template - The body of the block tag
Throws:
XDocletException - Description of Exception
doc.tag
type = "block"

forAllParameterTypes

public void forAllParameterTypes(String template,
                                 Properties attributes)
            throws XDocletException
Gets the value of the parameter specified by paramName of current tag, and assuming the value has the format of a typical method definition extracts of parameter types out of it and evaluates the body for each parameter type. current parameter type can be accessed as <XDtParameter:currentToken/>. Also gives back parameter name as <XDtParameter:currentName/>
Parameters:
template - The body of the block tag
attributes - The attributes of the template tag
Throws:
XDocletException - Description of Exception
doc.tag
type = "block"
doc.param
name = "paramName" optional = "false" description = "The parameter name that its value is used for extracting parameter types out of it."

getMethodParamTypeFor

public static String getMethodParamTypeFor(XParameter param)

ifHasParams

public void ifHasParams(String template,
                        Properties attributes)
            throws XDocletException
Evaluates the body of the tag if current method/constructor has parameters.
Parameters:
template - The body of the block tag
attributes -
Throws:
XDocletException - Description of Exception
doc.tag
type = "block"
doc.param
name = "forConstructor" optional = "true" values = "true,false" description = "If true, then look for parameters of current constructor instead of current method"

methodParamDescription

public String methodParamDescription()
            throws XDocletException
The methodParamDescription method returns the comment text associated with the ParamTag for the current Parameter
Returns:
a String value
Throws:
XDocletException - if an error occurs
doc.tag
type = "content"

methodParamName

public String methodParamName()
            throws XDocletException
Returns the name of the current method parameter, current method parameter is set inside a forAllMethodParams tag in each iteration.
Returns:
name of the current method parameter
Throws:
XDocletException - Description of Exception
doc.tag
type = "content"

methodParamType

public String methodParamType(Properties attributes)
            throws XDocletException
Returns the type of the current method parameter, current method parameter is set inside a forAllMethodParams tag in each iteration. Do not forget to add array dimensions if any.
Parameters:
attributes -
Returns:
Description of the Returned Value
Throws:
XDocletException - Description of Exception
doc.tag
type = "content"

parameterList

public String parameterList(Properties attributes)
            throws XDocletException
Iterates over all parameters in current method and returns a string containing definition of all those parameters.
Parameters:
attributes - The attributes of the template tag
Returns:
Description of the Returned Value
Throws:
XDocletException - Description of Exception
doc.tag
type = "block"
doc.param
name = "includeDefinition" optional = "true" values = "true,false" description = "If true then include the parameter type of parameters in the composed string."
name = "forConstructor" optional = "true" values = "true,false" description = "If true, then look for parameters of current constructor instead of current method"