Class ClassPath.ClassInfo
- java.lang.Object
-
- com.google.common.reflect.ClassPath.ResourceInfo
-
- com.google.common.reflect.ClassPath.ClassInfo
-
- Enclosing class:
- ClassPath
@Beta 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()
Returns a string representation of the object.-
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()
Description copied from class:java.lang.Object
Returns a string representation of the object. In general, thetoString
method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.The
toString
method for classObject
returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@
', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:getClass().getName() + '@' + Integer.toHexString(hashCode())
- Overrides:
toString
in classClassPath.ResourceInfo
- Returns:
- a string representation of the object.
-
-