## groovy.lang
Class ExpandoMetaClassCreationHandle

A handle for the MetaClassRegistry that changes all classes loaded into the Grails VM to use ExpandoMetaClass instances

The handle should be registered with the Groovy runtime before</before> Groovy loads, for example in your main method. `GroovySystem.metaClassRegistry.metaClassCreationHandle = new ExpandoMetaClassCreationHandle()`

see:
  MetaClassRegistry

see:
  MetaClassCreationHandle

see:
  MetaClassRegistryImpl#setMetaClassCreationHandle

author:
  Graeme Rocher

since:
  1.1

Field Summary
`ExpandoMetaClassCreationHandle` | `instance`
`Map` | `modifiedExpandos`

Constructor Summary
`ExpandoMetaClassCreationHandle()`

Method Summary
`MetaClass` | `createNormalMetaClass(Class theClass, MetaClassRegistry registry)`
`static void` | `disable()`
`static void` | `enable()` Enables the ExpandoMetaClassCreationHandle with the registry `ExpandoMetaClassCreationHandle.enable();`
`boolean` | `hasModifiedMetaClass(ExpandoMetaClass emc)`
`void` | `populateSupersFromInterfaces(Set modifiedSupers, def interfaces)`
`void` | `registerModifiedMetaClass(ExpandoMetaClass emc)` Registers a modified ExpandoMetaClass with the creation handle
`Set` | `retrieveModifiedSuperExpandos(ExpandoMetaClass child)`

Constructor Detail

### ExpandoMetaClassCreationHandle

    ExpandoMetaClassCreationHandle()

Method Detail

### createNormalMetaClass

    MetaClass createNormalMetaClass(Class theClass, MetaClassRegistry registry)

### disable

    public static void disable()

### enable

    public static void enable()

  Enables the ExpandoMetaClassCreationHandle with the registry `ExpandoMetaClassCreationHandle.enable();`

### hasModifiedMetaClass

    public boolean hasModifiedMetaClass(ExpandoMetaClass emc)

### populateSupersFromInterfaces

    void populateSupersFromInterfaces(Set modifiedSupers, def interfaces)

### registerModifiedMetaClass

    public void registerModifiedMetaClass(ExpandoMetaClass emc)

  Registers a modified ExpandoMetaClass with the creation handle
  param:
    emc The EMC

### retrieveModifiedSuperExpandos

    Set retrieveModifiedSuperExpandos(ExpandoMetaClass child)