@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-2014. All Rights Reserved.