## org.codehaus.groovy.grails.documentation
Class MetadataGeneratingExpandoMetaClass

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

All Implemented Interfaces:
  groovy.lang.GroovyObject, groovy.lang.MetaClass, groovy.lang.MetaObjectProtocol, groovy.lang.MutableMetaClass

    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.

Since:
  1.2
Author:
  Graeme Rocher

Nested Class Summary

Nested classes/interfaces inherited from class groovy.lang.ExpandoMetaClass
`groovy.lang.ExpandoMetaClass.ExpandoMetaConstructor, groovy.lang.ExpandoMetaClass.ExpandoMetaProperty`

Nested classes/interfaces inherited from class groovy.lang.MetaClassImpl
`groovy.lang.MetaClassImpl.Index`

Field Summary

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

Fields inherited from class groovy.lang.MetaClassImpl
`getPropertyMethod, INVOKE_METHOD_METHOD, invokeMethodMethod, isGroovyObject, isMap, metaMethodIndex, METHOD_MISSING, PROPERTY_MISSING, registry, setPropertyMethod, STATIC_METHOD_MISSING, STATIC_PROPERTY_MISSING, theCachedClass, theClass`

Constructor Summary
`MetadataGeneratingExpandoMetaClass(Class theClass)`

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

Methods inherited from class groovy.lang.ExpandoMetaClass

`addMixinClass, castToMixedType, createConstructorSite, createPogoCallCurrentSite, createPogoCallSite, createPojoCallSite, createStaticSite, define, disableGlobally, enableGlobally, findMixinMethod, getExpandoMethods, getExpandoProperties, getExpandoSubclassMethods, getJavaClass, getMetaClass, getMetaProperty, getMethods, getProperties, getProperty, getProperty, getProperty, getPropertyForSetter, getSubclassMetaMethods, hasMetaMethod, hasMetaProperty, initialize, invokeConstructor, invokeMethod, invokeMethod, invokeStaticMethod, isInitialized, isModified, isSetter, isValidExpandoProperty, onGetPropertyFoundInHierarchy, onInvokeMethodFoundInHierarchy, onSetPropertyFoundInHierarchy, onSuperMethodFoundInHierarchy, onSuperPropertyFoundInHierarchy, performOperationOnMetaClass, refreshInheritedMethods, registerBeanProperty, registerInstanceMethod, registerStaticMethod, registerSubclassInstanceMethod, registerSubclassInstanceMethod, setInitialized, setMetaClass, setProperty, setProperty`

Methods inherited from class groovy.lang.MetaClassImpl

`addMetaMethod, addMetaMethodToIndex, addNewInstanceMethod, addNewStaticMethod, checkIfGroovyObjectMethod, checkInitalised, chooseMethod, clearInvocationCaches, createPogoCallCurrentSite, dropMethodCache, dropStaticMethodCache, findMethodInClassHierarchy, findOwnMethod, findPropertyInClassHierarchy, getAdditionalMetaMethods, getAttribute, getAttribute, getAttribute, getClassInfo, getClassNode, getEffectiveGetMetaProperty, getMetaMethod, getMetaMethods, getMethodWithCaching, getMethodWithoutCaching, getStaticMetaMethod, getSuperClasses, getTheCachedClass, getTheClass, getVersion, hasProperty, incVersion, invokeConstructorAt, invokeMethod, invokeMethod, invokeMissingMethod, invokeMissingProperty, invokeStaticMissingProperty, isGroovyObject, onMixinMethodFound, pickMethod, respondsTo, respondsTo, retrieveConstructor, retrieveMethod, retrieveStaticMethod, selectConstructorAndTransformArguments, setAttribute, setAttribute, setProperties, setProperty, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### MetadataGeneratingExpandoMetaClass

    public MetadataGeneratingExpandoMetaClass(Class theClass)

Method Detail

### addMetaBeanProperty

    public void addMetaBeanProperty(groovy.lang.MetaBeanProperty mp)

  Specified by:
    `addMetaBeanProperty` in interface `groovy.lang.MutableMetaClass`
  Overrides:
    `addMetaBeanProperty` in class `groovy.lang.MetaClassImpl`

### registerStaticMethod

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

  Overrides:
    `registerStaticMethod` in class `groovy.lang.ExpandoMetaClass`

### registerInstanceMethod

    public void registerInstanceMethod(groovy.lang.MetaMethod method)

  Overrides:
    `registerInstanceMethod` in class `groovy.lang.ExpandoMetaClass`

Copyright (c) 2005-2009 The Grails project