Eclipse JDT
Release 3.0

org.eclipse.jdt.core.dom
Class BodyDeclaration

java.lang.Object
  extended byorg.eclipse.jdt.core.dom.ASTNode
      extended byorg.eclipse.jdt.core.dom.BodyDeclaration
Direct Known Subclasses:
AbstractTypeDeclaration, AnnotationTypeMemberDeclaration, EnumConstantDeclaration, FieldDeclaration, Initializer, MethodDeclaration

public abstract class BodyDeclaration
extends ASTNode

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, enumeration declarations, and enumeration constant declarations.

For JLS2:

 BodyDeclaration:
		ClassDeclaration
		InterfaceDeclaration
		MethodDeclaration
 		ConstructorDeclaration
 		FieldDeclaration
 		Initializer
 
For JLS3, a number of new node types were introduced:
 BodyDeclaration:
		ClassDeclaration
		InterfaceDeclaration
		EnumDeclaration
		MethodDeclaration
 		ConstructorDeclaration
 		FieldDeclaration
 		Initializer
		EnumConstantDeclaration
		AnnotationTypeDeclaration
		AnnotationTypeMemberDeclaration
 

All types of body declarations carry modifiers (and annotations), 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.

Since:
2.0

Field Summary
 
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
 Javadoc getJavadoc()
          Returns the doc comment node.
 int getModifiers()
          Returns the modifiers explicitly specified on this declaration.
 List modifiers()
          Returns the live ordered list of modifiers and annotations of this declaration (added in JLS3 API).
 void setJavadoc(Javadoc docComment)
          Sets or clears the doc comment node.
 void setModifiers(int modifiers)
          Sets the modifiers explicitly specified on this declaration (JLS2 API only).
 
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
 

Method Detail

getJavadoc

public Javadoc getJavadoc()
Returns the doc comment node.

Returns:
the doc comment node, or null if none

setJavadoc

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

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

getModifiers

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

In the JLS3 API, this method is a convenience method that computes these flags from modifiers().

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

setModifiers

public void setModifiers(int modifiers)
Sets the modifiers explicitly specified on this declaration (JLS2 API only).

Parameters:
modifiers - the given modifiers (bit-wise or of Modifier constants)
Throws:
UnsupportedOperationException - if this operation is used in an AST later than JLS2
See Also:
Modifier

modifiers

public List modifiers()
Returns the live ordered list of modifiers and annotations of this declaration (added in JLS3 API).

Returns:
the live list of modifiers and annotations (element type: IExtendedModifier)
Throws:
UnsupportedOperationException - if this operation is used in a JLS2 AST
Since:
3.0

Eclipse JDT
Release 3.0

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