Groovy Documentation

## org.codehaus.groovy.grails.documentation
[Java] Class MetadataGeneratingExpandoMetaClass

    java.lang.Object
      groovy.lang.MetaClassImpl
          groovy.lang.ExpandoMetaClass
              org.codehaus.groovy.grails.documentation.MetadataGeneratingExpandoMetaClass

    public class MetadataGeneratingExpandoMetaClass
    extends groovy.lang.ExpandoMetaClass

A specialized version of ExpandoMetaClass that is capable of generating metadata about the dynamic methods and properties that are added to artefact types at runtime by plugins. A project with sufficient code coverage will have metadata about the methods and properties it provides generated at runtime.

Authors:
  Graeme Rocher

Since:
  1.2

Field Summary

Fields inherited from class groovy.lang.ExpandoMetaClass
STATIC_QUALIFIER, CONSTRUCTOR, inRegistry

Constructor Summary
`MetadataGeneratingExpandoMetaClass(java.lang.Class theClass)`

Method Summary
`void` | `addMetaBeanProperty(groovy.lang.MetaBeanProperty mp)`
`void` | `registerInstanceMethod(groovy.lang.MetaMethod method)`
`protected void` | `registerStaticMethod(java.lang.String name, groovy.lang.Closure callable)`

Methods inherited from class groovy.lang.ExpandoMetaClass

groovy.lang.ExpandoMetaClass#setProperty(java.lang.String, java.lang.Object), groovy.lang.ExpandoMetaClass#setProperty(java.lang.Class, java.lang.Object, java.lang.String, java.lang.Object, boolean, boolean), groovy.lang.ExpandoMetaClass#getProperty(java.lang.Object, java.lang.String), groovy.lang.ExpandoMetaClass#getProperty(java.lang.String), groovy.lang.ExpandoMetaClass#getProperty(java.lang.Class, java.lang.Object, java.lang.String, boolean, boolean), groovy.lang.ExpandoMetaClass#getMethods(), groovy.lang.ExpandoMetaClass#getProperties(), groovy.lang.ExpandoMetaClass#initialize(), groovy.lang.ExpandoMetaClass#getMetaClass(), groovy.lang.ExpandoMetaClass#setMetaClass(groovy.lang.MetaClass), groovy.lang.ExpandoMetaClass#invokeMethod(java.lang.String, java.lang.Object), groovy.lang.ExpandoMetaClass#invokeMethod(java.lang.Class, java.lang.Object, java.lang.String, [Ljava.lang.Object;, boolean, boolean), groovy.lang.ExpandoMetaClass#createStaticSite(org.codehaus.groovy.runtime.callsite.CallSite, [Ljava.lang.Object;), groovy.lang.ExpandoMetaClass#createConstructorSite(org.codehaus.groovy.runtime.callsite.CallSite, [Ljava.lang.Object;), groovy.lang.ExpandoMetaClass#createPogoCallCurrentSite(org.codehaus.groovy.runtime.callsite.CallSite, java.lang.Class, java.lang.String, [Ljava.lang.Object;), groovy.lang.ExpandoMetaClass#createPojoCallSite(org.codehaus.groovy.runtime.callsite.CallSite, java.lang.Object, [Ljava.lang.Object;), groovy.lang.ExpandoMetaClass#createPogoCallSite(org.codehaus.groovy.runtime.callsite.CallSite, [Ljava.lang.Object;), groovy.lang.ExpandoMetaClass#getExpandoMethods(), groovy.lang.ExpandoMetaClass#getExpandoSubclassMethods(), groovy.lang.ExpandoMetaClass#registerInstanceMethod(groovy.lang.MetaMethod), groovy.lang.ExpandoMetaClass#registerInstanceMethod(java.lang.String, groovy.lang.Closure), groovy.lang.ExpandoMetaClass#getMetaProperty(java.lang.String), groovy.lang.ExpandoMetaClass#invokeConstructor([Ljava.lang.Object;), groovy.lang.ExpandoMetaClass#invokeStaticMethod(java.lang.Object, java.lang.String, [Ljava.lang.Object;), groovy.lang.ExpandoMetaClass#castToMixedType(java.lang.Object, java.lang.Class), groovy.lang.ExpandoMetaClass#define(groovy.lang.Closure), groovy.lang.ExpandoMetaClass#findMixinMethod(java.lang.String, [Ljava.lang.Class;), groovy.lang.ExpandoMetaClass#isModified(), groovy.lang.ExpandoMetaClass#registerSubclassInstanceMethod(groovy.lang.MetaMethod), groovy.lang.ExpandoMetaClass#registerSubclassInstanceMethod(java.lang.String, java.lang.Class, groovy.lang.Closure), groovy.lang.ExpandoMetaClass#addMixinClass(org.codehaus.groovy.reflection.MixinInMetaClass), groovy.lang.ExpandoMetaClass#enableGlobally(), groovy.lang.ExpandoMetaClass#disableGlobally(), groovy.lang.ExpandoMetaClass#isValidExpandoProperty(java.lang.String), groovy.lang.ExpandoMetaClass#registerBeanProperty(java.lang.String, java.lang.Object), groovy.lang.ExpandoMetaClass#getJavaClass(), groovy.lang.ExpandoMetaClass#refreshInheritedMethods(java.util.Set), groovy.lang.ExpandoMetaClass#getExpandoProperties(), groovy.lang.ExpandoMetaClass#hasMetaProperty(java.lang.String), groovy.lang.ExpandoMetaClass#hasMetaMethod(java.lang.String, [Ljava.lang.Class;), groovy.lang.ExpandoMetaClass#getPropertyForSetter(java.lang.String), groovy.lang.ExpandoMetaClass#isSetter(java.lang.String, [Lorg.codehaus.groovy.reflection.CachedClass;), groovy.lang.ExpandoMetaClass#setProperty(java.lang.Object, java.lang.String, java.lang.Object), groovy.lang.ExpandoMetaClass#toString(), groovy.lang.ExpandoMetaClass#setProperties(java.lang.Object, java.util.Map), groovy.lang.ExpandoMetaClass#getAttribute(java.lang.Class, java.lang.Object, java.lang.String, boolean, boolean), groovy.lang.ExpandoMetaClass#getAttribute(java.lang.Object, java.lang.String), groovy.lang.ExpandoMetaClass#getAttribute(java.lang.Class, java.lang.Object, java.lang.String, boolean), groovy.lang.ExpandoMetaClass#getVersion(), groovy.lang.ExpandoMetaClass#hasProperty(java.lang.Object, java.lang.String), groovy.lang.ExpandoMetaClass#getClassInfo(), groovy.lang.ExpandoMetaClass#invokeMethod(java.lang.Object, java.lang.String, [Ljava.lang.Object;), groovy.lang.ExpandoMetaClass#invokeMethod(java.lang.Object, java.lang.String, java.lang.Object), groovy.lang.ExpandoMetaClass#getTheClass(), groovy.lang.ExpandoMetaClass#createPogoCallCurrentSite(org.codehaus.groovy.runtime.callsite.CallSite, java.lang.Class, [Ljava.lang.Object;), groovy.lang.ExpandoMetaClass#getTheCachedClass(), groovy.lang.ExpandoMetaClass#getEffectiveGetMetaProperty(java.lang.Class, java.lang.Object, java.lang.String, boolean), groovy.lang.ExpandoMetaClass#incVersion(), groovy.lang.ExpandoMetaClass#invokeMissingMethod(java.lang.Object, java.lang.String, [Ljava.lang.Object;), groovy.lang.ExpandoMetaClass#invokeMissingProperty(java.lang.Object, java.lang.String, java.lang.Object, boolean), groovy.lang.ExpandoMetaClass#setAttribute(java.lang.Class, java.lang.Object, java.lang.String, java.lang.Object, boolean, boolean), groovy.lang.ExpandoMetaClass#setAttribute(java.lang.Object, java.lang.String, java.lang.Object), groovy.lang.ExpandoMetaClass#getClassNode(), groovy.lang.ExpandoMetaClass#getMetaMethods(), groovy.lang.ExpandoMetaClass#selectConstructorAndTransformArguments(int, [Ljava.lang.Object;), groovy.lang.ExpandoMetaClass#pickMethod(java.lang.String, [Ljava.lang.Class;), groovy.lang.ExpandoMetaClass#respondsTo(java.lang.Object, java.lang.String, [Ljava.lang.Object;), groovy.lang.ExpandoMetaClass#respondsTo(java.lang.Object, java.lang.String), groovy.lang.ExpandoMetaClass#getStaticMetaMethod(java.lang.String, [Ljava.lang.Object;), groovy.lang.ExpandoMetaClass#getMetaMethod(java.lang.String, [Ljava.lang.Object;), groovy.lang.ExpandoMetaClass#getMethodWithoutCaching(java.lang.Class, java.lang.String, [Ljava.lang.Class;, boolean), groovy.lang.ExpandoMetaClass#addMetaBeanProperty(groovy.lang.MetaBeanProperty), groovy.lang.ExpandoMetaClass#isGroovyObject(), groovy.lang.ExpandoMetaClass#addNewInstanceMethod(java.lang.reflect.Method), groovy.lang.ExpandoMetaClass#addNewStaticMethod(java.lang.reflect.Method), groovy.lang.ExpandoMetaClass#getMethodWithCaching(java.lang.Class, java.lang.String, [Ljava.lang.Object;, boolean), groovy.lang.ExpandoMetaClass#retrieveConstructor([Ljava.lang.Class;), groovy.lang.ExpandoMetaClass#retrieveStaticMethod(java.lang.String, [Ljava.lang.Object;), groovy.lang.ExpandoMetaClass#invokeConstructorAt(java.lang.Class, [Ljava.lang.Object;), groovy.lang.ExpandoMetaClass#addMetaMethod(groovy.lang.MetaMethod), groovy.lang.ExpandoMetaClass#getAdditionalMetaMethods(), groovy.lang.ExpandoMetaClass#wait(), groovy.lang.ExpandoMetaClass#wait(long), groovy.lang.ExpandoMetaClass#wait(long, int), groovy.lang.ExpandoMetaClass#equals(java.lang.Object), groovy.lang.ExpandoMetaClass#hashCode(), groovy.lang.ExpandoMetaClass#getClass(), groovy.lang.ExpandoMetaClass#notify(), groovy.lang.ExpandoMetaClass#notifyAll()

Methods inherited from class groovy.lang.MetaClassImpl

groovy.lang.MetaClassImpl#setProperty(java.lang.Class, java.lang.Object, java.lang.String, java.lang.Object, boolean, boolean), groovy.lang.MetaClassImpl#setProperty(java.lang.Object, java.lang.String, java.lang.Object), groovy.lang.MetaClassImpl#getProperty(java.lang.Class, java.lang.Object, java.lang.String, boolean, boolean), groovy.lang.MetaClassImpl#getProperty(java.lang.Object, java.lang.String), groovy.lang.MetaClassImpl#toString(), groovy.lang.MetaClassImpl#getMethods(), groovy.lang.MetaClassImpl#getProperties(), groovy.lang.MetaClassImpl#setProperties(java.lang.Object, java.util.Map), groovy.lang.MetaClassImpl#initialize(), groovy.lang.MetaClassImpl#getAttribute(java.lang.Class, java.lang.Object, java.lang.String, boolean, boolean), groovy.lang.MetaClassImpl#getAttribute(java.lang.Object, java.lang.String), groovy.lang.MetaClassImpl#getAttribute(java.lang.Class, java.lang.Object, java.lang.String, boolean), groovy.lang.MetaClassImpl#getVersion(), groovy.lang.MetaClassImpl#hasProperty(java.lang.Object, java.lang.String), groovy.lang.MetaClassImpl#getClassInfo(), groovy.lang.MetaClassImpl#invokeMethod(java.lang.Object, java.lang.String, [Ljava.lang.Object;), groovy.lang.MetaClassImpl#invokeMethod(java.lang.Object, java.lang.String, java.lang.Object), groovy.lang.MetaClassImpl#invokeMethod(java.lang.Class, java.lang.Object, java.lang.String, [Ljava.lang.Object;, boolean, boolean), groovy.lang.MetaClassImpl#createStaticSite(org.codehaus.groovy.runtime.callsite.CallSite, [Ljava.lang.Object;), groovy.lang.MetaClassImpl#createConstructorSite(org.codehaus.groovy.runtime.callsite.CallSite, [Ljava.lang.Object;), groovy.lang.MetaClassImpl#getTheClass(), groovy.lang.MetaClassImpl#createPogoCallCurrentSite(org.codehaus.groovy.runtime.callsite.CallSite, java.lang.Class, [Ljava.lang.Object;), groovy.lang.MetaClassImpl#getTheCachedClass(), groovy.lang.MetaClassImpl#createPojoCallSite(org.codehaus.groovy.runtime.callsite.CallSite, java.lang.Object, [Ljava.lang.Object;), groovy.lang.MetaClassImpl#createPogoCallSite(org.codehaus.groovy.runtime.callsite.CallSite, [Ljava.lang.Object;), groovy.lang.MetaClassImpl#getEffectiveGetMetaProperty(java.lang.Class, java.lang.Object, java.lang.String, boolean), groovy.lang.MetaClassImpl#incVersion(), groovy.lang.MetaClassImpl#invokeMissingMethod(java.lang.Object, java.lang.String, [Ljava.lang.Object;), groovy.lang.MetaClassImpl#invokeMissingProperty(java.lang.Object, java.lang.String, java.lang.Object, boolean), groovy.lang.MetaClassImpl#setAttribute(java.lang.Class, java.lang.Object, java.lang.String, java.lang.Object, boolean, boolean), groovy.lang.MetaClassImpl#setAttribute(java.lang.Object, java.lang.String, java.lang.Object), groovy.lang.MetaClassImpl#getClassNode(), groovy.lang.MetaClassImpl#getMetaMethods(), groovy.lang.MetaClassImpl#selectConstructorAndTransformArguments(int, [Ljava.lang.Object;), groovy.lang.MetaClassImpl#pickMethod(java.lang.String, [Ljava.lang.Class;), groovy.lang.MetaClassImpl#respondsTo(java.lang.Object, java.lang.String, [Ljava.lang.Object;), groovy.lang.MetaClassImpl#respondsTo(java.lang.Object, java.lang.String), groovy.lang.MetaClassImpl#getMetaProperty(java.lang.String), groovy.lang.MetaClassImpl#getStaticMetaMethod(java.lang.String, [Ljava.lang.Object;), groovy.lang.MetaClassImpl#getMetaMethod(java.lang.String, [Ljava.lang.Object;), groovy.lang.MetaClassImpl#invokeConstructor([Ljava.lang.Object;), groovy.lang.MetaClassImpl#invokeStaticMethod(java.lang.Object, java.lang.String, [Ljava.lang.Object;), groovy.lang.MetaClassImpl#getMethodWithoutCaching(java.lang.Class, java.lang.String, [Ljava.lang.Class;, boolean), groovy.lang.MetaClassImpl#addMetaBeanProperty(groovy.lang.MetaBeanProperty), groovy.lang.MetaClassImpl#isModified(), groovy.lang.MetaClassImpl#isGroovyObject(), groovy.lang.MetaClassImpl#addNewInstanceMethod(java.lang.reflect.Method), groovy.lang.MetaClassImpl#addNewStaticMethod(java.lang.reflect.Method), groovy.lang.MetaClassImpl#getMethodWithCaching(java.lang.Class, java.lang.String, [Ljava.lang.Object;, boolean), groovy.lang.MetaClassImpl#retrieveConstructor([Ljava.lang.Class;), groovy.lang.MetaClassImpl#retrieveStaticMethod(java.lang.String, [Ljava.lang.Object;), groovy.lang.MetaClassImpl#invokeConstructorAt(java.lang.Class, [Ljava.lang.Object;), groovy.lang.MetaClassImpl#addMetaMethod(groovy.lang.MetaMethod), groovy.lang.MetaClassImpl#getAdditionalMetaMethods(), groovy.lang.MetaClassImpl#wait(), groovy.lang.MetaClassImpl#wait(long), groovy.lang.MetaClassImpl#wait(long, int), groovy.lang.MetaClassImpl#equals(java.lang.Object), groovy.lang.MetaClassImpl#hashCode(), groovy.lang.MetaClassImpl#getClass(), groovy.lang.MetaClassImpl#notify(), groovy.lang.MetaClassImpl#notifyAll()

Methods inherited from class java.lang.Object
java.lang.Object#wait(), java.lang.Object#wait(long), java.lang.Object#wait(long, int), 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()

Constructor Detail

### MetadataGeneratingExpandoMetaClass

    public MetadataGeneratingExpandoMetaClass(java.lang.Class theClass)

Method Detail

### addMetaBeanProperty

    @Override
    public void addMetaBeanProperty(groovy.lang.MetaBeanProperty mp)

### registerInstanceMethod

    @Override
    public void registerInstanceMethod(groovy.lang.MetaMethod method)

### registerStaticMethod

    @Override
    protected void registerStaticMethod(java.lang.String name, groovy.lang.Closure callable)

Groovy Documentation