Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse JDT Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.jdt.core.dom
Class SingleVariableDeclaration

    java.lang.Object
      org.eclipse.jdt.core.dom.ASTNode
          org.eclipse.jdt.core.dom.VariableDeclaration
              org.eclipse.jdt.core.dom.SingleVariableDeclaration

public class SingleVariableDeclaration
extends VariableDeclaration

Single variable declaration AST node type. Single variable declaration nodes are used in a limited number of places, including formal parameter lists and catch clauses. They are not used for field declarations and regular variable declaration statements. For JLS2:

     SingleVariableDeclaration:
        { Modifier } Type Identifier { [] } [ = Expression ]

For JLS3, the modifier flags were replaced by a list of modifier nodes (intermixed with annotations), and the variable arity indicator was added:

     SingleVariableDeclaration:
        { ExtendedModifier } Type [ ... ] Identifier { [] } [ = Expression ]

Since:
  2.0

Field Summary
`static SimplePropertyDescriptor` | `EXTRA_DIMENSIONS_PROPERTY` The "extraDimensions" structural property of this node type.
`static ChildPropertyDescriptor` | `INITIALIZER_PROPERTY` The "initializer" 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` | `NAME_PROPERTY` The "name" structural property of this node type.
`static ChildPropertyDescriptor` | `TYPE_PROPERTY` The "type" structural property of this node type.
`static SimplePropertyDescriptor` | `VARARGS_PROPERTY` The "varargs" structural property of this node type (added in JLS3 API).

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
`int` | `getExtraDimensions()` Returns the number of extra array dimensions over and above the explicitly-specified type.
`Expression` | `getInitializer()` Returns the initializer of this variable declaration, or `null` if there is none.
`int` | `getModifiers()` Returns the modifiers explicitly specified on this declaration.
`SimpleName` | `getName()` Returns the name of the variable declared in this variable declaration.
`Type` | `getType()` Returns the type of the variable declared in this variable declaration, exclusive of any extra array dimensions.
`boolean` | `isVarargs()` Returns whether this declaration declares the last parameter of a variable arity method (added in JLS3 API).
`List` | `modifiers()` Returns the live ordered list of modifiers and annotations of this declaration (added in JLS3 API).
`static List` | `propertyDescriptors(int apiLevel)` Returns a list of structural property descriptors for this node type.
`void` | `setExtraDimensions(int dimensions)` Sets the number of extra array dimensions over and above the explicitly-specified type.
`void` | `setInitializer(Expression initializer)` Sets or clears the initializer of this variable declaration.
`void` | `setModifiers(int modifiers)` Sets the modifiers explicitly specified on this declaration (JLS2 API only).
`void` | `setName(SimpleName variableName)` Sets the name of the variable declared in this variable declaration to the given name.
`void` | `setType(Type type)` Sets the type of the variable declared in this variable declaration to the given type, exclusive of any extra array dimensions.
`void` | `setVarargs(boolean variableArity)` Sets whether this declaration declares the last parameter of a variable arity method (added in JLS3 API).

Methods inherited from class org.eclipse.jdt.core.dom.VariableDeclaration
`resolveBinding`

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

### 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.0

### NAME_PROPERTY

    public static final ChildPropertyDescriptor NAME_PROPERTY

  The "name" structural property of this node type.

  Since:
    3.0

### TYPE_PROPERTY

    public static final ChildPropertyDescriptor TYPE_PROPERTY

  The "type" structural property of this node type.

  Since:
    3.0

### VARARGS_PROPERTY

    public static final SimplePropertyDescriptor VARARGS_PROPERTY

  The "varargs" structural property of this node type (added in JLS3 API).

  Since:
    3.0

### EXTRA_DIMENSIONS_PROPERTY

    public static final SimplePropertyDescriptor EXTRA_DIMENSIONS_PROPERTY

  The "extraDimensions" structural property of this node type.

  Since:
    3.0

### INITIALIZER_PROPERTY

    public static final ChildPropertyDescriptor INITIALIZER_PROPERTY

  The "initializer" structural property of this node type.

  Since:
    3.0

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

### modifiers

    public List modifiers()

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

  Note that the final modifier is the only meaningful modifier for local variable and formal parameter declarations.

  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

### 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).

  The following modifiers are meaningful for fields: public, private, protected, static, final, volatile, and transient. For local variable and formal parameter declarations, the only meaningful modifier is final.

  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`

### getName

    public SimpleName getName()

  Description copied from class: `VariableDeclaration`
  Returns the name of the variable declared in this variable declaration.

  Specified by:
    `getName` in class `VariableDeclaration`
  Returns:
    the variable name node

### setName

    public void setName(SimpleName variableName)

  Description copied from class: `VariableDeclaration`
  Sets the name of the variable declared in this variable declaration to the given name.

  Specified by:
    `setName` in class `VariableDeclaration`
  Parameters:
    `variableName` - the new variable name

### getType

    public Type getType()

  Returns the type of the variable declared in this variable declaration, exclusive of any extra array dimensions.

  Returns:
    the type

### setType

    public void setType(Type type)

  Sets the type of the variable declared in this variable declaration to the given type, exclusive of any extra array dimensions.

  Parameters:
    `type` - the new type
  Throws:
    `IllegalArgumentException` - if:
    - the node belongs to a different AST
    - the node already has a parent

### isVarargs

    public boolean isVarargs()

  Returns whether this declaration declares the last parameter of a variable arity method (added in JLS3 API).

  Note: This API element is only needed for dealing with Java code that uses new language features of J2SE 1.5. It is included in anticipation of J2SE 1.5 support, which is planned for the next release of Eclipse after 3.0, and may change slightly before reaching its final form.

  Returns:
    `true` if this is a variable arity parameter declaration, and `false` otherwise
  Throws:
    `UnsupportedOperationException` - if this operation is used in a JLS2 AST
  Since:
    3.0

### setVarargs

    public void setVarargs(boolean variableArity)

  Sets whether this declaration declares the last parameter of a variable arity method (added in JLS3 API).

  Note: This API element is only needed for dealing with Java code that uses new language features of J2SE 1.5. It is included in anticipation of J2SE 1.5 support, which is planned for the next release of Eclipse after 3.0, and may change slightly before reaching its final form.

  Parameters:
    `variableArity` - `true` if this is a variable arity parameter declaration, and `false` otherwise
  Since:
    3.0

### getExtraDimensions

    public int getExtraDimensions()

  Description copied from class: `VariableDeclaration`
  Returns the number of extra array dimensions over and above the explicitly-specified type.

  For example, `int x[][]` has a type of `int` and two extra array dimensions; `int[][] x` has a type of `int[][]` and zero extra array dimensions. The two constructs have different ASTs, even though there are really syntactic variants of the same variable declaration.

  Specified by:
    `getExtraDimensions` in class `VariableDeclaration`
  Returns:
    the number of extra array dimensions

### setExtraDimensions

    public void setExtraDimensions(int dimensions)

  Description copied from class: `VariableDeclaration`
  Sets the number of extra array dimensions over and above the explicitly-specified type.

  For example, `int x[][]` has a type of `int` and two extra array dimensions; `int[][] x` has a type of `int[][]` and zero extra array dimensions. The two constructs have different ASTs, even though there are really syntactic variants of the same variable declaration.

  Specified by:
    `setExtraDimensions` in class `VariableDeclaration`
  Parameters:
    `dimensions` - the number of array dimensions

### getInitializer

    public Expression getInitializer()

  Description copied from class: `VariableDeclaration`
  Returns the initializer of this variable declaration, or `null` if there is none.

  Specified by:
    `getInitializer` in class `VariableDeclaration`
  Returns:
    the initializer expression node, or `null` if there is none

### setInitializer

    public void setInitializer(Expression initializer)

  Description copied from class: `VariableDeclaration`
  Sets or clears the initializer of this variable declaration.

  Specified by:
    `setInitializer` in class `VariableDeclaration`
  Parameters:
    `initializer` - the initializer expression node, or `null` if there is none

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse JDT Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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