Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## xdoclet
Class XDocletTagSupport

    java.lang.Object
      |
      +--xdoclet.template.TemplateTagHandler
            |
            +--xdoclet.XDocletTagSupport

Direct Known Subclasses:
  AbstractProgramElementTagsHandler, CommentTagsHandler, ConfigTagsHandler, IdTagsHandler, MergeTagsHandler, TagDefTagsHandler, TranslatorTagsHandler, TypeTagsHandler, XmlTagsHandler

public abstract class XDocletTagSupport
extends TemplateTagHandler

Derives from TemplateTagHandler and adds handy support methods for working with Javadoc Doclet classes.

Version:
  $Revision: 1.58 $
Author:
  Dmitri Colebatch (dim@bigpond.net.au)
created
  October 12, 2001

Field Summary
`static int` | `FOR_CLASS`
`static int` | `FOR_CONSTRUCTOR`
`static int` | `FOR_FIELD`
`static int` | `FOR_METHOD`
`protected static java.lang.String` | `PARAMETER_DELIMITER` Default delimiter used inside a xdoclet tag attribute.

Constructor Summary
`XDocletTagSupport()`

Method Summary
`protected static java.lang.String` | `delimit(java.lang.String attributeValue, java.util.Properties attributes)`
`protected static java.lang.String` | `expandClassName(java.lang.String value, java.util.Properties attributes)`
`void` | `generate(java.lang.String template)`
`static xjavadoc.XClass` | `getCurrentClass()` Provides the current class in the XDoclet build, or null if there is no current class.
`static xjavadoc.XTag` | `getCurrentClassTag()`
`static xjavadoc.XConstructor` | `getCurrentConstructor()` Provides the current constructor in the XDoclet build, or null if there is no current constructor.
`static xjavadoc.XField` | `getCurrentField()` Provides the current field in the XDoclet build, or null if there is no current field.
`static xjavadoc.XTag` | `getCurrentFieldTag()`
`static xjavadoc.XMethod` | `getCurrentMethod()` Provides the current method in the XDoclet build, or null if there is no current method.
`static xjavadoc.XTag` | `getCurrentMethodTag()`
`static xjavadoc.XPackage` | `getCurrentPackage()` Provides the current package in the XDoclet build, or null if there is no current package.
`protected static DocletContext` | `getDocletContext()`
`TemplateEngine` | `getEngine()` Gets the Engine attribute of the TemplateTagHandler object.
`protected static java.lang.String` | `getExpandedDelimitedTagValue(java.util.Properties attributes, int forType)` The `getExpandedDelimitedTagValue` method returns a delimited version with class names expanded if requested of the tag value.
`protected static java.lang.String` | `getTagValue(int forType, java.lang.String tagName, java.lang.String paramName, java.lang.String validValues, java.lang.String defaultValue, boolean superclasses, boolean mandatory)` Gets the TagValue attribute of the XDocletTagSupport class
`protected static java.lang.String` | `getTagValue(int forType, xjavadoc.XDoc doc, java.lang.String tagName, java.lang.String paramName, java.lang.String validValues, java.lang.String defaultValue, boolean superclasses, boolean mandatory)`
`protected static java.lang.String` | `getTagValue(java.util.Properties attributes, int forType)` Return the Value of a tag specified in a Properties object.
`protected static boolean` | `hasTag(java.util.Properties attributes, int forType)` A utility method used by ifHasClassTag/ifDoesntHaveClassTag and ifHasMethodTag/ifDoesntHaveMethodTag, return true if at least one tag exists with the specified name.
`protected static boolean` | `isTagValueEqual(java.util.Properties attributes, int forType)` A utility method used by ifMethodTagValueEquals/ifMethodTagValueNotEquals and ifClassTagValueEquals/ifClassTagValueNotEquals, return true if the value of the tag/XParameter equals with value.
`protected static void` | `mandatoryParamNotFound(xjavadoc.XDoc doc, java.lang.String paramName, java.lang.String tagName)` Throws an XDocletException exception to stop the build process.
`protected void` | `mandatoryTemplateTagParamNotFound(java.lang.String templateTagName, java.lang.String paramName)`
`protected java.lang.String` | `modifiers(int forType)` Describe what the method does
`static xjavadoc.XClass` | `popCurrentClass()` Pop the current class off the top of the class stack.
`static xjavadoc.XClass` | `pushCurrentClass(xjavadoc.XClass clazz)` Push the specified class to the top of the current class stack making it effectively the current class.
`static void` | `setCurrentClass(xjavadoc.XClass clazz)` Sets current class to clazz by clearing currentClassStack stack and pushing clazz into top of it.
`static void` | `setCurrentClassTag(xjavadoc.XTag currentTag)` Sets the CurrentClassTag attribute of the XDocletTagSupport class
`static void` | `setCurrentConstructor(xjavadoc.XConstructor constructor)` Set the current constructor.
`static void` | `setCurrentField(xjavadoc.XField field)` Set the current field.
`static void` | `setCurrentFieldTag(xjavadoc.XTag currentTag)` Sets the CurrentFieldTag attribute of the XDocletTagSupport field
`static void` | `setCurrentMethod(xjavadoc.XMethod method)` Set the current method.
`static void` | `setCurrentMethodTag(xjavadoc.XTag currentTag)` Sets the CurrentMethodTag attribute of the XDocletTagSupport class
`static void` | `setCurrentPackage(xjavadoc.XPackage pakkage)` Set the current package

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### FOR_CLASS

    public static final int FOR_CLASS

See Also:
  Constant Field Values

### FOR_METHOD

    public static final int FOR_METHOD

See Also:
  Constant Field Values

### FOR_FIELD

    public static final int FOR_FIELD

See Also:
  Constant Field Values

### FOR_CONSTRUCTOR

    public static final int FOR_CONSTRUCTOR

See Also:
  Constant Field Values

### PARAMETER_DELIMITER

    protected static final java.lang.String PARAMETER_DELIMITER

  Default delimiter used inside a xdoclet tag attribute.

  See Also:
    Constant Field Values

Constructor Detail

### XDocletTagSupport

    public XDocletTagSupport()

Method Detail

### getCurrentMethodTag

    public static xjavadoc.XTag getCurrentMethodTag()

  Returns:
    The current tag.

### getCurrentClassTag

    public static xjavadoc.XTag getCurrentClassTag()

  Returns:
    The current tag.

### getCurrentFieldTag

    public static xjavadoc.XTag getCurrentFieldTag()

  Returns:
    The current tag.

### getCurrentMethod

    public static xjavadoc.XMethod getCurrentMethod()

  Provides the current method in the XDoclet build, or null if there is no current method.

  Returns:
    The CurrentMethod value
  See Also:
    `setCurrentMethod(xjavadoc.XMethod)`

### getCurrentField

    public static xjavadoc.XField getCurrentField()

  Provides the current field in the XDoclet build, or null if there is no current field.

  Returns:
    The CurrentField value
  See Also:
    `setCurrentField(xjavadoc.XField)`

### getCurrentConstructor

    public static xjavadoc.XConstructor getCurrentConstructor()

  Provides the current constructor in the XDoclet build, or null if there is no current constructor.

  Returns:
    The CurrentConstructor value
  See Also:
    `setCurrentConstructor(xjavadoc.XConstructor)`

### getCurrentClass

    public static xjavadoc.XClass getCurrentClass()

  Provides the current class in the XDoclet build, or null if there is no current class.

  Returns:
    The CurrentClass value
  See Also:
    `pushCurrentClass(xjavadoc.XClass)`, `popCurrentClass()`

### getCurrentPackage

    public static xjavadoc.XPackage getCurrentPackage()

  Provides the current package in the XDoclet build, or null if there is no current package.

  Returns:
    The CurrentPackage value

### setCurrentMethod

    public static void setCurrentMethod(xjavadoc.XMethod method)

  Set the current method.

  Parameters:
    `method` - The method to make the current method
  See Also:
    `getCurrentMethod()`

### setCurrentConstructor

    public static void setCurrentConstructor(xjavadoc.XConstructor constructor)

  Set the current constructor.

  Parameters:
    `constructor` - The constructor to make the current constructor
  See Also:
    `getCurrentConstructor()`

### setCurrentClass

    public static void setCurrentClass(xjavadoc.XClass clazz)

  Sets current class to clazz by clearing currentClassStack stack and pushing clazz into top of it.

  Parameters:
    `clazz` - The new CurrentClass value
  See Also:
    `getCurrentClass()`

### setCurrentPackage

    public static void setCurrentPackage(xjavadoc.XPackage pakkage)

  Set the current package

  Parameters:
    `pakkage` - The new CurrentPackage value
  See Also:
    `getCurrentPackage()`

### setCurrentMethodTag

    public static void setCurrentMethodTag(xjavadoc.XTag currentTag)

  Sets the CurrentMethodTag attribute of the XDocletTagSupport class

  Parameters:
    `currentTag` - The new CurrentTag value

### setCurrentClassTag

    public static void setCurrentClassTag(xjavadoc.XTag currentTag)

  Sets the CurrentClassTag attribute of the XDocletTagSupport class

  Parameters:
    `currentTag` - The new CurrentTag value

### setCurrentFieldTag

    public static void setCurrentFieldTag(xjavadoc.XTag currentTag)

  Sets the CurrentFieldTag attribute of the XDocletTagSupport field

  Parameters:
    `currentTag` - The new CurrentTag value

### setCurrentField

    public static void setCurrentField(xjavadoc.XField field)

  Set the current field.

  Parameters:
    `field` - The field to make the current field
  See Also:
    `getCurrentMethod()`

### pushCurrentClass

    public static xjavadoc.XClass pushCurrentClass(xjavadoc.XClass clazz)

  Push the specified class to the top of the current class stack making it effectively the current class.

  Parameters:
    `clazz` - The class to push onto the top of the class stack.
  Returns:
    The class on the top of the stack.
  See Also:
    `getCurrentClass()`, `popCurrentClass()`

### popCurrentClass

    public static xjavadoc.XClass popCurrentClass()

  Pop the current class off the top of the class stack.

  Returns:
    The class popped off the top of the stack.
  See Also:
    `getCurrentClass()`, `pushCurrentClass(xjavadoc.XClass)`

### getDocletContext

    protected static DocletContext getDocletContext()

  Returns:
    the context object casted to DocletContext

### getExpandedDelimitedTagValue

    protected static java.lang.String getExpandedDelimitedTagValue(java.util.Properties attributes,
                                                                   int forType)
                                                            throws XDocletException

  The `getExpandedDelimitedTagValue` method returns a delimited version with class names expanded if requested of the tag value.

  Parameters:
    `attributes` - a `Properties` value
    `forType` - an `int` value
  Returns:
    a `String` value
  Throws:
    `XDocletException` - if an error occurs

### getTagValue

    protected static java.lang.String getTagValue(java.util.Properties attributes,
                                                  int forType)
                                           throws XDocletException

  Return the Value of a tag specified in a Properties object. This method work on the currentTag object variable, matchs it against the XTag specified in the attributes Properties and returns the value of the specified tag.

  Parameters:
    `attributes` - The attributes of the template tag
    `forType` - if FOR_CLASS, then a fifth property superclasses is searched, if this is set to true, then the tag is also searched in all superclasses of current class. If forType is set to FOR_METHOD or FOR_CONSTRUCTOR or FOR_FIELD, current method or field is searched for the tag.
  Returns:
    The TagValue value
  Throws:
    `XDocletException` - Description of Exception

### getTagValue

    protected static java.lang.String getTagValue(int forType,
                                                  java.lang.String tagName,
                                                  java.lang.String paramName,
                                                  java.lang.String validValues,
                                                  java.lang.String defaultValue,
                                                  boolean superclasses,
                                                  boolean mandatory)
                                           throws XDocletException

  Gets the TagValue attribute of the XDocletTagSupport class

  Parameters:
    `forType` - Describe what the parameter does
    `tagName` - Describe what the parameter does
    `paramName` - Describe what the parameter does
    `validValues` - Describe what the parameter does
    `defaultValue` - Describe what the parameter does
    `superclasses` - Describe what the parameter does
    `mandatory` - Describe what the parameter does
  Returns:
    The TagValue value
  Throws:
    `XDocletException` - Describe the exception

### getTagValue

    protected static java.lang.String getTagValue(int forType,
                                                  xjavadoc.XDoc doc,
                                                  java.lang.String tagName,
                                                  java.lang.String paramName,
                                                  java.lang.String validValues,
                                                  java.lang.String defaultValue,
                                                  boolean superclasses,
                                                  boolean mandatory)
                                           throws XDocletException

  Parameters:
    `doc` - Describe what the parameter does
    `tagName` - Describe what the parameter does
    `paramName` - Describe what the parameter does
    `validValues` - Describe what the parameter does
    `defaultValue` - Describe what the parameter does
    `superclasses` - Describe what the parameter does
    `mandatory` - Describe what the parameter does
    `forType` -
  Returns:
    The TagValue value
  Throws:
    `XDocletException` - Describe the exception
  To do:
    (Aslak) maybe this method ought to be moved to xjavadoc.XDoc? Not a big deal though.

### isTagValueEqual

    protected static boolean isTagValueEqual(java.util.Properties attributes,
                                             int forType)
                                      throws XDocletException

  A utility method used by ifMethodTagValueEquals/ifMethodTagValueNotEquals and ifClassTagValueEquals/ifClassTagValueNotEquals, return true if the value of the tag/XParameter equals with value.

  Parameters:
    `attributes` - The attributes of the template tag
    `forType` - Describe what the parameter does
  Returns:
    Description of the Returned Value
  Throws:
    `XDocletException` - Description of Exception

### expandClassName

    protected static java.lang.String expandClassName(java.lang.String value,
                                                      java.util.Properties attributes)
                                               throws XDocletException

    `XDocletException`

### mandatoryParamNotFound

    protected static void mandatoryParamNotFound(xjavadoc.XDoc doc,
                                                 java.lang.String paramName,
                                                 java.lang.String tagName)
                                          throws XDocletException

  Throws an XDocletException exception to stop the build process. The exception has an informative message to help user find out the cause of the error (not specifying a mandatory parameter for a tag).

  Parameters:
    `paramName` - Description of Parameter
    `tagName` - Description of Parameter
    `doc` - Describe what the parameter does
  Throws:
    `XDocletException` - Description of Exception

### hasTag

    protected static boolean hasTag(java.util.Properties attributes,
                                    int forType)
                             throws XDocletException

  A utility method used by ifHasClassTag/ifDoesntHaveClassTag and ifHasMethodTag/ifDoesntHaveMethodTag, return true if at least one tag exists with the specified name.

  Parameters:
    `attributes` - The attributes of the template tag
    `forType` -
  Returns:
    Description of the Returned Value
  Throws:
    `XDocletException` - Description of Exception

### delimit

    protected static java.lang.String delimit(java.lang.String attributeValue,
                                              java.util.Properties attributes)

  Parameters:
    `attributeValue` - Describe what the parameter does
    `attributes` - Describe what the parameter does
  Returns:
    Describe the return value
  To do:
    fix the () equals test, it is not nice. Test : finder Home definition on AccountBean

### getEngine

    public TemplateEngine getEngine()

  Gets the Engine attribute of the TemplateTagHandler object.

  Returns:
    The Engine value

### generate

    public void generate(java.lang.String template)
                  throws XDocletException

  Parameters:
    `template` -
  Throws:
    `XDocletException`
  To do:
    throw TemplateException instead

### modifiers

    protected java.lang.String modifiers(int forType)
                                  throws XDocletException

  Describe what the method does

  Parameters:
    `forType` - Describe what the parameter does
  Returns:
    Describe the return value
  Throws:
    `XDocletException` - Describe the exception

### mandatoryTemplateTagParamNotFound

    protected void mandatoryTemplateTagParamNotFound(java.lang.String templateTagName,
                                                     java.lang.String paramName)
                                              throws XDocletException

  Parameters:
    `templateTagName` -
    `paramName` -
  Throws:
    `XDocletException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD