Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

com.puppycrawl.tools.checkstyle.checks
Class ClassResolver  view ClassResolver download ClassResolver.java

java.lang.Object
  extended bycom.puppycrawl.tools.checkstyle.checks.ClassResolver

public class ClassResolver
extends java.lang.Object

Utility class to resolve a class name to an actual class. Note that loaded classes are not initialized.

Limitations: this does not handle inner classes very well.

Version:
1.0

Field Summary
private  java.util.Set mImports
          set of imports to check against
private  java.lang.ClassLoader mLoader
          use to load classes
private  java.lang.String mPkg
          name of the package to check if the class belongs to
 
Constructor Summary
ClassResolver(java.lang.ClassLoader aLoader, java.lang.String aPkg, java.util.Set aImports)
          Creates a new ClassResolver instance.
 
Method Summary
 boolean isLoadable(java.lang.String aName)
           
 java.lang.Class resolve(java.lang.String aName)
          Attempts to resolve the Class for a specified name.
 java.lang.Class safeLoad(java.lang.String aName)
          Will load a specified class is such a way that it will NOT be initialised.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mPkg

private final java.lang.String mPkg
name of the package to check if the class belongs to


mImports

private final java.util.Set mImports
set of imports to check against


mLoader

private final java.lang.ClassLoader mLoader
use to load classes

Constructor Detail

ClassResolver

public ClassResolver(java.lang.ClassLoader aLoader,
                     java.lang.String aPkg,
                     java.util.Set aImports)
Creates a new ClassResolver instance.

Method Detail

resolve

public java.lang.Class resolve(java.lang.String aName)
                        throws java.lang.ClassNotFoundException
Attempts to resolve the Class for a specified name. The algorithm is to check: - fully qualified name - explicit imports - enclosing package - star imports


isLoadable

public boolean isLoadable(java.lang.String aName)

safeLoad

public java.lang.Class safeLoad(java.lang.String aName)
                         throws java.lang.ClassNotFoundException
Will load a specified class is such a way that it will NOT be initialised.