|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl
public class MetaClassRegistryImpl
A registry of MetaClass instances which caches introspection & reflection information and allows methods to be dynamically added to existing classes at runtime
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface groovy.lang.MetaClassRegistry |
---|
MetaClassRegistry.MetaClassCreationHandle |
Field Summary | |
---|---|
static int |
DONT_LOAD_DEFAULT
|
static int |
LOAD_DEFAULT
|
static java.lang.String |
MODULE_META_INF_FILE
|
Constructor Summary | |
---|---|
MetaClassRegistryImpl()
|
|
MetaClassRegistryImpl(boolean useAccessible)
|
|
MetaClassRegistryImpl(int loadDefault)
|
|
MetaClassRegistryImpl(int loadDefault,
boolean useAccessible)
|
Method Summary | |
---|---|
void |
addMetaClassRegistryChangeEventListener(MetaClassRegistryChangeEventListener listener)
Adds a listener for constant meta classes. |
void |
addNonRemovableMetaClassRegistryChangeEventListener(MetaClassRegistryChangeEventListener listener)
Adds a listener for constant meta classes. |
protected void |
fireConstantMetaClassUpdate(java.lang.Object obj,
java.lang.Class c,
MetaClass oldMC,
MetaClass newMc)
Causes the execution of all registered listeners. |
static MetaClassRegistry |
getInstance(int includeExtension)
Singleton of MetaClassRegistry. |
FastArray |
getInstanceMethods()
|
MetaClass |
getMetaClass(java.lang.Class theClass)
|
MetaClass |
getMetaClass(java.lang.Object obj)
|
MetaClassRegistry.MetaClassCreationHandle |
getMetaClassCreationHandler()
Gets a handle internally used to create MetaClass implementations WARNING: experimental code, likely to change soon |
MetaClassRegistryChangeEventListener[] |
getMetaClassRegistryChangeEventListeners()
Gets an array of of all registered ConstantMetaClassListener instances. |
ExtensionModuleRegistry |
getModuleRegistry()
|
FastArray |
getStaticMethods()
|
java.util.Iterator |
iterator()
Returns an iterator to iterate over all constant meta classes. |
void |
registerExtensionModuleFromProperties(java.util.Properties properties,
java.lang.ClassLoader classLoader,
java.util.Map<CachedClass,java.util.List<MetaMethod>> map)
|
void |
removeMetaClass(java.lang.Class theClass)
Removes a cached MetaClass from the registry |
void |
removeMetaClassRegistryChangeEventListener(MetaClassRegistryChangeEventListener listener)
Removes a constant meta class listener. |
void |
setMetaClass(java.lang.Class theClass,
MetaClass theMetaClass)
Registers a new MetaClass in the registry to customize the type |
void |
setMetaClass(java.lang.Object obj,
MetaClass theMetaClass)
|
void |
setMetaClassCreationHandle(MetaClassRegistry.MetaClassCreationHandle handle)
Sets a handle internally used to create MetaClass implementations. |
boolean |
useAccessible()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String MODULE_META_INF_FILE
public static final int LOAD_DEFAULT
public static final int DONT_LOAD_DEFAULT
Constructor Detail |
---|
public MetaClassRegistryImpl()
public MetaClassRegistryImpl(int loadDefault)
public MetaClassRegistryImpl(boolean useAccessible)
useAccessible
- defines whether or not the AccessibleObject.setAccessible(boolean)
method will be called to enable access to all methods when using reflectionpublic MetaClassRegistryImpl(int loadDefault, boolean useAccessible)
Method Detail |
---|
public void registerExtensionModuleFromProperties(java.util.Properties properties, java.lang.ClassLoader classLoader, java.util.Map<CachedClass,java.util.List<MetaMethod>> map)
public ExtensionModuleRegistry getModuleRegistry()
public final MetaClass getMetaClass(java.lang.Class theClass)
getMetaClass
in interface MetaClassRegistry
public MetaClass getMetaClass(java.lang.Object obj)
public void removeMetaClass(java.lang.Class theClass)
MetaClassRegistry
removeMetaClass
in interface MetaClassRegistry
theClass
- The Java class of the MetaClass to removepublic void setMetaClass(java.lang.Class theClass, MetaClass theMetaClass)
setMetaClass
in interface MetaClassRegistry
theClass
- theMetaClass
- public void setMetaClass(java.lang.Object obj, MetaClass theMetaClass)
public boolean useAccessible()
public MetaClassRegistry.MetaClassCreationHandle getMetaClassCreationHandler()
getMetaClassCreationHandler
in interface MetaClassRegistry
public void setMetaClassCreationHandle(MetaClassRegistry.MetaClassCreationHandle handle)
setMetaClassCreationHandle
in interface MetaClassRegistry
handle
- the handlepublic void addMetaClassRegistryChangeEventListener(MetaClassRegistryChangeEventListener listener)
addMetaClassRegistryChangeEventListener
in interface MetaClassRegistry
listener
- the listenerpublic void addNonRemovableMetaClassRegistryChangeEventListener(MetaClassRegistryChangeEventListener listener)
addNonRemovableMetaClassRegistryChangeEventListener
in interface MetaClassRegistry
listener
- the listenerpublic void removeMetaClassRegistryChangeEventListener(MetaClassRegistryChangeEventListener listener)
removeMetaClassRegistryChangeEventListener
in interface MetaClassRegistry
listener
- the listenerprotected void fireConstantMetaClassUpdate(java.lang.Object obj, java.lang.Class c, MetaClass oldMC, MetaClass newMc)
obj
- object instance if the MetaClass change is on a per-instance metaclass (or null if global)c
- the classoldMC
- the old MetaClassnewMc
- the new MetaClasspublic MetaClassRegistryChangeEventListener[] getMetaClassRegistryChangeEventListeners()
getMetaClassRegistryChangeEventListeners
in interface MetaClassRegistry
public static MetaClassRegistry getInstance(int includeExtension)
includeExtension
-
public FastArray getInstanceMethods()
public FastArray getStaticMethods()
public java.util.Iterator iterator()
iterator
in interface MetaClassRegistry
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |