Class TagElement
- java.lang.Object
-
- org.eclipse.jdt.core.dom.ASTNode
-
- org.eclipse.jdt.core.dom.TagElement
-
- All Implemented Interfaces:
IDocElement
public final class TagElement extends ASTNode implements 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- Restriction:
- This class is not intended to be instantiated by clients.
-
-
Field Summary
Fields Modifier and Type Field Description static ChildListPropertyDescriptorFRAGMENTS_PROPERTYThe "fragments" structural property of this node type (element type:IDocElement).static StringTAG_API_NOTEJavadoc tag name (value "@apiNote").static StringTAG_AUTHORStandard doc tag name (value "@author").static StringTAG_CODEStandard inline doc tag name (value "@code").static StringTAG_DEPRECATEDStandard doc tag name (value "@deprecated").static StringTAG_DOCROOTStandard inline doc tag name (value "@docRoot").static StringTAG_EXCEPTIONStandard doc tag name (value "@exception").static StringTAG_HIDDENStandard doc tag name (value "@hidden").static StringTAG_IMPL_NOTEJavadoc tag name (value "@implNote").static StringTAG_IMPL_SPECJavadoc tag name (value "@implSpec").static StringTAG_INDEXStandard doc tag name (value "@index").static StringTAG_INHERITDOCStandard inline doc tag name (value "@inheritDoc").static StringTAG_LINKStandard inline doc tag name (value "@link").static StringTAG_LINKPLAINStandard inline doc tag name (value "@linkplain").static StringTAG_LITERALStandard inline doc tag name (value "@literal").static SimplePropertyDescriptorTAG_NAME_PROPERTYThe "tagName" structural property of this node type (type:String).static StringTAG_PARAMStandard doc tag name (value "@param").static StringTAG_PROVIDESStandard doc tag name (value "@provides").static StringTAG_RETURNStandard doc tag name (value "@return").static StringTAG_SEEStandard doc tag name (value "@see").static StringTAG_SERIALStandard doc tag name (value "@serial").static StringTAG_SERIALDATAStandard doc tag name (value "@serialData").static StringTAG_SERIALFIELDStandard doc tag name (value "@serialField").static StringTAG_SINCEStandard doc tag name (value "@since").static StringTAG_SUMMARYStandard doc tag name (value "@summary").static StringTAG_THROWSStandard doc tag name (value "@throws").static StringTAG_USESStandard doc tag name (value "@uses").static StringTAG_VALUEStandard inline doc tag name (value "@value").static StringTAG_VERSIONStandard 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, CREATION_REFERENCE, DIMENSION, DO_STATEMENT, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, ENUM_CONSTANT_DECLARATION, ENUM_DECLARATION, EXPORTS_DIRECTIVE, EXPRESSION_METHOD_REFERENCE, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, INTERSECTION_TYPE, JAVADOC, LABELED_STATEMENT, LAMBDA_EXPRESSION, LINE_COMMENT, MALFORMED, MARKER_ANNOTATION, MEMBER_REF, MEMBER_VALUE_PAIR, METHOD_DECLARATION, METHOD_INVOCATION, METHOD_REF, METHOD_REF_PARAMETER, MODIFIER, MODULE_DECLARATION, MODULE_MODIFIER, NAME_QUALIFIED_TYPE, NORMAL_ANNOTATION, NULL_LITERAL, NUMBER_LITERAL, OPENS_DIRECTIVE, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, PROVIDES_DIRECTIVE, QUALIFIED_NAME, QUALIFIED_TYPE, RECORD_DECLARATION, RECOVERED, REQUIRES_DIRECTIVE, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_MEMBER_ANNOTATION, SINGLE_VARIABLE_DECLARATION, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SUPER_METHOD_REFERENCE, SWITCH_CASE, SWITCH_EXPRESSION, SWITCH_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TEXT_BLOCK, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_METHOD_REFERENCE, TYPE_PARAMETER, UNION_TYPE, USES_DIRECTIVE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE, YIELD_STATEMENT
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Listfragments()Returns the live list of fragments in this tag element.StringgetTagName()Returns this node's tag name, ornullif none.booleanisNested()Returns whether this tag element is nested within another tag element.static ListpropertyDescriptors(int apiLevel)Returns a list of structural property descriptors for this node type.voidsetTagName(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, hashCode, nodeClassForType, properties, setFlags, setProperty, setSourceRange, setStructuralProperty, structuralPropertiesForType, subtreeBytes, subtreeMatch, toString
-
-
-
-
Field Detail
-
TAG_NAME_PROPERTY
public static final SimplePropertyDescriptor TAG_NAME_PROPERTY
The "tagName" structural property of this node type (type:String).- Since:
- 3.0
-
FRAGMENTS_PROPERTY
public static final ChildListPropertyDescriptor FRAGMENTS_PROPERTY
The "fragments" structural property of this node type (element type:IDocElement).- Since:
- 3.0
-
TAG_AUTHOR
public static final String TAG_AUTHOR
Standard doc tag name (value "@author").- See Also:
- Constant Field Values
-
TAG_CODE
public static final String TAG_CODE
Standard inline doc tag name (value "@code").Note that this tag first appeared in J2SE 5.
- Since:
- 3.1
- 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_HIDDEN
public static final String TAG_HIDDEN
Standard doc tag name (value "@hidden").- Since:
- 3.18
- See Also:
- Constant Field Values
-
TAG_INDEX
public static final String TAG_INDEX
Standard doc tag name (value "@index").- Since:
- 3.18
- 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_LITERAL
public static final String TAG_LITERAL
Standard inline doc tag name (value "@literal").Note that this tag first appeared in J2SE 5.
- Since:
- 3.1
- 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_PROVIDES
public static final String TAG_PROVIDES
Standard doc tag name (value "@provides").- Since:
- 3.18
- 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_SUMMARY
public static final String TAG_SUMMARY
Standard doc tag name (value "@summary").- Since:
- 3.18
- 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_USES
public static final String TAG_USES
Standard doc tag name (value "@uses").- Since:
- 3.18
- 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
-
TAG_API_NOTE
public static final String TAG_API_NOTE
Javadoc tag name (value "@apiNote").- Since:
- 3.18
- See Also:
- Constant Field Values
-
TAG_IMPL_SPEC
public static final String TAG_IMPL_SPEC
Javadoc tag name (value "@implSpec").- Since:
- 3.18
- See Also:
- Constant Field Values
-
TAG_IMPL_NOTE
public static final String TAG_IMPL_NOTE
Javadoc tag name (value "@implNote").- Since:
- 3.18
- 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 theAST.JLS*constants- Returns:
- a list of property descriptors (element type:
StructuralPropertyDescriptor) - Since:
- 3.0
-
getTagName
public String getTagName()
Returns this node's tag name, ornullif 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 benull; this is used to represent the material at the start of a doc comment preceding the first explicit tag.- Returns:
- the tag name, or
nullif 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 benull; this is used to represent the material at the start of a doc comment preceding the first explicit tag.- Parameters:
tagName- the tag name, ornullif 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 "*").
TagElementnodes are used to represent tag elements (e.g., "@link") nested within this tag element.Here are some typical examples:
- "@see Foo#bar()" - TagElement with tag name "@see"; fragments() contains a single MethodRef node
- "@param args the program arguments" - TagElement with tag name "@param"; 2 fragments: SimpleName ("args"), TextElement (" the program arguments")
- "@return See {@link #foo foo} instead." - TagElement with tag name "@return"; 3 fragments: TextElement ("See "), TagElement (for "@link #foo foo"), TextElement (" instead.")
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, andMethodRef. 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:
IDocElement)
-
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:
trueif this node is a nested tag element, and false if this node is either parented by a doc comment node (Javadoc), or is unparented
-
-