Package com.google.common.reflect
Class ClassPath.ClassInfo
- java.lang.Object
-
- com.google.common.reflect.ClassPath.ResourceInfo
-
- com.google.common.reflect.ClassPath.ClassInfo
-
- Enclosing class:
- ClassPath
public static final class ClassPath.ClassInfo extends ClassPath.ResourceInfo
Represents a class that can be loaded throughload()
.- Since:
- 14.0
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getName()
Returns the fully qualified name of the class.String
getPackageName()
Returns the package name of the class, without attempting to load the class.String
getSimpleName()
Returns the simple name of the underlying class as given in the source code.boolean
isTopLevel()
Returns true if the class name "looks to be" top level (not nested), that is, it includes no '$' in the name.Class<?>
load()
Loads (but doesn't link or initialize) the class.String
toString()
-
Methods inherited from class com.google.common.reflect.ClassPath.ResourceInfo
asByteSource, asCharSource, equals, getResourceName, hashCode, url
-
-
-
-
Method Detail
-
getPackageName
public String getPackageName()
Returns the package name of the class, without attempting to load the class.Behaves similarly to
class.getPackage().
getName()
but does not require the class (or package) to be loaded.But note that this method may behave differently for a class in the default package: For such classes, this method always returns an empty string. But under some version of Java,
class.getPackage().getName()
produces aNullPointerException
becauseclass.getPackage()
returnsnull
.
-
getSimpleName
public String getSimpleName()
Returns the simple name of the underlying class as given in the source code.Behaves similarly to
Class.getSimpleName()
but does not require the class to be loaded.But note that this class uses heuristics to identify the simple name. See a related discussion in issue 3349.
-
getName
public String getName()
Returns the fully qualified name of the class.Behaves identically to
Class.getName()
but does not require the class to be loaded.
-
isTopLevel
public boolean isTopLevel()
Returns true if the class name "looks to be" top level (not nested), that is, it includes no '$' in the name. This method may return false for a top-level class that's intentionally named with the '$' character. If this is a concern, you could useload()
and then check on the loadedClass
object instead.- Since:
- 30.1
-
load
public Class<?> load()
Loads (but doesn't link or initialize) the class.- Throws:
LinkageError
- when there were errors in loading classes that this class depends on. For example,NoClassDefFoundError
.
-
toString
public String toString()
- Overrides:
toString
in classClassPath.ResourceInfo
-
-