org.aspectj.org.eclipse.jdt.core.dom
Class AjTypeDeclaration

java.lang.Object
  extended by org.aspectj.org.eclipse.jdt.core.dom.ASTNode
      extended by org.aspectj.org.eclipse.jdt.core.dom.BodyDeclaration
          extended by org.aspectj.org.eclipse.jdt.core.dom.AbstractTypeDeclaration
              extended by org.aspectj.org.eclipse.jdt.core.dom.TypeDeclaration
                  extended by org.aspectj.org.eclipse.jdt.core.dom.AjTypeDeclaration
Direct Known Subclasses:
AspectDeclaration

public class AjTypeDeclaration
extends TypeDeclaration

This subtype of TypeDeclaration allows for the extensions that AspectJ has for types - they might be aspects and pointcuts may exist in classes. This type does not represent an aspect, that is represented by AspectDeclaration, a further subtype of AjTypeDeclaration.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.aspectj.org.eclipse.jdt.core.dom.TypeDeclaration
TypeDeclaration.ITypeDeclFactory
 
Field Summary
protected static java.util.List ajPROPERTY_DESCRIPTORS_2_0
           
protected static java.util.List ajPROPERTY_DESCRIPTORS_3_0
           
static SimplePropertyDescriptor ASPECT_PROPERTY
          The "aspect" structural property of this node type.
 
Fields inherited from class org.aspectj.org.eclipse.jdt.core.dom.TypeDeclaration
BODY_DECLARATIONS_PROPERTY, INTERFACE_PROPERTY, JAVADOC_PROPERTY, MODIFIERS_PROPERTY, MODIFIERS2_PROPERTY, NAME_PROPERTY, PROPERTY_DESCRIPTORS_2_0, PROPERTY_DESCRIPTORS_3_0, SUPER_INTERFACE_TYPES_PROPERTY, SUPER_INTERFACES_PROPERTY, SUPERCLASS_PROPERTY, SUPERCLASS_TYPE_PROPERTY, superInterfaceNames, superInterfaceTypes, TYPE_PARAMETERS_PROPERTY, typeParameters
 
Fields inherited from class org.aspectj.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, RECOVERED, 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, UNION_TYPE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE
 
Constructor Summary
AjTypeDeclaration(AST ast)
          Creates a new AST node for a type declaration owned by the given AST.
 
Method Summary
 PointcutDeclaration[] getPointcuts()
           
 org.aspectj.org.eclipse.jdt.core.dom.ASTNode.NodeList getSuperInterfaceNames()
           
 org.aspectj.org.eclipse.jdt.core.dom.ASTNode.NodeList getTypeParameters()
           
 boolean isAspect()
          Returns whether this type declaration declares a class or an aspect.
static java.util.List propertyDescriptors(int apiLevel)
          Returns a list of structural property descriptors for this node type.
 void setAspect(boolean isAspect)
          Sets whether this type declaration declares a class or an aspect.
 
Methods inherited from class org.aspectj.org.eclipse.jdt.core.dom.TypeDeclaration
getFields, getMethods, getSuperclass, getSuperclassType, getTypeDeclaration, getTypes, isInterface, setInterface, setSuperclass, setSuperclassType, superInterfaces, superInterfaceTypes, typeParameters
 
Methods inherited from class org.aspectj.org.eclipse.jdt.core.dom.AbstractTypeDeclaration
bodyDeclarations, getBodyDeclarationsProperty, getName, getNameProperty, isLocalTypeDeclaration, isMemberTypeDeclaration, isPackageMemberTypeDeclaration, resolveBinding, setName
 
Methods inherited from class org.aspectj.org.eclipse.jdt.core.dom.BodyDeclaration
getJavadoc, getJavadocProperty, getModifiers, getModifiersProperty, modifiers, setJavadoc, setModifiers
 
Methods inherited from class org.aspectj.org.eclipse.jdt.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
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

ASPECT_PROPERTY

public static final SimplePropertyDescriptor ASPECT_PROPERTY
The "aspect" structural property of this node type.

Since:
3.0

ajPROPERTY_DESCRIPTORS_2_0

protected static java.util.List ajPROPERTY_DESCRIPTORS_2_0

ajPROPERTY_DESCRIPTORS_3_0

protected static java.util.List ajPROPERTY_DESCRIPTORS_3_0
Constructor Detail

AjTypeDeclaration

public AjTypeDeclaration(AST ast)
Creates a new AST node for a type declaration owned by the given AST. By default, the type declaration is for a class of an unspecified, but legal, name; no modifiers; no javadoc; no type parameters; no superclass or superinterfaces; and an empty list of body declarations.

N.B. This constructor is package-private; all subclasses must be declared in the same package; clients are unable to declare additional subclasses.

Parameters:
ast - the AST that is to own this node
Method Detail

propertyDescriptors

public static java.util.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

isAspect

public boolean isAspect()
Returns whether this type declaration declares a class or an aspect.

Returns:
true if this is an aspect declaration, and false if this is a class or interface declaration

setAspect

public void setAspect(boolean isAspect)
Sets whether this type declaration declares a class or an aspect.

Parameters:
isAspect - true if this is an aspect declaration, and false if this is a class or interface declaration

getPointcuts

public PointcutDeclaration[] getPointcuts()

getSuperInterfaceNames

public org.aspectj.org.eclipse.jdt.core.dom.ASTNode.NodeList getSuperInterfaceNames()

getTypeParameters

public org.aspectj.org.eclipse.jdt.core.dom.ASTNode.NodeList getTypeParameters()