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 WildcardType

    java.lang.Object
      org.eclipse.jdt.core.dom.ASTNode
          org.eclipse.jdt.core.dom.Type
              org.eclipse.jdt.core.dom.WildcardType

public class WildcardType
extends Type

Type node for a wildcard type (added in JLS3 API).

     WildcardType:
        ? [ ( extends | super) Type ]

Not all node arrangements will represent legal Java constructs. In particular, it is nonsense if a wildcard type node appears anywhere other than as an argument of a `ParameterizedType` node.

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.

Since:
  3.0

Field Summary
`static ChildPropertyDescriptor` | `BOUND_PROPERTY` The "bound" structural property of this node type.
`static SimplePropertyDescriptor` | `UPPER_BOUND_PROPERTY` The "upperBound" 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, 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
`Type` | `getBound()` Returns the bound of this wildcard type if it has one.
`boolean` | `isUpperBound()` Returns whether this wildcard type is an upper bound ("extends") as opposed to a lower bound ("super").
`static List` | `propertyDescriptors(int apiLevel)` Returns a list of structural property descriptors for this node type.
`void` | `setBound(Type type)` Sets the bound of this wildcard type to the given type.
`void` | `setBound(Type type, boolean isUpperBound)` Sets the bound of this wildcard type to the given type and marks it as an upper or a lower bound.
`void` | `setUpperBound(boolean isUpperBound)` Sets whether this wildcard type is an upper bound ("extends") as opposed to a lower bound ("super").

Methods inherited from class org.eclipse.jdt.core.dom.Type
`isArrayType, isParameterizedType, isPrimitiveType, isQualifiedType, isSimpleType, isWildcardType, 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

### BOUND_PROPERTY

    public static final ChildPropertyDescriptor BOUND_PROPERTY

  The "bound" structural property of this node type.

  Since:
    3.0

### UPPER_BOUND_PROPERTY

    public static final SimplePropertyDescriptor UPPER_BOUND_PROPERTY

  The "upperBound" 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

### isUpperBound

    public boolean isUpperBound()

  Returns whether this wildcard type is an upper bound ("extends") as opposed to a lower bound ("super").

  Note that this property is irrelevant for wildcards that do not have a bound.

  Returns:
    `true` if an upper bound, and `false` if a lower bound
  See Also:
    `setBound(Type)`

### getBound

    public Type getBound()

  Returns the bound of this wildcard type if it has one. If `isUpperBound` returns true, this is an upper bound ("? extends B"); if it returns false, this is a lower bound ("? super B").

  Returns:
    the bound of this wildcard type, or `null` if none
  See Also:
    `setBound(Type)`

### setBound

    public void setBound(Type type,
                         boolean isUpperBound)

  Sets the bound of this wildcard type to the given type and marks it as an upper or a lower bound. The method is equivalent to calling `setBound(type); setUpperBound(isUpperBound)`.

  Parameters:
    `type` - the new bound of this wildcard type, or `null` if none
    `isUpperBound` - `true` for an upper bound ("? extends B"), and `false` for a lower bound ("? super B")
  Throws:
    `IllegalArgumentException` - if:
    - the node belongs to a different AST
    - the node already has a parent
  See Also:
    `getBound()`, `isUpperBound()`

### setBound

    public void setBound(Type type)

  Sets the bound of this wildcard type to the given type.

  Parameters:
    `type` - the new bound of this wildcard type, or `null` if none
  Throws:
    `IllegalArgumentException` - if:
    - the node belongs to a different AST
    - the node already has a parent
  See Also:
    `getBound()`

### setUpperBound

    public void setUpperBound(boolean isUpperBound)

  Sets whether this wildcard type is an upper bound ("extends") as opposed to a lower bound ("super").

  Parameters:
    `isUpperBound` - `true` if an upper bound, and `false` if a lower bound
  See Also:
    `isUpperBound()`

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.