groovy.lang

## Class ExpandoMetaClassCreationHandle

- java.lang.Object
- - groovy.lang.MetaClassRegistry.MetaClassCreationHandle
  - - groovy.lang.ExpandoMetaClassCreationHandle

    public class ExpandoMetaClassCreationHandle
    extends MetaClassRegistry.MetaClassCreationHandle

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 Groovy loads, for example in your main method. `GroovySystem.metaClassRegistry.metaClassCreationHandle = new ExpandoMetaClassCreationHandle()`

Since:
  1.5
See Also:
  `MetaClassRegistry`, `MetaClassRegistry.MetaClassCreationHandle`, `MetaClassRegistryImpl.setMetaClassCreationHandle(groovy.lang.MetaClassRegistry.MetaClassCreationHandle)`

### Field Summary

Fields
`static ExpandoMetaClassCreationHandle` `instance`

### Constructor Summary

Constructors
Constructor and Description
`ExpandoMetaClassCreationHandle()`

### Method Summary

Methods
`protected MetaClass` `createNormalMetaClass(java.lang.Class theClass, MetaClassRegistry registry)`
`static void` `disable()`
`static void` `enable()` Enables the ExpandoMetaClassCreationHandle with the registry `ExpandoMetaClassCreationHandle.enable();`
`boolean` `hasModifiedMetaClass(ExpandoMetaClass emc)`
`void` `registerModifiedMetaClass(ExpandoMetaClass emc)` Registers a modified ExpandoMetaClass with the creation handle

### Methods inherited from class groovy.lang.MetaClassRegistry.MetaClassCreationHandle

`create, isDisableCustomMetaClassLookup, setDisableCustomMetaClassLookup`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### instance

    public static final ExpandoMetaClassCreationHandle instance

### Constructor Detail

#### ExpandoMetaClassCreationHandle

    public ExpandoMetaClassCreationHandle()

### Method Detail

#### createNormalMetaClass

    protected MetaClass createNormalMetaClass(java.lang.Class theClass,
                                  MetaClassRegistry registry)

Overrides:
  `createNormalMetaClass` in class `MetaClassRegistry.MetaClassCreationHandle`

#### registerModifiedMetaClass

    public void registerModifiedMetaClass(ExpandoMetaClass emc)

Registers a modified ExpandoMetaClass with the creation handle

Parameters:
  `emc` - The EMC

#### hasModifiedMetaClass

    public boolean hasModifiedMetaClass(ExpandoMetaClass emc)

#### enable

    public static void enable()

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

#### disable

    public static void disable()