Eclipse JDT
Release 3.0

org.eclipse.jdt.core.dom
Class TagElement

java.lang.Object
  extended byorg.eclipse.jdt.core.dom.ASTNode
      extended byorg.eclipse.jdt.core.dom.TagElement
All Implemented Interfaces:
org.eclipse.jdt.core.dom.IDocElement

public final class TagElement
extends ASTNode
implements org.eclipse.jdt.core.dom.IDocElement

AST node for a tag within a doc comment. Tag elements nested within another tag element are called inline doc tags.

 TagElement:
     [ @ Identifier ] { DocElement }
 DocElement:
     TextElement
     Name
     MethodRef
     MemberRef
     { TagElement }
 

Since:
3.0
See Also:
Javadoc

Field Summary
static ChildListPropertyDescriptor FRAGMENTS_PROPERTY
          The "fragments" structural property of this node type.
static String TAG_AUTHOR
          Standard doc tag name (value "@author").
static String TAG_DEPRECATED
          Standard doc tag name (value "@deprecated").
static String TAG_DOCROOT
          Standard inline doc tag name (value "@docRoot").
static String TAG_EXCEPTION
          Standard doc tag name (value "@exception").
static String TAG_INHERITDOC
          Standard inline doc tag name (value "@inheritDoc").
static String TAG_LINK
          Standard inline doc tag name (value "@link").
static String TAG_LINKPLAIN
          Standard inline doc tag name (value "@linkplain").
static SimplePropertyDescriptor TAG_NAME_PROPERTY
          The "tagName" structural property of this node type.
static String TAG_PARAM
          Standard doc tag name (value "@param").
static String TAG_RETURN
          Standard doc tag name (value "@return").
static String TAG_SEE
          Standard doc tag name (value "@see").
static String TAG_SERIAL
          Standard doc tag name (value "@serial").
static String TAG_SERIALDATA
          Standard doc tag name (value "@serialData").
static String TAG_SERIALFIELD
          Standard doc tag name (value "@serialField").
static String TAG_SINCE
          Standard doc tag name (value "@since").
static String TAG_THROWS
          Standard doc tag name (value "@throws").
static String TAG_VALUE
          Standard inline doc tag name (value "@value").
static String TAG_VERSION
          Standard doc tag name (value "@version").
 
Fields inherited from class org.eclipse.jdt.core.dom.ASTNode
ANNOTATION_TYPE_DECLARATION, ANNOTATION_TYPE_MEMBER_DECLARATION, ANONYMOUS_CLASS_DECLARATION, ARRAY_ACCESS, ARRAY_CREATION, ARRAY_INITIALIZER, ARRAY_TYPE, ASSERT_STATEMENT, ASSIGNMENT, BLOCK, BLOCK_COMMENT, BOOLEAN_LITERAL, BREAK_STATEMENT, CAST_EXPRESSION, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, COMPILATION_UNIT, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, DO_STATEMENT, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, ENUM_CONSTANT_DECLARATION, ENUM_DECLARATION, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, JAVADOC, LABELED_STATEMENT, LINE_COMMENT, MALFORMED, MARKER_ANNOTATION, MEMBER_REF, MEMBER_VALUE_PAIR, METHOD_DECLARATION, METHOD_INVOCATION, METHOD_REF, METHOD_REF_PARAMETER, MODIFIER, NORMAL_ANNOTATION, NULL_LITERAL, NUMBER_LITERAL, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, QUALIFIED_NAME, QUALIFIED_TYPE, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_MEMBER_ANNOTATION, SINGLE_VARIABLE_DECLARATION, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SWITCH_CASE, SWITCH_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_PARAMETER, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE
 
Method Summary
 List fragments()
          Returns the live list of fragments in this tag element.
 String getTagName()
          Returns this node's tag name, or null if none.
 boolean isNested()
          Returns whether this tag element is nested within another tag element.
static List propertyDescriptors(int apiLevel)
          Returns a list of structural property descriptors for this node type.
 void setTagName(String tagName)
          Sets the tag name of this node to the given value.
 
Methods inherited from class org.eclipse.jdt.core.dom.ASTNode
accept, copySubtree, copySubtrees, delete, equals, getAST, getFlags, getLength, getLocationInParent, getNodeType, getParent, getProperty, getRoot, getStartPosition, getStructuralProperty, nodeClassForType, properties, setFlags, setProperty, setSourceRange, setStructuralProperty, structuralPropertiesForType, subtreeBytes, subtreeMatch, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

TAG_NAME_PROPERTY

public static final SimplePropertyDescriptor TAG_NAME_PROPERTY
The "tagName" structural property of this node type.

Since:
3.0

FRAGMENTS_PROPERTY

public static final ChildListPropertyDescriptor FRAGMENTS_PROPERTY
The "fragments" structural property of this node type.

Since:
3.0

TAG_AUTHOR

public static final String TAG_AUTHOR
Standard doc tag name (value "@author").

See Also:
Constant Field Values

TAG_DEPRECATED

public static final String TAG_DEPRECATED
Standard doc tag name (value "@deprecated").

See Also:
Constant Field Values

TAG_DOCROOT

public static final String TAG_DOCROOT
Standard inline doc tag name (value "@docRoot").

See Also:
Constant Field Values

TAG_EXCEPTION

public static final String TAG_EXCEPTION
Standard doc tag name (value "@exception").

See Also:
Constant Field Values

TAG_INHERITDOC

public static final String TAG_INHERITDOC
Standard inline doc tag name (value "@inheritDoc").

See Also:
Constant Field Values

TAG_LINK

public static final String TAG_LINK
Standard inline doc tag name (value "@link").

See Also:
Constant Field Values

TAG_LINKPLAIN

public static final String TAG_LINKPLAIN
Standard inline doc tag name (value "@linkplain").

See Also:
Constant Field Values

TAG_PARAM

public static final String TAG_PARAM
Standard doc tag name (value "@param").

See Also:
Constant Field Values

TAG_RETURN

public static final String TAG_RETURN
Standard doc tag name (value "@return").

See Also:
Constant Field Values

TAG_SEE

public static final String TAG_SEE
Standard doc tag name (value "@see").

See Also:
Constant Field Values

TAG_SERIAL

public static final String TAG_SERIAL
Standard doc tag name (value "@serial").

See Also:
Constant Field Values

TAG_SERIALDATA

public static final String TAG_SERIALDATA
Standard doc tag name (value "@serialData").

See Also:
Constant Field Values

TAG_SERIALFIELD

public static final String TAG_SERIALFIELD
Standard doc tag name (value "@serialField").

See Also:
Constant Field Values

TAG_SINCE

public static final String TAG_SINCE
Standard doc tag name (value "@since").

See Also:
Constant Field Values

TAG_THROWS

public static final String TAG_THROWS
Standard doc tag name (value "@throws").

See Also:
Constant Field Values

TAG_VALUE

public static final String TAG_VALUE
Standard inline doc tag name (value "@value").

See Also:
Constant Field Values

TAG_VERSION

public static final String TAG_VERSION
Standard doc tag name (value "@version").

See Also:
Constant Field Values
Method Detail

propertyDescriptors

public static List propertyDescriptors(int apiLevel)
Returns a list of structural property descriptors for this node type. Clients must not modify the result.

Parameters:
apiLevel - the API level; one of the AST.JLS* constants
Returns:
a list of property descriptors (element type: StructuralPropertyDescriptor)
Since:
3.0

getTagName

public String getTagName()
Returns this node's tag name, or null if none. For top level doc tags such as parameter tags, the tag name includes the "@" character ("@param"). For inline doc tags such as link tags, the tag name includes the "@" character ("@link"). The tag name may also be null; this is used to represent the material at the start of a doc comment preceding the first explicit tag.

Returns:
the tag name, or null if none

setTagName

public void setTagName(String tagName)
Sets the tag name of this node to the given value. For top level doc tags such as parameter tags, the tag name includes the "@" character ("@param"). For inline doc tags such as link tags, the tag name includes the "@" character ("@link"). The tag name may also be null; this is used to represent the material at the start of a doc comment preceding the first explicit tag.

Parameters:
tagName - the tag name, or null if none

fragments

public List fragments()
Returns the live list of fragments in this tag element.

The fragments cover everything following the tag name (or everything if there is no tag name), and generally omit embedded line breaks (and leading whitespace on new lines, including any leading "*"). TagElement nodes are used to represent tag elements (e.g., "@link") nested within this tag element.

Here are some typical examples:

The use of Name, MethodRef, and MemberRef nodes within tag elements allows these fragments to be queried for binding information.

Adding and removing nodes from this list affects this node dynamically. The nodes in this list may be of various types, including TextElement, TagElement, Name, MemberRef, and MethodRef. Clients should assume that the list of types may grow in the future, and write their code to deal with unexpected nodes types. However, attempts to add a non-proscribed type of node will trigger an exception.

Returns:
the live list of doc elements in this tag element (element type: ASTNode)

isNested

public boolean isNested()
Returns whether this tag element is nested within another tag element. Nested tag elements appears enclosed in "{" and "}"; certain doc tags, including "@link" and "@linkplain" are only meaningful as nested tags. Top-level (i.e., non-nested) doc tags begin on a new line; certain doc tags, including "@param" and "@see" are only meaningful as top-level tags.

This convenience methods checks to see whether the parent of this node is of type TagElement.

Returns:
true if this node is a nested tag element, and false if this node is either parented by a doc comment node (Javadoc), or is unparented

Eclipse JDT
Release 3.0

Copyright (c) IBM Corp. and others 2000, 2004. All Rights Reserved.