recoder.java.declaration
Class InterfaceDeclaration
java.lang.Object
recoder.java.JavaSourceElement
recoder.java.JavaProgramElement
recoder.java.JavaNonTerminalProgramElement
recoder.java.declaration.JavaDeclaration
recoder.java.declaration.TypeDeclaration
recoder.java.declaration.InterfaceDeclaration
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, ClassType, ClassTypeContainer, Member, ProgramModelElement, Type, AccessFlags, Declaration, MemberDeclaration, TypeDeclarationContainer, NamedProgramElement, NonTerminalProgramElement, ProgramElement, ScopeDefiningElement, SourceElement, TypeScope, VariableScope, ModelElement, NamedModelElement
- Direct Known Subclasses:
- AnnotationDeclaration
public class InterfaceDeclaration
- extends TypeDeclaration
Interface declaration.
- Author:
- AutoDoc
- See Also:
- Serialized Form
| Fields inherited from interface recoder.bytecode.AccessFlags |
ABSTRACT, ANNOTATION, BRIDGE, ENUM, FINAL, INTERFACE, NATIVE, PRIVATE, PROTECTED, PUBLIC, STATIC, STRICT, SUPER, SYNCHRONIZED, SYNTHETIC, TRANSIENT, VARARGS, VOLATILE |
| Fields inherited from interface recoder.bytecode.AccessFlags |
ABSTRACT, ANNOTATION, BRIDGE, ENUM, FINAL, INTERFACE, NATIVE, PRIVATE, PROTECTED, PUBLIC, STATIC, STRICT, SUPER, SYNCHRONIZED, SYNTHETIC, TRANSIENT, VARARGS, VOLATILE |
| Fields inherited from interface recoder.bytecode.AccessFlags |
ABSTRACT, ANNOTATION, BRIDGE, ENUM, FINAL, INTERFACE, NATIVE, PRIVATE, PROTECTED, PUBLIC, STATIC, STRICT, SUPER, SYNCHRONIZED, SYNTHETIC, TRANSIENT, VARARGS, VOLATILE |
| Methods inherited from class recoder.java.declaration.TypeDeclaration |
addTypeToScope, addVariableToScope, createArrayType, getAllFields, getAllMethods, getAllSupertypes, getAllTypes, getArrayType, getASTParent, getBinaryName, getConstructors, getContainer, getContainingClassType, getErasedType, getFields, getFieldsInScope, getFirstElement, getFullName, getFullSignature, getIdentifier, getLastElement, getMemberParent, getMembers, getMethods, getName, getPackage, getParent, getProgramModelInfo, getSupertypes, getTypeDeclarationAt, getTypeDeclarationCount, getTypeInScope, getTypes, getTypesInScope, getVariableInScope, getVariablesInScope, isDefinedScope, isFinal, isPublic, isStatic, removeTypeFromScope, removeVariableFromScope, setDefinedScope, setIdentifier, setMemberParent, setMembers, setParent, setProgramModelInfo, toString |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
InterfaceDeclaration
public InterfaceDeclaration()
- Interface declaration.
InterfaceDeclaration
public InterfaceDeclaration(ASTList<DeclarationSpecifier> modifiers,
Identifier name,
Extends extended,
ASTList<MemberDeclaration> members,
ASTList<TypeParameterDeclaration> typeParameters)
- Construct a new outer or member interface class.
InterfaceDeclaration
public InterfaceDeclaration(ASTList<DeclarationSpecifier> modifiers,
Identifier name,
Extends extended,
ASTList<MemberDeclaration> members)
InterfaceDeclaration
protected InterfaceDeclaration(InterfaceDeclaration proto)
- Interface declaration.
- Parameters:
proto - an interface declaration.
deepClone
public InterfaceDeclaration deepClone()
- Deep clone.
- Specified by:
deepClone in interface SourceElement- Specified by:
deepClone in class TypeDeclaration
- Returns:
- the object.
makeParentRoleValid
public void makeParentRoleValid()
- Make parent role valid.
- Specified by:
makeParentRoleValid in interface NonTerminalProgramElement- Overrides:
makeParentRoleValid in class TypeDeclaration
getChildCount
public int getChildCount()
- Returns the number of children of this node.
- Returns:
- an int giving the number of children of this node
getChildAt
public ProgramElement getChildAt(int index)
- Returns the child at the specified index in this node's "virtual" child
array
- Parameters:
index - an index into this node's "virtual" child array
- Returns:
- the program element at the given position
- Throws:
java.lang.ArrayIndexOutOfBoundsException - if index is out of bounds
getChildPositionCode
public int getChildPositionCode(ProgramElement child)
- Description copied from interface:
NonTerminalProgramElement
- Returns the positional code of the given child, or
-1 if
there is no such child. The result contains an encoding of the relative
position of the child as well as the role it has been playing in this
parent element. This information is required internally for proper undo
of transformations and is to be delivered to the detached method of the
ChangeHistory.
- Parameters:
child - the exact child to look for.
- Returns:
- the positional code of the given child, or
-1. - See Also:
ChangeHistory.detached(recoder.java.ProgramElement, recoder.java.NonTerminalProgramElement, int)
replaceChild
public boolean replaceChild(ProgramElement p,
ProgramElement q)
- Replace a single child in the current node. The child to replace is
matched by identity and hence must be known exactly. The replacement
element can be null - in that case, the child is effectively removed. The
parent role of the new child is validated, while the parent link of the
replaced child is left untouched.
- Parameters:
p - the old child.p - the new child.
- Returns:
- true if a replacement has occured, false otherwise.
- Throws:
java.lang.ClassCastException - if the new child cannot take over the role of the old one.
getExtendedTypes
public Extends getExtendedTypes()
- Get extended types.
- Returns:
- the extends.
setExtendedTypes
public void setExtendedTypes(Extends spec)
- Set extended types.
- Parameters:
spec - an extends.
isAbstract
public boolean isAbstract()
- Interfaces are always abstract.
- Specified by:
isAbstract in interface ClassType- Overrides:
isAbstract in class TypeDeclaration
- Returns:
true if this member is abstract, false
otherwise.- See Also:
ClassType.isInterface()
isNative
public boolean isNative()
- Interfaces are never native.
- Overrides:
isNative in class JavaDeclaration
isProtected
public boolean isProtected()
- Interfaces are never protected.
- Specified by:
isProtected in interface Member- Specified by:
isProtected in interface MemberDeclaration- Overrides:
isProtected in class TypeDeclaration
- Returns:
true if this member is protected, false
otherwise.
isPrivate
public boolean isPrivate()
- Interfaces are never private.
- Specified by:
isPrivate in interface Member- Specified by:
isPrivate in interface MemberDeclaration- Overrides:
isPrivate in class TypeDeclaration
- Returns:
true if this member is private, false
otherwise.
isStrictFp
public boolean isStrictFp()
- Interfaces are never strictfp.
- Specified by:
isStrictFp in interface Member- Specified by:
isStrictFp in interface MemberDeclaration- Overrides:
isStrictFp in class TypeDeclaration
- Returns:
true if this member is strictfp, false
otherwise.
isSynchronized
public boolean isSynchronized()
- Interfaces are never synchronized.
- Overrides:
isSynchronized in class JavaDeclaration
isTransient
public boolean isTransient()
- Interfaces are never transient.
- Overrides:
isTransient in class JavaDeclaration
isVolatile
public boolean isVolatile()
- Interfaces are never volatile.
- Overrides:
isVolatile in class JavaDeclaration
isInterface
public boolean isInterface()
- Description copied from interface:
ClassType
- Checks if this class type denotes an interface (i.e. ordinary interface or annotation type).
- Specified by:
isInterface in interface ClassType- Specified by:
isInterface in class TypeDeclaration
- Returns:
true if this object represents an interface,
false otherwise.
isOrdinaryInterface
public boolean isOrdinaryInterface()
- Description copied from interface:
ClassType
- Checks if this class type denotes an ordinary (i.e. not annotation type) interface.
- Returns:
true if this object represents an ordinary interface,
false otherwise.
isAnnotationType
public boolean isAnnotationType()
- Description copied from interface:
ClassType
- Checks if this class type denotes an annotation type
- Returns:
true if this object represents an annotation type,
false otherwise
isEnumType
public boolean isEnumType()
- Description copied from interface:
ClassType
- Checks if this class type denotes an enum type
- Returns:
true if this object represents an enum type,
false otherwise
isOrdinaryClass
public boolean isOrdinaryClass()
- Description copied from interface:
ClassType
- Checks if this class type denotes an ordinary (i.e. not an enum) class.
- Returns:
true if this object represents an ordinary class type,
false otherwise
accept
public void accept(SourceVisitor v)
- Description copied from interface:
SourceElement
- Receive a visitor, for instance a pretty printer.
- Parameters:
v - a source visitor.
setTypeParameters
public void setTypeParameters(ASTList<TypeParameterDeclaration> typeParameters)
getTypeParameters
public ASTList<TypeParameterDeclaration> getTypeParameters()
- Description copied from interface:
ClassType
- Returns the type parameters of this class type.
- Specified by:
getTypeParameters in interface ClassType- Specified by:
getTypeParameters in class TypeDeclaration
- Returns:
- the list of type parameters of this class type.
isInner
public boolean isInner()
- Interfaces are never inner.
- Returns:
- false