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