com.sun.tdk.signaturetest.core
Class ClassHierarchyImpl

java.lang.Object
  extended by com.sun.tdk.signaturetest.core.ClassHierarchyImpl
All Implemented Interfaces:
ClassDescriptionLoader, ClassHierarchy

public class ClassHierarchyImpl
extends java.lang.Object
implements ClassHierarchy


Field Summary
 
Fields inherited from interface com.sun.tdk.signaturetest.core.ClassHierarchy
ALL_PUBLIC
 
Constructor Summary
ClassHierarchyImpl(ClassDescriptionLoader loader, int trackMode)
           
 
Method Summary
 java.util.Set getAllImplementedInterfaces(java.lang.String fqClassName)
           
 java.lang.String[] getAllSubclasses(java.lang.String fqClassName)
           
 int getClassModifiers(java.lang.String fqClassName)
           
 java.lang.String[] getDirectSubclasses(java.lang.String fqClassName)
           
 java.lang.String[] getNestedClasses(java.lang.String fqClassName)
           
 java.lang.String getSuperClass(java.lang.String fqClassName)
           
 java.util.List getSuperClasses(java.lang.String fqClassName)
           
 java.lang.String[] getSuperInterfaces(java.lang.String fqClassName)
           
 int getTrackMode()
           
 boolean isAccessible(ClassDescription c)
          Check if the class described by c is to be traced accordingly to trackMode set for this instance.
 boolean isAccessible(java.lang.String fqname)
           
 boolean isAnnotation(java.lang.String fqClassName)
           
 boolean isClassVisibleOutside(ClassDescription cls)
           
 boolean isClassVisibleOutside(java.lang.String fqClassName)
           
 boolean isDocumentedAnnotation(java.lang.String fqname)
           
 boolean isInterface(java.lang.String fqClassName)
           
 boolean isMethodOverriden(MethodDescr md)
           
 boolean isSubclass(java.lang.String subClassName, java.lang.String superClassName)
           
 ClassDescription load(java.lang.String name)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClassHierarchyImpl

public ClassHierarchyImpl(ClassDescriptionLoader loader,
                          int trackMode)
Method Detail

getSuperClass

public java.lang.String getSuperClass(java.lang.String fqClassName)
                               throws java.lang.ClassNotFoundException
Specified by:
getSuperClass in interface ClassHierarchy
Throws:
java.lang.ClassNotFoundException

getSuperClasses

public java.util.List getSuperClasses(java.lang.String fqClassName)
                               throws java.lang.ClassNotFoundException
Specified by:
getSuperClasses in interface ClassHierarchy
Throws:
java.lang.ClassNotFoundException

getSuperInterfaces

public java.lang.String[] getSuperInterfaces(java.lang.String fqClassName)
                                      throws java.lang.ClassNotFoundException
Specified by:
getSuperInterfaces in interface ClassHierarchy
Throws:
java.lang.ClassNotFoundException

getAllImplementedInterfaces

public java.util.Set getAllImplementedInterfaces(java.lang.String fqClassName)
                                          throws java.lang.ClassNotFoundException
Specified by:
getAllImplementedInterfaces in interface ClassHierarchy
Throws:
java.lang.ClassNotFoundException

getDirectSubclasses

public java.lang.String[] getDirectSubclasses(java.lang.String fqClassName)
Specified by:
getDirectSubclasses in interface ClassHierarchy

getAllSubclasses

public java.lang.String[] getAllSubclasses(java.lang.String fqClassName)
Specified by:
getAllSubclasses in interface ClassHierarchy

getNestedClasses

public java.lang.String[] getNestedClasses(java.lang.String fqClassName)
Specified by:
getNestedClasses in interface ClassHierarchy

isSubclass

public boolean isSubclass(java.lang.String subClassName,
                          java.lang.String superClassName)
                   throws java.lang.ClassNotFoundException
Specified by:
isSubclass in interface ClassHierarchy
Throws:
java.lang.ClassNotFoundException

load

public ClassDescription load(java.lang.String name)
                      throws java.lang.ClassNotFoundException
Specified by:
load in interface ClassDescriptionLoader
Specified by:
load in interface ClassHierarchy
Throws:
java.lang.ClassNotFoundException

isMethodOverriden

public boolean isMethodOverriden(MethodDescr md)
                          throws java.lang.ClassNotFoundException
Specified by:
isMethodOverriden in interface ClassHierarchy
Throws:
java.lang.ClassNotFoundException

isAccessible

public boolean isAccessible(ClassDescription c)
Check if the class described by c is to be traced accordingly to trackMode set for this instance. Every public or protected class is accessible, if it is not nested to another class having stronger accessibility limitations. However, if trackMode is set to ALL_PUBLIC for this instance, every public or protected class is considered to be accessible despite of its accessibility limitations possibly inherited.

Specified by:
isAccessible in interface ClassHierarchy

isDocumentedAnnotation

public boolean isDocumentedAnnotation(java.lang.String fqname)
                               throws java.lang.ClassNotFoundException
Specified by:
isDocumentedAnnotation in interface ClassHierarchy
Throws:
java.lang.ClassNotFoundException

isAccessible

public boolean isAccessible(java.lang.String fqname)
                     throws java.lang.ClassNotFoundException
Specified by:
isAccessible in interface ClassHierarchy
Throws:
java.lang.ClassNotFoundException

isClassVisibleOutside

public boolean isClassVisibleOutside(java.lang.String fqClassName)
                              throws java.lang.ClassNotFoundException
Specified by:
isClassVisibleOutside in interface ClassHierarchy
Throws:
java.lang.ClassNotFoundException

isClassVisibleOutside

public boolean isClassVisibleOutside(ClassDescription cls)
                              throws java.lang.ClassNotFoundException
Specified by:
isClassVisibleOutside in interface ClassHierarchy
Throws:
java.lang.ClassNotFoundException

isInterface

public boolean isInterface(java.lang.String fqClassName)
                    throws java.lang.ClassNotFoundException
Specified by:
isInterface in interface ClassHierarchy
Throws:
java.lang.ClassNotFoundException

isAnnotation

public boolean isAnnotation(java.lang.String fqClassName)
                     throws java.lang.ClassNotFoundException
Specified by:
isAnnotation in interface ClassHierarchy
Throws:
java.lang.ClassNotFoundException

getClassModifiers

public int getClassModifiers(java.lang.String fqClassName)
                      throws java.lang.ClassNotFoundException
Specified by:
getClassModifiers in interface ClassHierarchy
Throws:
java.lang.ClassNotFoundException

getTrackMode

public int getTrackMode()
Specified by:
getTrackMode in interface ClassHierarchy