A MetaClassRegistry is an object that is responsible for managing the a cache of MetaClass instances. Each java.lang.Class instance has an associated MetaClass and client code can query this interface for the MetaClass for a given associated java.lang.Class
Modifiers | Name | Description |
---|---|---|
class |
MetaClassRegistry.MetaClassCreationHandle |
Class used as base for the creation of MetaClass implementations. |
Type | Name and description |
---|---|
void |
addMetaClassRegistryChangeEventListener(MetaClassRegistryChangeEventListener listener) adds a meta class change listener for constant meta classes |
void |
addNonRemovableMetaClassRegistryChangeEventListener(MetaClassRegistryChangeEventListener listener) adds a meta class change listener for constant meta classes. |
MetaClass |
getMetaClass(Class theClass) |
MetaClassRegistry.MetaClassCreationHandle |
getMetaClassCreationHandler() Retrieves the MetaClassCreationHandle that is responsible for constructing MetaClass instances |
MetaClassRegistryChangeEventListener[] |
getMetaClassRegistryChangeEventListeners() Returns all registered class change listener for constant meta classes. |
Iterator |
iterator() gets a snapshot of the current constant meta classes and returns it as Iterator. |
void |
removeMetaClass(Class theClass) Removes a cached MetaClass from the registry |
void |
removeMetaClassRegistryChangeEventListener(MetaClassRegistryChangeEventListener listener) removes a meta class change listener for constant meta classes |
void |
setMetaClass(Class theClass, MetaClass theMetaClass) |
void |
setMetaClassCreationHandle(MetaClassRegistry.MetaClassCreationHandle handle) Sets the MetaClassCreationHandle instance that is responsible for constructing instances |
adds a meta class change listener for constant meta classes
listener
- - the update listeneradds a meta class change listener for constant meta classes. This listener cannot be removed!
listener
- - the update listenerRetrieves the MetaClassCreationHandle that is responsible for constructing MetaClass instances
Returns all registered class change listener for constant meta classes.
gets a snapshot of the current constant meta classes and returns it as Iterator. Modifications done using this Iterator will not cause a ConcurrentModificationException. If a MetaClass is removed using this Iterator, then the MetaClass will only be removed if the MetaClass was not replaced by another MetaClass in the meantime. If a MetaClass is added while using this Iterator, then it will be part of the Iteration. If a MetaClass replaces another constant meta class, then the Iteration might show two meta classes for the same class.
Note: This Iterator may not used with multiple threads.
Removes a cached MetaClass from the registry
theClass
- The Java class of the MetaClass to removeremoves a meta class change listener for constant meta classes
listener
- - the update listenerSets the MetaClassCreationHandle instance that is responsible for constructing instances
handle
- The handle instance