Class ClassResolver
- java.lang.Object
-
- com.puppycrawl.tools.checkstyle.checks.javadoc.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.
-
-
Constructor Summary
Constructors Constructor Description ClassResolver(java.lang.ClassLoader loader, java.lang.String pkg, java.util.Set<java.lang.String> imports)
Creates a newClassResolver
instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isLoadable(java.lang.String name)
Checks if the given class name can be loaded.java.lang.Class<?>
resolve(java.lang.String name, java.lang.String currentClass)
Attempts to resolve the Class for a specified name.
-
-
-
Constructor Detail
-
ClassResolver
public ClassResolver(java.lang.ClassLoader loader, java.lang.String pkg, java.util.Set<java.lang.String> imports)
Creates a newClassResolver
instance.- Parameters:
loader
- the ClassLoader to load classes with.pkg
- the name of the package the class may belong toimports
- set of imports to check if the class belongs to
-
-
Method Detail
-
resolve
public java.lang.Class<?> resolve(java.lang.String name, java.lang.String currentClass) 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- Parameters:
name
- name of the class to resolvecurrentClass
- name of current class (for inner classes).- Returns:
- the resolved class
- Throws:
java.lang.ClassNotFoundException
- if unable to resolve the class
-
isLoadable
public boolean isLoadable(java.lang.String name)
Checks if the given class name can be loaded.- Parameters:
name
- name of the class to check- Returns:
- whether a specified class is loadable with safeLoad().
-
-