org.eclipse.wst.jsdt.core.dom
Class BodyDeclaration

java.lang.Object
  extended by org.eclipse.wst.jsdt.core.dom.ASTNode
      extended by org.eclipse.wst.jsdt.core.dom.ProgramElement
          extended by org.eclipse.wst.jsdt.core.dom.BodyDeclaration
Direct Known Subclasses:
AbstractTypeDeclaration, FieldDeclaration, FunctionDeclaration, Initializer

public abstract class BodyDeclaration
extends ProgramElement

Abstract base class of all AST nodes that represent body declarations that may appear in the body of some kind of class or interface declaration, including anonymous class declarations.

 BodyDeclaration:
                ClassDeclaration
                InterfaceDeclaration
                FunctionDeclaration
                ConstructorDeclaration
                FieldDeclaration
                Initializer
 

All types of body declarations carry modifiers, although they differ in which modifiers are allowed. Most types of body declarations can carry a doc comment; Initializer is the only ones that does not. The source range for body declarations always includes the doc comment if present.

Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.


Field Summary
 
Fields inherited from class org.eclipse.wst.jsdt.core.dom.ASTNode
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, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, DO_STATEMENT, EMPTY_EXPRESSION, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_IN_STATEMENT, FOR_STATEMENT, FUNCTION_DECLARATION, FUNCTION_EXPRESSION, FUNCTION_INVOCATION, FUNCTION_REF, FUNCTION_REF_PARAMETER, IF_STATEMENT, IMPORT_DECLARATION, INFERRED_TYPE, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, JAVASCRIPT_UNIT, JSDOC, LABELED_STATEMENT, LINE_COMMENT, LIST_EXPRESSION, MALFORMED, MEMBER_REF, MODIFIER, NULL_LITERAL, NUMBER_LITERAL, OBJECT_LITERAL, OBJECT_LITERAL_FIELD, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, QUALIFIED_NAME, QUALIFIED_TYPE, RECOVERED, REGULAR_EXPRESSION_LITERAL, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_VARIABLE_DECLARATION, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SWITCH_CASE, SWITCH_STATEMENT, TAG_ELEMENT, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_PARAMETER, UNDEFINED_LITERAL, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE, WITH_STATEMENT
 
Method Summary
 JSdoc getJavadoc()
          Returns the doc comment node.
 ChildPropertyDescriptor getJavadocProperty()
          Returns structural property descriptor for the "jsdoc" property of this node.
 int getModifiers()
          Returns the modifiers explicitly specified on this declaration.
 ChildListPropertyDescriptor getModifiersProperty()
          Returns structural property descriptor for the "modifiers" property of this node.
 java.util.List modifiers()
          Returns the live ordered list of modifiers and annotations of this declaration .
 void setJavadoc(JSdoc docComment)
          Sets or clears the doc comment node.
 void setModifiers(int modifiers)
          Deprecated. Rhis method is replaced by modifiers() which contains a list of a Modifier nodes.
 
Methods inherited from class org.eclipse.wst.jsdt.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
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

getModifiersProperty

public final ChildListPropertyDescriptor getModifiersProperty()
Returns structural property descriptor for the "modifiers" property of this node.

Returns:
the property descriptor

getJavadocProperty

public final ChildPropertyDescriptor getJavadocProperty()
Returns structural property descriptor for the "jsdoc" property of this node.

Returns:
the property descriptor

getJavadoc

public JSdoc getJavadoc()
Returns the doc comment node.

Returns:
the doc comment node, or null if none

setJavadoc

public void setJavadoc(JSdoc docComment)
Sets or clears the doc comment node.

Parameters:
docComment - the doc comment node, or null if none
Throws:
java.lang.IllegalArgumentException - if the doc comment string is invalid

getModifiers

public int getModifiers()
Returns the modifiers explicitly specified on this declaration.

Returns:
the bit-wise or of Modifier constants
See Also:
Modifier

setModifiers

public void setModifiers(int modifiers)
Deprecated. Rhis method is replaced by modifiers() which contains a list of a Modifier nodes.

Sets the modifiers explicitly specified on this declaration (JLS2 API only).

Parameters:
modifiers - the given modifiers (bit-wise or of Modifier constants)
See Also:
Modifier

modifiers

public java.util.List modifiers()
Returns the live ordered list of modifiers and annotations of this declaration .

Returns:
the live list of modifiers and annotations (element type: IExtendedModifier)