edu.rice.cs.dynamicjava.symbol
Interface DJClass

All Superinterfaces:
Access.Limited, Access.Module
All Known Implementing Classes:
FunctionWrapperClass, Java5Class, JavaClass, TreeClass

public interface DJClass
extends Access.Limited, Access.Module

Represents a class declaration.


Method Summary
 Access accessibility()
          The symbol's access level.
 Iterable<DJClass> declaredClasses()
           
 Iterable<DJConstructor> declaredConstructors()
           
 Iterable<DJField> declaredFields()
           
 Iterable<DJMethod> declaredMethods()
           
 String declaredName()
          Produce the (unqualified) declared name of the given class
 Iterable<Type> declaredSupertypes()
          List the declared supertypes of this class
 Iterable<VariableType> declaredTypeParameters()
          List all type variables declared by this class
 DJClass declaringClass()
          The class that declares this class, or null if this is declared at a top-level or local scope
 boolean equals(Object o)
          Equality must be defined so that distinct DJClasses that wrap the same class are equal.
 String fullName()
          Produces the binary name for the given class (as in Class.getName())
 int hashCode()
          Equality must be defined so that distinct DJClasses that wrap the same class are equal.
 boolean hasRuntimeBindingsParams()
           
 Type immediateSuperclass()
           
 boolean isAbstract()
           
 boolean isAnonymous()
           
 boolean isFinal()
           
 boolean isInterface()
           
 boolean isStatic()
           
 Class<?> load()
          Produce the runtime representation of the class (as in ClassLoader.loadClass(java.lang.String), repeated invocations should produce the same object).
 String packageName()
           
 
Methods inherited from interface edu.rice.cs.dynamicjava.symbol.Access.Limited
accessModule
 

Method Detail

packageName

String packageName()
Specified by:
packageName in interface Access.Module

fullName

String fullName()
Produces the binary name for the given class (as in Class.getName())


isAnonymous

boolean isAnonymous()

declaredName

String declaredName()
Produce the (unqualified) declared name of the given class

Specified by:
declaredName in interface Access.Limited
Throws:
IllegalArgumentException - If the class is anonymous

isInterface

boolean isInterface()

isStatic

boolean isStatic()

isAbstract

boolean isAbstract()

isFinal

boolean isFinal()

accessibility

Access accessibility()
Description copied from interface: Access.Limited
The symbol's access level.

Specified by:
accessibility in interface Access.Limited

hasRuntimeBindingsParams

boolean hasRuntimeBindingsParams()

declaringClass

DJClass declaringClass()
The class that declares this class, or null if this is declared at a top-level or local scope


declaredTypeParameters

Iterable<VariableType> declaredTypeParameters()
List all type variables declared by this class


declaredSupertypes

Iterable<Type> declaredSupertypes()
List the declared supertypes of this class


declaredFields

Iterable<DJField> declaredFields()

declaredConstructors

Iterable<DJConstructor> declaredConstructors()

declaredMethods

Iterable<DJMethod> declaredMethods()

declaredClasses

Iterable<DJClass> declaredClasses()

immediateSuperclass

Type immediateSuperclass()
Returns:
The type bound to super in the context of this class, or null if super is not defined

load

Class<?> load()
Produce the runtime representation of the class (as in ClassLoader.loadClass(java.lang.String), repeated invocations should produce the same object).


equals

boolean equals(Object o)
Equality must be defined so that distinct DJClasses that wrap the same class are equal.

Overrides:
equals in class Object

hashCode

int hashCode()
Equality must be defined so that distinct DJClasses that wrap the same class are equal.

Overrides:
hashCode in class Object