|
Eclipse JDT Release 3.1 |
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.jdt.core.dom.ASTNode
org.eclipse.jdt.core.dom.BodyDeclaration
org.eclipse.jdt.core.dom.AbstractTypeDeclaration
org.eclipse.jdt.core.dom.TypeDeclaration
Type declaration AST node type. A type declaration is the union of a class declaration and an interface declaration. For JLS2:
TypeDeclaration: ClassDeclaration InterfaceDeclaration ClassDeclaration: [ Javadoc ] { Modifier } class Identifier [ extends Type] [ implements Type { , Type } ] { { ClassBodyDeclaration | ; } } InterfaceDeclaration: [ Javadoc ] { Modifier } interface Identifier [ extends Type { , Type } ] { { InterfaceBodyDeclaration | ; } }For JLS3, type parameters and reified modifiers (and annotations) were added, and the superclass type name and superinterface types names are generalized to type so that parameterized types can be referenced:
TypeDeclaration: ClassDeclaration InterfaceDeclaration ClassDeclaration: [ Javadoc ] { ExtendedModifier } class Identifier [ < TypeParameter { , TypeParameter } > ] [ extends Type ] [ implements Type { , Type } ] { { ClassBodyDeclaration | ; } } InterfaceDeclaration: [ Javadoc ] { ExtendedModifier } interface Identifier [ < TypeParameter { , TypeParameter } > ] [ extends Type { , Type } ] { { InterfaceBodyDeclaration | ; } }
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 first modifier or annotation (if any), or the first character of the "class" or "interface" keyword (if no modifiers or annotations). The source range extends through the last character of the "}" token following the body declarations.
Field Summary | |
---|---|
static ChildListPropertyDescriptor |
BODY_DECLARATIONS_PROPERTY
The "bodyDeclarations" structural property of this node type (added in JLS3 API). |
static SimplePropertyDescriptor |
INTERFACE_PROPERTY
The "interface" 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 |
NAME_PROPERTY
The "name" structural property of this node type. |
static ChildListPropertyDescriptor |
SUPER_INTERFACE_TYPES_PROPERTY
The "superInterfaceTypes" structural property of this node type (added in JLS3 API). |
static ChildListPropertyDescriptor |
SUPER_INTERFACES_PROPERTY
The "superInterfaces" structural property of this node type (JLS2 API only). |
static ChildPropertyDescriptor |
SUPERCLASS_PROPERTY
The "superclass" structural property of this node type (JLS2 API only). |
static ChildPropertyDescriptor |
SUPERCLASS_TYPE_PROPERTY
The "superclassType" structural property of this node type (added in JLS3 API). |
static ChildListPropertyDescriptor |
TYPE_PARAMETERS_PROPERTY
The "typeParameters" structural property of this node type (added in JLS3 API). |
Method Summary | |
---|---|
FieldDeclaration[] |
getFields()
Returns the ordered list of field declarations of this type declaration. |
MethodDeclaration[] |
getMethods()
Returns the ordered list of method declarations of this type declaration. |
Name |
getSuperclass()
Deprecated. In the JLS3 API, this method is replaced by getSuperclassType() , which returns a Type
instead of a Name . |
Type |
getSuperclassType()
Returns the superclass declared in this type declaration, or null if there is none (added in JLS3 API).
|
TypeDeclaration[] |
getTypes()
Returns the ordered list of member type declarations of this type declaration. |
boolean |
isInterface()
Returns whether this type declaration declares a class or an interface. |
static List |
propertyDescriptors(int apiLevel)
Returns a list of structural property descriptors for this node type. |
void |
setInterface(boolean isInterface)
Sets whether this type declaration declares a class or an interface. |
void |
setSuperclass(Name superclassName)
Deprecated. In the JLS3 API, this method is replaced by setSuperclassType(Type) , which expects a
Type instead of a Name . |
void |
setSuperclassType(Type superclassType)
Sets or clears the superclass declared in this type declaration (added in JLS3 API). |
List |
superInterfaces()
Deprecated. In the JLS3 API, this method is replaced by superInterfaceTypes() . |
List |
superInterfaceTypes()
Returns the live ordered list of superinterfaces of this type declaration (added in JLS3 API). |
List |
typeParameters()
Returns the live ordered list of type parameters of this type declaration (added in JLS3 API). |
Methods inherited from class org.eclipse.jdt.core.dom.AbstractTypeDeclaration |
---|
bodyDeclarations, getBodyDeclarationsProperty, getName, getNameProperty, isLocalTypeDeclaration, isMemberTypeDeclaration, isPackageMemberTypeDeclaration, resolveBinding, setName |
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, 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 |
public static final ChildPropertyDescriptor JAVADOC_PROPERTY
public static final SimplePropertyDescriptor MODIFIERS_PROPERTY
public static final ChildListPropertyDescriptor MODIFIERS2_PROPERTY
public static final SimplePropertyDescriptor INTERFACE_PROPERTY
public static final ChildPropertyDescriptor NAME_PROPERTY
public static final ChildPropertyDescriptor SUPERCLASS_PROPERTY
public static final ChildListPropertyDescriptor SUPER_INTERFACES_PROPERTY
public static final ChildPropertyDescriptor SUPERCLASS_TYPE_PROPERTY
public static final ChildListPropertyDescriptor SUPER_INTERFACE_TYPES_PROPERTY
public static final ChildListPropertyDescriptor TYPE_PARAMETERS_PROPERTY
public static final ChildListPropertyDescriptor BODY_DECLARATIONS_PROPERTY
Method Detail |
public static List propertyDescriptors(int apiLevel)
apiLevel
- the API level; one of the
AST.JLS*
constants
StructuralPropertyDescriptor
)public boolean isInterface()
true
if this is an interface declaration,
and false
if this is a class declarationpublic void setInterface(boolean isInterface)
isInterface
- true
if this is an interface
declaration, and false
if this is a class
declarationpublic List typeParameters()
TypeParameter
)
UnsupportedOperationException
- if this operation is used in
a JLS2 ASTpublic Name getSuperclass()
getSuperclassType()
, which returns a Type
instead of a Name
.
null
if there is none (JLS2 API only).
Note that this child is not relevant for interface declarations (although it does still figure in subtree equality comparisons).
null
if
there is none
UnsupportedOperationException
- if this operation is used in
an AST later than JLS2public Type getSuperclassType()
null
if there is none (added in JLS3 API).
Note that this child is not relevant for interface declarations (although it does still figure in subtree equality comparisons).
null
if
there is none
UnsupportedOperationException
- if this operation is used in
a JLS2 ASTpublic void setSuperclass(Name superclassName)
setSuperclassType(Type)
, which expects a
Type
instead of a Name
.
Note that this child is not relevant for interface declarations (although it does still figure in subtree equality comparisons).
superclassName
- the superclass name node, or null
if
there is none
IllegalArgumentException
- if:
UnsupportedOperationException
- if this operation is used in
an AST later than JLS2public void setSuperclassType(Type superclassType)
Note that this child is not relevant for interface declarations (although it does still figure in subtree equality comparisons).
superclassType
- the superclass type node, or null
if
there is none
IllegalArgumentException
- if:
UnsupportedOperationException
- if this operation is used in
a JLS2 ASTpublic List superInterfaces()
superInterfaceTypes()
.
Name
)
UnsupportedOperationException
- if this operation is used in
an AST later than JLS2public List superInterfaceTypes()
Type
)
UnsupportedOperationException
- if this operation is used in
a JLS2 ASTpublic FieldDeclaration[] getFields()
This convenience method returns this node's body declarations
with non-fields filtered out. Unlike bodyDeclarations
,
this method does not return a live result.
public MethodDeclaration[] getMethods()
This convenience method returns this node's body declarations
with non-methods filtered out. Unlike bodyDeclarations
,
this method does not return a live result.
public TypeDeclaration[] getTypes()
This convenience method returns this node's body declarations
with non-types filtered out. Unlike bodyDeclarations
,
this method does not return a live result.
|
Eclipse JDT Release 3.1 |
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |