org.eclipse.jdt.core.dom
Class FieldDeclaration

java.lang.Object
  extended by org.eclipse.jdt.core.dom.ASTNode
      extended by org.eclipse.jdt.core.dom.BodyDeclaration
          extended by org.eclipse.jdt.core.dom.FieldDeclaration

public class FieldDeclaration
extends BodyDeclaration

Field declaration node type.

This kind of node collects several variable declaration fragments (VariableDeclarationFragment) into a single body declaration (BodyDeclaration), all sharing the same modifiers and base type.

 FieldDeclaration:
    [Javadoc] { ExtendedModifier } Type VariableDeclarationFragment
         { , VariableDeclarationFragment } ;
 

When a Javadoc comment is present, the source range begins with the first character of the "/**" comment delimiter. When there is no Javadoc comment, the source range begins with the first character of the initial modifier or type. The source range extends through the last character of the final ";".

Since:
2.0

Field Summary
static ChildListPropertyDescriptor FRAGMENTS_PROPERTY
          The "fragments" structural property of this node type).
static ChildPropertyDescriptor JAVADOC_PROPERTY
          The "javadoc" structural property of this node type.
static SimplePropertyDescriptor MODIFIERS_PROPERTY
          The "modifiers" structural property of this node type (JLS2 API only).
static ChildListPropertyDescriptor MODIFIERS2_PROPERTY
          The "modifiers" structural property of this node type (added in JLS3 API).
static ChildPropertyDescriptor TYPE_PROPERTY
          The "type" structural property of this node type.
 
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, RECOVERED, 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
 java.util.List fragments()
          Returns the live list of variable declaration fragments in this field declaration.
 Type getType()
          Returns the base type declared in this field declaration.
static java.util.List propertyDescriptors(int apiLevel)
          Returns a list of structural property descriptors for this node type.
 void setType(Type type)
          Sets the base type declared in this field declaration to the given type.
 
Methods inherited from class org.eclipse.jdt.core.dom.BodyDeclaration
getJavadoc, getJavadocProperty, getModifiers, getModifiersProperty, modifiers, setJavadoc, setModifiers
 
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
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

JAVADOC_PROPERTY

public static final ChildPropertyDescriptor JAVADOC_PROPERTY
The "javadoc" structural property of this node type.

Since:
3.0

MODIFIERS_PROPERTY

public static final SimplePropertyDescriptor MODIFIERS_PROPERTY
The "modifiers" structural property of this node type (JLS2 API only).

Since:
3.0

MODIFIERS2_PROPERTY

public static final ChildListPropertyDescriptor MODIFIERS2_PROPERTY
The "modifiers" structural property of this node type (added in JLS3 API).

Since:
3.1

TYPE_PROPERTY

public static final ChildPropertyDescriptor TYPE_PROPERTY
The "type" 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
Method Detail

propertyDescriptors

public static java.util.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

getType

public Type getType()
Returns the base type declared in this field declaration.

N.B. The individual child variable declaration fragments may specify additional array dimensions. So the type of the variable are not necessarily exactly this type.

Returns:
the base type

setType

public void setType(Type type)
Sets the base type declared in this field declaration to the given type.

Parameters:
type - the new base type
Throws:
java.lang.IllegalArgumentException - if:
  • the node belongs to a different AST
  • the node already has a parent

fragments

public java.util.List fragments()
Returns the live list of variable declaration fragments in this field declaration. Adding and removing nodes from this list affects this node dynamically. All nodes in this list must be VariableDeclarationFragments; attempts to add any other type of node will trigger an exception.

Returns:
the live list of variable declaration fragments in this statement (element type: VariableDeclarationFragment)