xdoclet.tagshandler

Class AbstractProgramElementTagsHandler

public abstract class AbstractProgramElementTagsHandler extends XDocletTagSupport

Version: $Revision: 1.17 $

Author: Ara Abrahamian (ara_e@email.com)

UNKNOWN: Oct 15, 2001

Field Summary
protected static StringcurrentToken
The current token.
protected static StringmatchPattern
Template can use matchPattern as a place where they can put volatile variable.
protected static StringTokenizertagTokenizer
The StringTokenizer object doing the tokenization.
Method Summary
protected StringcheckForWrap(String pText)
A utility method used by firstSentenceDescription to replace end of line by space.
StringcurrentToken(Properties attributes)
Returns current token inside forAllClassTagTokens.
protected StringexceptionList(Properties attributes, int forType)
Return the throws clause of the specified constructor or method declaration.
protected StringfirstSentenceDescriptionOfCurrentMember(XMember member)
Describe what the method does
protected voidforAllMembers(String template, Properties attributes, int forType)
protected voidforAllMemberTags(String template, Properties attributes, int forType, String resourceKey, String[] arguments)
Describe what the method does
protected voidforAllMemberTagTokens(String template, Properties attributes, int for_type)
Describe what the method does
static CollectiongetAllClasses()
Utility method to get classes for iteration used by various methods.
static StringgetClassNameFor(XClass clazz)
Returns the not-full-qualified name of the specified class without the package name.
static StringgetFullClassNameFor(XClass clazz)
Returns the full-qualified name of the current class with the package name.
static StringgetFullSuperclassNameFor(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 XExecutableMembergetXExecutableMemberForMemberName(String memberName, int forType)
Gets the XExecutableMemberForMemberName attribute of the AbstractProgramElementTagsHandler object
protected XExecutableMembergetXExecutableMemberForMemberName(String memberName, boolean superclasses, int forType)
Searches for the XExecutableMember of the member with name methodName and returns it.
protected static booleanhasExecutableMember(XClass clazz, String executableMemberName, String[] parameters, boolean setCurrentExecutableMember, int forType)
protected static booleanhasExecutableMember_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).
StringmatchValue()
Returns the value of match variable.
protected StringmemberComment(Properties attributes, int forType)
The comment for the current class member of the specified type (field, constructor or method).
voidsetMatchValue(String template, Properties attributes)
Sets the value of match variable.
StringskipToken(Properties attributes)
Skips current token.

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.

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 Detail

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)
Returns current token inside forAllClassTagTokens.

Parameters: attributes The attributes of the template tag

Returns: value of currently processed token

Throws: XDocletException Description of Exception

UNKNOWN: type = "content"

exceptionList

protected String exceptionList(Properties attributes, int forType)
Return the throws clause of the specified constructor or method declaration. If no constructor/method is specified, the current one is used.

Parameters: attributes The attributes of the template tag forType Constant indicating constructor or method

Returns: throws clause

Throws: XDocletException Describe the exception

See Also: MethodTagsHandler exceptionList

firstSentenceDescriptionOfCurrentMember

protected String firstSentenceDescriptionOfCurrentMember(XMember member)
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)

Parameters: template Describe what the parameter does attributes Describe what the parameter does forType Describe what the parameter does

Throws: XDocletException Describe the exception

UNKNOWN: the already Set contains XMember objects. equals/hashCode should be defined in XMember and be implemented in all of the implementing classes.

forAllMemberTags

protected void forAllMemberTags(String template, Properties attributes, int forType, String resourceKey, String[] arguments)
Describe what the method does

Parameters: template The body of the block tag attributes The attributes of the template tag forType Describe what the parameter does resourceKey Describe what the parameter does arguments Describe what the parameter does

Throws: XDocletException Describe the exception

forAllMemberTagTokens

protected void forAllMemberTagTokens(String template, Properties attributes, int for_type)
Describe what the method does

Parameters: template The body of the block tag attributes The attributes of the template tag for_type Describe what the parameter does

Throws: XDocletException Describe the exception

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. The number of spaces is read from the indent tag attribute. Defaults to zero spaces if no indent attribute is present.

Parameters: attributes The attributes of the template tag

Returns: Array of indent space characters

See Also: AbstractProgramElementTagsHandler classComment classCommentText classCommentTags

getXExecutableMemberForMemberName

protected XExecutableMember getXExecutableMemberForMemberName(String memberName, int forType)
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 XExecutableMember getXExecutableMemberForMemberName(String memberName, boolean superclasses, int forType)
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

hasExecutableMember

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

hasExecutableMember_OLD

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

Parameters: clazz executableMemberName parameters setCurrentExecutableMember forType

Returns:

Throws: XDocletException

UNKNOWN: 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()
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

UNKNOWN: type = "content"

memberComment

protected String memberComment(Properties attributes, int forType)
The comment for the current class member of the specified type (field, constructor or method).

Parameters: attributes The attributes of the template tag forType Member type

Returns: javadoc comment

Throws: XDocletException Describe the exception

See Also: MethodTagsHandler fieldComment constructorComment

UNKNOWN: 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)
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

UNKNOWN: type = "block" name = "value" optional = "false" description = "The new value for matchPattern."

skipToken

public String skipToken(Properties attributes)
Skips current token. Returns empty string.

Parameters: attributes The attributes of the template tag

Returns: Empty string

Throws: XDocletException Description of Exception

UNKNOWN: type = "content"