public interface MetaClassRegistry
A MetaClassRegistry is an object that is responsible for managing 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 Params | Return Type | Name and description |
---|---|---|
|
public void |
addMetaClassRegistryChangeEventListener(MetaClassRegistryChangeEventListener listener) Adds a metaclass change listener for constant metaclasses |
|
public void |
addNonRemovableMetaClassRegistryChangeEventListener(MetaClassRegistryChangeEventListener listener) Adds a metaclass change listener for constant metaclasses. |
|
public MetaClass |
getMetaClass(Class theClass) The main function of the registry If a metaclass exists then return it otherwise create one, put it in the registry and return it |
|
public MetaClassRegistry.MetaClassCreationHandle |
getMetaClassCreationHandler() Retrieves the MetaClassCreationHandle that is responsible for constructing MetaClass instances |
|
public MetaClassRegistryChangeEventListener[] |
getMetaClassRegistryChangeEventListeners() Returns all registered class change listener for constant metaclasses. |
|
public Iterator |
iterator() Gets a snapshot of the current constant metaclasses and returns it as Iterator. |
|
public void |
removeMetaClass(Class theClass) Removes a cached MetaClass from the registry |
|
public void |
removeMetaClassRegistryChangeEventListener(MetaClassRegistryChangeEventListener listener) Removes a metaclass change listener for constant metaclasses |
|
public void |
setMetaClass(Class theClass, MetaClass theMetaClass) Adds a metaclass to the registry for the given class |
|
public void |
setMetaClassCreationHandle(MetaClassRegistry.MetaClassCreationHandle handle) Sets the MetaClassCreationHandle instance that is responsible for constructing instances |
Adds a metaclass change listener for constant metaclasses
listener
- - the update listenerAdds a metaclass change listener for constant metaclasses. This listener cannot be removed!
listener
- - the update listenerThe main function of the registry If a metaclass exists then return it otherwise create one, put it in the registry and return it
Retrieves the MetaClassCreationHandle that is responsible for constructing MetaClass instances
Returns all registered class change listener for constant metaclasses.
Gets a snapshot of the current constant metaclasses 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 metaclass, then the Iteration might show two metaclasses for the same class.
Note: This Iterator may not be used with multiple threads.
Removes a cached MetaClass from the registry
theClass
- The Java class of the MetaClass to removeRemoves a metaclass change listener for constant metaclasses
listener
- - the update listenerAdds a metaclass to the registry for the given class
theClass
- The classtheMetaClass
- The MetaClass for theClassSets the MetaClassCreationHandle instance that is responsible for constructing instances
handle
- The handle instance