org.eclipse.wst.jsdt.core.dom
Class AbstractTypeDeclaration

java.lang.Object
  extended by org.eclipse.wst.jsdt.core.dom.ASTNode
      extended by org.eclipse.wst.jsdt.core.dom.ProgramElement
          extended by org.eclipse.wst.jsdt.core.dom.BodyDeclaration
              extended by org.eclipse.wst.jsdt.core.dom.AbstractTypeDeclaration
Direct Known Subclasses:
TypeDeclaration

public abstract class AbstractTypeDeclaration
extends BodyDeclaration

Abstract subclass for type declaration AST node types. Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.


Field Summary
 
Fields inherited from class org.eclipse.wst.jsdt.core.dom.ASTNode
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, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, DO_STATEMENT, EMPTY_EXPRESSION, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_IN_STATEMENT, FOR_STATEMENT, FUNCTION_DECLARATION, FUNCTION_EXPRESSION, FUNCTION_INVOCATION, FUNCTION_REF, FUNCTION_REF_PARAMETER, IF_STATEMENT, IMPORT_DECLARATION, INFERRED_TYPE, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, JAVASCRIPT_UNIT, JSDOC, LABELED_STATEMENT, LINE_COMMENT, LIST_EXPRESSION, MALFORMED, MEMBER_REF, MODIFIER, NULL_LITERAL, NUMBER_LITERAL, OBJECT_LITERAL, OBJECT_LITERAL_FIELD, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, QUALIFIED_NAME, QUALIFIED_TYPE, RECOVERED, REGULAR_EXPRESSION_LITERAL, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_VARIABLE_DECLARATION, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SWITCH_CASE, SWITCH_STATEMENT, TAG_ELEMENT, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_PARAMETER, UNDEFINED_LITERAL, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE, WITH_STATEMENT
 
Method Summary
 java.util.List bodyDeclarations()
          Returns the live ordered list of body declarations of this type declaration.
 ChildListPropertyDescriptor getBodyDeclarationsProperty()
          Returns structural property descriptor for the "bodyDeclarations" property of this node.
 SimpleName getName()
          Returns the name of the type declared in this type declaration.
 ChildPropertyDescriptor getNameProperty()
          Returns structural property descriptor for the "name" property of this node.
 boolean isLocalTypeDeclaration()
          Returns whether this type declaration is a local type.
 boolean isMemberTypeDeclaration()
          Returns whether this type declaration is a type member.
 boolean isPackageMemberTypeDeclaration()
          Returns whether this type declaration is a package member (that is, a top-level type).
 ITypeBinding resolveBinding()
          Resolves and returns the binding for the type declared in this type declaration.
 void setName(SimpleName typeName)
          Sets the name of the type declared in this type declaration to the given name.
 
Methods inherited from class org.eclipse.wst.jsdt.core.dom.BodyDeclaration
getJavadoc, getJavadocProperty, getModifiers, getModifiersProperty, modifiers, setJavadoc, setModifiers
 
Methods inherited from class org.eclipse.wst.jsdt.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
 

Method Detail

getBodyDeclarationsProperty

public final ChildListPropertyDescriptor getBodyDeclarationsProperty()
Returns structural property descriptor for the "bodyDeclarations" property of this node.

Returns:
the property descriptor

getNameProperty

public final ChildPropertyDescriptor getNameProperty()
Returns structural property descriptor for the "name" property of this node.

Returns:
the property descriptor

getName

public SimpleName getName()
Returns the name of the type declared in this type declaration.

Returns:
the type name node

setName

public void setName(SimpleName typeName)
Sets the name of the type declared in this type declaration to the given name.

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

bodyDeclarations

public java.util.List bodyDeclarations()
Returns the live ordered list of body declarations of this type declaration.

Returns:
the live list of body declarations (element type: BodyDeclaration)

isPackageMemberTypeDeclaration

public boolean isPackageMemberTypeDeclaration()
Returns whether this type declaration is a package member (that is, a top-level type).

Note that this is a convenience method that simply checks whether this node's parent is a javaScript unit node.

Returns:
true if this type declaration is a child of a javaScript unit node, and false otherwise

isMemberTypeDeclaration

public boolean isMemberTypeDeclaration()
Returns whether this type declaration is a type member.

Note that this is a convenience method that simply checks whether this node's parent is a type declaration node or an anonymous class declaration.

Returns:
true if this type declaration is a child of a type declaration node or an anonymous class declaration node, and false otherwise

isLocalTypeDeclaration

public boolean isLocalTypeDeclaration()
Returns whether this type declaration is a local type.

Note that this is a convenience method that simply checks whether this node's parent is a type declaration statement node.

Returns:
true if this type declaration is a child of a type declaration statement node, and false otherwise

resolveBinding

public final ITypeBinding resolveBinding()
Resolves and returns the binding for the type declared in this type declaration.

Note that bindings are generally unavailable unless requested when the AST is being built.

Returns:
the binding, or null if the binding cannot be resolved