Class AbstractTypeDeclaration

  • Direct Known Subclasses:
    AnnotationTypeDeclaration, EnumDeclaration, TypeDeclaration

    public abstract class AbstractTypeDeclaration
    extends BodyDeclaration
    Abstract subclass for type declaration, enum declaration, and annotation type declaration AST node types.
     AbstractTypeDeclaration:
                    TypeDeclaration
                    EnumDeclaration
                    AnnotationTypeDeclaration
     
    Since:
    3.0
    • Method Detail

      • getBodyDeclarationsProperty

        public final ChildListPropertyDescriptor getBodyDeclarationsProperty()
        Returns structural property descriptor for the "bodyDeclarations" property of this node (element type: BodyDeclaration).
        Returns:
        the property descriptor
        Since:
        3.1
      • getNameProperty

        public final ChildPropertyDescriptor getNameProperty()
        Returns structural property descriptor for the "name" property of this node (child type: SimpleName).
        Returns:
        the property descriptor
        Since:
        3.1
      • getName

        public SimpleName getName()
        Returns the name of the type declared in this type declaration.
        Returns:
        the type name node
        Since:
        2.0 (originally declared on TypeDeclaration)
      • 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:
        IllegalArgumentException - if:
        • the node belongs to a different AST
        • the node already has a parent
        Since:
        2.0 (originally declared on TypeDeclaration)
      • bodyDeclarations

        public List bodyDeclarations()
        Returns the live ordered list of body declarations of this type declaration.
        Returns:
        the live list of body declarations (element type: BodyDeclaration)
        Since:
        2.0 (originally declared on TypeDeclaration)
      • 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 compilation unit node.

        Returns:
        true if this type declaration is a child of a compilation unit node, and false otherwise
        Since:
        2.0 (originally declared on TypeDeclaration)
      • 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
        Since:
        2.0 (originally declared on TypeDeclaration)
      • 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
        Since:
        2.0 (originally declared on TypeDeclaration)
      • 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
        Since:
        3.1 Declared in 3.0 on the individual subclasses.