xdoclet.tagshandler
Class AbstractProgramElementTagsHandler

java.lang.Object
  extended byxdoclet.template.TemplateTagHandler
      extended byxdoclet.XDocletTagSupport
          extended byxdoclet.tagshandler.AbstractProgramElementTagsHandler
Direct Known 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
 
Constructor Summary
AbstractProgramElementTagsHandler()
           
 
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(xjavadoc.XMember member)
          Describe what the method does
protected  void forAllMembers(String template, Properties attributes, int forType)
           
protected  void forAllMemberTags(String template, Properties attributes, int forType, String resourceKey, String[] arguments)
          Describe what the method does
protected  void forAllMemberTagTokens(String template, Properties attributes, int for_type)
          Describe what the method does
static Collection getAllClasses()
          Utility method to get classes for iteration used by various methods.
static String getClassNameFor(xjavadoc.XClass clazz)
          Returns the not-full-qualified name of the specified class without the package name.
static String getFullClassNameFor(xjavadoc.XClass clazz)
          Returns the full-qualified name of the current class with the package name.
static String getFullSuperclassNameFor(xjavadoc.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  xjavadoc.XExecutableMember getXExecutableMemberForMemberName(String memberName, boolean superclasses, int forType)
          Searches for the XExecutableMember of the member with name methodName and returns it.
protected  xjavadoc.XExecutableMember getXExecutableMemberForMemberName(String memberName, int forType)
          Gets the XExecutableMemberForMemberName attribute of the AbstractProgramElementTagsHandler object
protected static boolean hasExecutableMember_OLD(xjavadoc.XClass clazz, String executableMemberName, String[] parameters, boolean setCurrentExecutableMember, int forType)
           
protected static boolean hasExecutableMember(xjavadoc.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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

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.


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.


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.

Constructor Detail

AbstractProgramElementTagsHandler

public AbstractProgramElementTagsHandler()
Method Detail

getClassNameFor

public static String getClassNameFor(xjavadoc.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(xjavadoc.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(xjavadoc.XClass clazz)
Returns the full-qualified name of the superclass of the specified class.

Parameters:
clazz - class
Returns:
superclass' fully qualified classname

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.

hasExecutableMember_OLD

protected static boolean hasExecutableMember_OLD(xjavadoc.XClass clazz,
                                                 String executableMemberName,
                                                 String[] parameters,
                                                 boolean setCurrentExecutableMember,
                                                 int forType)
                                          throws XDocletException
Parameters:
clazz -
executableMemberName -
parameters -
setCurrentExecutableMember -
forType -
Returns:
Throws:
XDocletException
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

hasExecutableMember

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

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."

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"

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"

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"

getXExecutableMemberForMemberName

protected xjavadoc.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

getXExecutableMemberForMemberName

protected xjavadoc.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
Throws:
XDocletException

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)

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

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

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).

firstSentenceDescriptionOfCurrentMember

protected String firstSentenceDescriptionOfCurrentMember(xjavadoc.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

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.

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

http://xdoclet.sourceforge.net/