@Beta public final class Reflection extends Object
Modifier and Type | Method and Description |
---|---|
static String |
getPackageName(Class<?> clazz)
Returns the package name of
clazz according to the Java Language Specification (section
6.7). |
static String |
getPackageName(String classFullName)
Returns the package name of
classFullName according to the Java Language Specification
(section 6.7). |
static void |
initialize(Class<?>... classes)
Ensures that the given classes are initialized, as described in
JLS Section 12.4.2.
|
static <T> T |
newProxy(Class<T> interfaceType,
InvocationHandler handler)
Returns a proxy instance that implements
interfaceType by dispatching method
invocations to handler . |
public static String getPackageName(Class<?> clazz)
clazz
according to the Java Language Specification (section
6.7). Unlike Class.getPackage()
, this method only parses the class name, without
attempting to define the Package
and hence load files.public static String getPackageName(String classFullName)
classFullName
according to the Java Language Specification
(section 6.7). Unlike Class.getPackage()
, this method only parses the class name, without
attempting to define the Package
and hence load files.public static void initialize(Class<?>... classes)
WARNING: Normally it's a smell if a class needs to be explicitly initialized, because static state hurts system maintainability and testability. In cases when you have no choice while inter-operating with a legacy framework, this method helps to keep the code less ugly.
ExceptionInInitializerError
- if an exception is thrown during initialization of a classpublic static <T> T newProxy(Class<T> interfaceType, InvocationHandler handler)
interfaceType
by dispatching method
invocations to handler
. The class loader of interfaceType
will be used to
define the proxy class. To implement multiple interfaces or specify a class loader, use
Proxy.newProxyInstance(java.lang.ClassLoader, java.lang.Class<?>[], java.lang.reflect.InvocationHandler)
.IllegalArgumentException
- if interfaceType
does not specify the type of a Java
interfaceCopyright © 2010-2017. All Rights Reserved.