public class MetaClassRegistryImpl extends Object implements MetaClassRegistry
MetaClassRegistry.MetaClassCreationHandle| Modifier and Type | Field and Description |
|---|---|
static int |
DONT_LOAD_DEFAULT |
static int |
LOAD_DEFAULT |
static String |
MODULE_META_INF_FILE
Deprecated.
Use
instead |
| Constructor and Description |
|---|
MetaClassRegistryImpl() |
MetaClassRegistryImpl(boolean useAccessible) |
MetaClassRegistryImpl(int loadDefault) |
MetaClassRegistryImpl(int loadDefault,
boolean useAccessible) |
| Modifier and Type | Method and Description |
|---|---|
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(Object obj,
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(Class theClass)
The main function of the registry
If a meta class exists then return it
otherwise create one, put it in the registry and return it
|
MetaClass |
getMetaClass(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() |
Iterator |
iterator()
Returns an iterator to iterate over all constant meta classes.
|
void |
registerExtensionModuleFromProperties(Properties properties,
ClassLoader classLoader,
Map<CachedClass,List<MetaMethod>> map) |
void |
removeMetaClass(Class theClass)
Removes a cached MetaClass from the registry
|
void |
removeMetaClassRegistryChangeEventListener(MetaClassRegistryChangeEventListener listener)
Removes a constant meta class listener.
|
void |
setMetaClass(Class theClass,
MetaClass theMetaClass)
Registers a new MetaClass in the registry to customize the type
|
void |
setMetaClass(Object obj,
MetaClass theMetaClass) |
void |
setMetaClassCreationHandle(MetaClassRegistry.MetaClassCreationHandle handle)
Sets a handle internally used to create MetaClass implementations.
|
boolean |
useAccessible() |
@Deprecated public static final String MODULE_META_INF_FILE
insteadpublic static final int LOAD_DEFAULT
public static final int DONT_LOAD_DEFAULT
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)
public void registerExtensionModuleFromProperties(Properties properties, ClassLoader classLoader, Map<CachedClass,List<MetaMethod>> map)
public ExtensionModuleRegistry getModuleRegistry()
public final MetaClass getMetaClass(Class theClass)
MetaClassRegistrygetMetaClass in interface MetaClassRegistrypublic void removeMetaClass(Class theClass)
MetaClassRegistryremoveMetaClass in interface MetaClassRegistrytheClass - The Java class of the MetaClass to removepublic void setMetaClass(Class theClass, MetaClass theMetaClass)
setMetaClass in interface MetaClassRegistrytheClass - theMetaClass - public boolean useAccessible()
public MetaClassRegistry.MetaClassCreationHandle getMetaClassCreationHandler()
getMetaClassCreationHandler in interface MetaClassRegistrypublic void setMetaClassCreationHandle(MetaClassRegistry.MetaClassCreationHandle handle)
setMetaClassCreationHandle in interface MetaClassRegistryhandle - the handlepublic void addMetaClassRegistryChangeEventListener(MetaClassRegistryChangeEventListener listener)
addMetaClassRegistryChangeEventListener in interface MetaClassRegistrylistener - the listenerpublic void addNonRemovableMetaClassRegistryChangeEventListener(MetaClassRegistryChangeEventListener listener)
addNonRemovableMetaClassRegistryChangeEventListener in interface MetaClassRegistrylistener - the listenerpublic void removeMetaClassRegistryChangeEventListener(MetaClassRegistryChangeEventListener listener)
removeMetaClassRegistryChangeEventListener in interface MetaClassRegistrylistener - the listenerprotected void fireConstantMetaClassUpdate(Object obj, 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 MetaClassRegistrypublic static MetaClassRegistry getInstance(int includeExtension)
includeExtension - public FastArray getInstanceMethods()
public FastArray getStaticMethods()
public Iterator iterator()
iterator in interface MetaClassRegistry