Groovy Documentation

org.codehaus.groovy.runtime.metaclass
[Java] Class MetaClassRegistryImpl

java.lang.Object
  org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl
All Implemented Interfaces:
MetaClassRegistry

public class MetaClassRegistryImpl
extends java.lang.Object

A registry of MetaClass instances which caches introspection & reflection information and allows methods to be dynamically added to existing classes at runtime

Authors:
James Strachan
John Wilson
Jochen Theodorou
Graeme Rocher
Alex Tkachman
Version:
\$Revision\$


Field Summary
static int DONT_LOAD_DEFAULT

static int LOAD_DEFAULT

static java.lang.String MODULE_META_INF_FILE

 
Constructor Summary
MetaClassRegistryImpl()

MetaClassRegistryImpl(int loadDefault)

MetaClassRegistryImpl(boolean useAccessible)

@param useAccessible defines whether or not the java.lang.reflect.AccessibleObject#setAccessible(boolean) method will be called to enable access to all methods when using reflection

MetaClassRegistryImpl(int loadDefault, boolean useAccessible)

 
Method Summary
void addMetaClassRegistryChangeEventListener(MetaClassRegistryChangeEventListener listener)

void addNonRemovableMetaClassRegistryChangeEventListener(MetaClassRegistryChangeEventListener listener)

Removes a constant meta class listener.

protected void fireConstantMetaClassUpdate(java.lang.Object obj, java.lang.Class c, MetaClass oldMC, MetaClass newMc)

static MetaClassRegistry getInstance(int includeExtension)

FastArray getInstanceMethods()

MetaClass getMetaClass(java.lang.Class theClass)

MetaClass getMetaClass(java.lang.Object obj)

MetaClassCreationHandle getMetaClassCreationHandler()

MetaClassRegistryChangeEventListener[] getMetaClassRegistryChangeEventListeners()

ExtensionModuleRegistry getModuleRegistry()

FastArray getStaticMethods()

java.util.Iterator iterator()

void registerExtensionModuleFromProperties(java.util.Properties properties, java.lang.ClassLoader classLoader, java.util.Map map)

void removeMetaClass(java.lang.Class theClass)

void removeMetaClassRegistryChangeEventListener(MetaClassRegistryChangeEventListener listener)

void setMetaClass(java.lang.Class theClass, MetaClass theMetaClass)

void setMetaClass(java.lang.Object obj, MetaClass theMetaClass)

void setMetaClassCreationHandle(MetaClassCreationHandle handle)

boolean useAccessible()

 
Methods inherited from class java.lang.Object
java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
 

Field Detail

DONT_LOAD_DEFAULT

public static final int DONT_LOAD_DEFAULT


LOAD_DEFAULT

public static final int LOAD_DEFAULT


MODULE_META_INF_FILE

public static final java.lang.String MODULE_META_INF_FILE


 
Constructor Detail

MetaClassRegistryImpl

public MetaClassRegistryImpl()


MetaClassRegistryImpl

public MetaClassRegistryImpl(int loadDefault)


MetaClassRegistryImpl

public MetaClassRegistryImpl(boolean useAccessible)
Parameters:
useAccessible - defines whether or not the java.lang.reflect.AccessibleObject#setAccessible(boolean) method will be called to enable access to all methods when using reflection


MetaClassRegistryImpl

public MetaClassRegistryImpl(int loadDefault, boolean useAccessible)


 
Method Detail

addMetaClassRegistryChangeEventListener

public void addMetaClassRegistryChangeEventListener(MetaClassRegistryChangeEventListener listener)


addNonRemovableMetaClassRegistryChangeEventListener

public void addNonRemovableMetaClassRegistryChangeEventListener(MetaClassRegistryChangeEventListener listener)
Removes a constant meta class listener.
Parameters:
listener - the listener


fireConstantMetaClassUpdate

protected void fireConstantMetaClassUpdate(java.lang.Object obj, java.lang.Class c, MetaClass oldMC, MetaClass newMc)


getInstance

public static MetaClassRegistry getInstance(int includeExtension)


getInstanceMethods

public FastArray getInstanceMethods()


getMetaClass

public final MetaClass getMetaClass(java.lang.Class theClass)


getMetaClass

public MetaClass getMetaClass(java.lang.Object obj)


getMetaClassCreationHandler

public MetaClassCreationHandle getMetaClassCreationHandler()


getMetaClassRegistryChangeEventListeners

public MetaClassRegistryChangeEventListener[] getMetaClassRegistryChangeEventListeners()


getModuleRegistry

public ExtensionModuleRegistry getModuleRegistry()


getStaticMethods

public FastArray getStaticMethods()


iterator

public java.util.Iterator iterator()


registerExtensionModuleFromProperties

public void registerExtensionModuleFromProperties(java.util.Properties properties, java.lang.ClassLoader classLoader, java.util.Map map)


removeMetaClass

public void removeMetaClass(java.lang.Class theClass)


removeMetaClassRegistryChangeEventListener

public void removeMetaClassRegistryChangeEventListener(MetaClassRegistryChangeEventListener listener)


setMetaClass

public void setMetaClass(java.lang.Class theClass, MetaClass theMetaClass)


setMetaClass

public void setMetaClass(java.lang.Object obj, MetaClass theMetaClass)


setMetaClassCreationHandle

public void setMetaClassCreationHandle(MetaClassCreationHandle handle)


useAccessible

public boolean useAccessible()


 

Groovy Documentation