xdoclet.tagshandler

Class AbstractProgramElementTagsHandler

Known Direct Subclasses:
ClassTagsHandler, ConstructorTagsHandler, FieldTagsHandler, MethodTagsHandler, PackageTagsHandler, ParameterTagsHandler, PropertyTagsHandler

public abstract class AbstractProgramElementTagsHandler
extends XDocletTagSupport

Version:
$Revision: 1.16 $
Author:
Ara Abrahamian (ara_e@email.com)
created
Oct 15, 2001

Field Summary

protected static String
currentToken
The current token.
protected static String
matchPattern
Template can use matchPattern as a place where they can put volatile variable.
protected static StringTokenizer
tagTokenizer
The StringTokenizer object doing the tokenization.

Fields inherited from class xdoclet.XDocletTagSupport

FOR_CLASS, FOR_CONSTRUCTOR, FOR_FIELD, FOR_METHOD, PARAMETER_DELIMITER

Method Summary

protected String
checkForWrap(String pText)
A utility method used by firstSentenceDescription to replace end of line by space.
String
currentToken(Properties attributes)
Returns current token inside forAllClassTagTokens.
protected String
exceptionList(Properties attributes, int forType)
Describe what the method does
protected String
firstSentenceDescriptionOfCurrentMember(XMember member)
Describe what the method does
protected void
forAllMemberTagTokens(String template, Properties attributes, int for_type)
Describe what the method does
protected void
forAllMemberTags(String template, Properties attributes, int forType, String resourceKey, String[] arguments)
Describe what the method does
protected void
forAllMembers(String template, Properties attributes, int forType)
static Collection
getAllClasses()
Utility method to get classes for iteration used by various methods.
static String
getClassNameFor(XClass clazz)
Returns the not-full-qualified name of the specified class without the package name.
static String
getFullClassNameFor(XClass clazz)
Returns the full-qualified name of the current class with the package name.
static String
getFullSuperclassNameFor(XClass clazz)
Returns the full-qualified name of the superclass of the specified class.
protected char[]
getIndentChars(Properties attributes)
A utility method to get the blank space characters used for indenting comments.
protected XExecutableMember
getXExecutableMemberForMemberName(String memberName, boolean superclasses, int forType)
Searches for the XExecutableMember of the member with name methodName and returns it.
protected XExecutableMember
getXExecutableMemberForMemberName(String memberName, int forType)
Gets the XExecutableMemberForMemberName attribute of the AbstractProgramElementTagsHandler object
protected static boolean
hasExecutableMember(XClass clazz, String executableMemberName, String[] parameters, boolean setCurrentExecutableMember, int forType)
protected static boolean
hasExecutableMember_OLD(XClass clazz, String executableMemberName, String[] parameters, boolean setCurrentExecutableMember, int forType)
protected static Object[]
makeCopyOfArray(Object[] objects)
Used to protect returned arrays from being modified (sorted, reordered for example).
String
matchValue()
Returns the value of match variable.
protected String
memberComment(Properties attributes, int forType)
void
setMatchValue(String template, Properties attributes)
Sets the value of match variable.
String
skipToken(Properties attributes)
Skips current token.

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

currentToken

protected static String currentToken
The current token. Currently forAllParameterTypes and forAllClassTagTokens set it and currentToken returns the value. Tokens are computed for cases where the value should be tokenized by a set of delimiters.

matchPattern

protected static String matchPattern
Template can use matchPattern as a place where they can put volatile variable. You can set the value somewhere in the template and later use the value.

tagTokenizer

protected static StringTokenizer tagTokenizer
The StringTokenizer object doing the tokenization. It should be shared by different tag implementations, that's why its defined class-level.

Method Details

checkForWrap

protected String checkForWrap(String pText)
A utility method used by firstSentenceDescription to replace end of line by space.
Parameters:
pText - Description of Parameter
Returns:
Description of the Returned Value

currentToken

public String currentToken(Properties attributes)
            throws XDocletException
Returns current token inside forAllClassTagTokens.
Parameters:
attributes - The attributes of the template tag
Returns:
value of currently processed token
Throws:
XDocletException - Description of Exception
doc.tag
type = "content"

exceptionList

protected String exceptionList(Properties attributes,
                               int forType)
            throws XDocletException
Describe what the method does
Parameters:
attributes - Describe what the parameter does
forType - Describe what the parameter does
Returns:
Describe the return value
Throws:
XDocletException - Describe the exception

firstSentenceDescriptionOfCurrentMember

protected String firstSentenceDescriptionOfCurrentMember(XMember member)
            throws XDocletException
Describe what the method does
Parameters:
member - Describe what the parameter does
Returns:
Describe the return value
Throws:
XDocletException - Describe the exception

forAllMemberTagTokens

protected void forAllMemberTagTokens(String template,
                                     Properties attributes,
                                     int for_type)
            throws XDocletException
Describe what the method does
Parameters:
template - Describe what the parameter does
attributes - Describe what the parameter does
for_type - Describe what the parameter does
Throws:
XDocletException - Describe the exception

forAllMemberTags

protected void forAllMemberTags(String template,
                                Properties attributes,
                                int forType,
                                String resourceKey,
                                String[] arguments)
            throws XDocletException
Describe what the method does
Parameters:
template - Describe what the parameter does
attributes - Describe what the parameter does
forType - Describe what the parameter does
resourceKey - Describe what the parameter does
arguments - Describe what the parameter does
Throws:
XDocletException - Describe the exception

forAllMembers

protected void forAllMembers(String template,
                             Properties attributes,
                             int forType)
            throws XDocletException
Parameters:
template - Describe what the parameter does
attributes - Describe what the parameter does
forType - Describe what the parameter does
Throws:
XDocletException - Describe the exception
To do:
the already Set contains XMember objects. equals/hashCode should be defined in XMember and be implemented in all of the implementing classes.

getAllClasses

public static Collection getAllClasses()
Utility method to get classes for iteration used by various methods. The result depends on the context: are we within a forAllPackages iteration or not.
Returns:
An array with all classes in that context in it.

getClassNameFor

public static String getClassNameFor(XClass clazz)
Returns the not-full-qualified name of the specified class without the package name.
Parameters:
clazz - class
Returns:
classname

getFullClassNameFor

public static String getFullClassNameFor(XClass clazz)
Returns the full-qualified name of the current class with the package name.
Parameters:
clazz - class
Returns:
fully qualified classname

getFullSuperclassNameFor

public static String getFullSuperclassNameFor(XClass clazz)
Returns the full-qualified name of the superclass of the specified class.
Parameters:
clazz - class
Returns:
superclass' fully qualified classname

getIndentChars

protected char[] getIndentChars(Properties attributes)
A utility method to get the blank space characters used for indenting comments.
Parameters:
attributes - The attributes of the template tag
Returns:
The IndentChars value
See Also:
MethodTagsHandler.methodComment(java.util.Properties), ClassTagsHandler.classComment(java.util.Properties)

getXExecutableMemberForMemberName

protected XExecutableMember getXExecutableMemberForMemberName(String memberName,
                                                              boolean superclasses,
                                                              int forType)
            throws XDocletException
Searches for the XExecutableMember of the member with name methodName and returns it.
Parameters:
memberName -
superclasses - Search superclasses.
forType -
Returns:
The XMethod for the method named value

getXExecutableMemberForMemberName

protected XExecutableMember getXExecutableMemberForMemberName(String memberName,
                                                              int forType)
            throws XDocletException
Gets the XExecutableMemberForMemberName attribute of the AbstractProgramElementTagsHandler object
Parameters:
memberName - Describe what the parameter does
forType - Describe what the parameter does
Returns:
The XExecutableMemberForMemberName value
Throws:
XDocletException - Describe the exception

hasExecutableMember

protected static boolean hasExecutableMember(XClass clazz,
                                             String executableMemberName,
                                             String[] parameters,
                                             boolean setCurrentExecutableMember,
                                             int forType)
            throws XDocletException

hasExecutableMember_OLD

protected static boolean hasExecutableMember_OLD(XClass clazz,
                                                 String executableMemberName,
                                                 String[] parameters,
                                                 boolean setCurrentExecutableMember,
                                                 int forType)
            throws XDocletException
Parameters:
clazz -
executableMemberName -
parameters -
setCurrentExecutableMember -
forType -
Returns:
To do:
Remove. For archeologists only

makeCopyOfArray

protected static Object[] makeCopyOfArray(Object[] objects)
Used to protect returned arrays from being modified (sorted, reordered for example).
Parameters:
objects - array of objects
Returns:
copy of array

matchValue

public String matchValue()
            throws XDocletException
Returns the value of match variable. Match variable serves as a variable for templates, you set it somewhere in template and look it up somewhere else in template.
Returns:
Description of the Returned Value
Throws:
XDocletException - Description of Exception
doc.tag
type = "content"

memberComment

protected String memberComment(Properties attributes,
                               int forType)
            throws XDocletException
Parameters:
attributes - Describe what the parameter does
forType - Describe what the parameter does
Returns:
Describe the return value
Throws:
XDocletException - Describe the exception
To do:
There is similar functionality in xjavadoc.XDoc. Use that instead (needs a little rework to be more flexible).

setMatchValue

public void setMatchValue(String template,
                          Properties attributes)
            throws XDocletException
Sets the value of match variable.
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 = "value" optional = "false" description = "The new value for matchPattern."

skipToken

public String skipToken(Properties attributes)
            throws XDocletException
Skips current token. Returns empty string.
Parameters:
attributes - The attributes of the template tag
Returns:
Empty string
Throws:
XDocletException - Description of Exception
doc.tag
type = "content"