|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectgroovy.lang.MetaClassRegistry
A registery of MetaClass instances which caches introspection & reflection information and allows methods to be dynamically added to existing classes at runtime
Field Summary | |
static int |
DONT_LOAD_DEFAULT
|
private static MetaClassRegistry |
instanceExclude
|
private static MetaClassRegistry |
instanceInclude
|
static int |
LOAD_DEFAULT
|
private GroovyClassLoader |
loader
|
private java.util.Map |
loaderMap
|
private java.util.Map |
metaClasses
|
private boolean |
useAccessible
|
Constructor Summary | |
MetaClassRegistry()
|
|
MetaClassRegistry(boolean useAccessible)
|
|
MetaClassRegistry(int loadDefault)
|
Method Summary | |
(package private) void |
checkInitialised()
Ensures that all the registered MetaClass instances are initalized |
java.lang.reflect.Constructor |
getDefinedConstructor(java.lang.Class theClass,
java.lang.Class[] args)
|
MetaMethod |
getDefinedMethod(java.lang.Class theClass,
java.lang.String methodName,
java.lang.Class[] args,
boolean isStatic)
|
private GroovyClassLoader |
getGroovyLoader(java.lang.ClassLoader loader)
|
static MetaClassRegistry |
getIntance(int includeExtension)
Singleton of MetaClassRegistry. |
MetaClass |
getMetaClass(java.lang.Class theClass)
|
java.lang.Class |
loadClass(java.lang.ClassLoader loader,
java.lang.String name)
|
java.lang.Class |
loadClass(java.lang.ClassLoader loader,
java.lang.String name,
byte[] bytecode)
|
java.lang.Class |
loadClass(java.lang.String name)
|
java.lang.Class |
loadClass(java.lang.String name,
byte[] bytecode)
A helper class to load meta class bytecode into the class loader |
(package private) MetaClass |
lookup(java.lang.Class theClass)
Used by MetaClass when registering new methods which avoids initializing the MetaClass instances on lookup |
void |
removeMetaClass(java.lang.Class theClass)
|
void |
setMetaClass(java.lang.Class theClass,
MetaClass theMetaClass)
Registers a new MetaClass in the registry to customize the type |
boolean |
useAccessible()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
private java.util.Map metaClasses
private boolean useAccessible
private java.util.Map loaderMap
private GroovyClassLoader loader
public static final int LOAD_DEFAULT
public static final int DONT_LOAD_DEFAULT
private static MetaClassRegistry instanceInclude
private static MetaClassRegistry instanceExclude
Constructor Detail |
public MetaClassRegistry()
public MetaClassRegistry(int loadDefault)
public MetaClassRegistry(boolean useAccessible)
useAccessible
- defines whether or not the java.lang.reflect.AccessibleObject.setAccessible();
method will be called to enable access to all methods when using reflectionMethod Detail |
public MetaClass getMetaClass(java.lang.Class theClass)
public void removeMetaClass(java.lang.Class theClass)
public void setMetaClass(java.lang.Class theClass, MetaClass theMetaClass)
theClass
- theMetaClass
- public boolean useAccessible()
public java.lang.Class loadClass(java.lang.String name, byte[] bytecode) throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundException
public java.lang.Class loadClass(java.lang.ClassLoader loader, java.lang.String name, byte[] bytecode) throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundException
public java.lang.Class loadClass(java.lang.ClassLoader loader, java.lang.String name) throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundException
public java.lang.Class loadClass(java.lang.String name) throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundException
private GroovyClassLoader getGroovyLoader(java.lang.ClassLoader loader)
void checkInitialised()
MetaClass lookup(java.lang.Class theClass)
public MetaMethod getDefinedMethod(java.lang.Class theClass, java.lang.String methodName, java.lang.Class[] args, boolean isStatic)
public java.lang.reflect.Constructor getDefinedConstructor(java.lang.Class theClass, java.lang.Class[] args)
public static MetaClassRegistry getIntance(int includeExtension)
includeExtension
-
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |