Package: groovy.lang

## [Java] Class MetaClassRegistry.MetaClassCreationHandle

- groovy.lang.MetaClassRegistry.MetaClassCreationHandle

-     public class MetaClassRegistry.MetaClassCreationHandle
      extends Object

  Class used as base for the creation of MetaClass implementations. The Class defaults to MetaClassImpl, if the class loading fails to find a special metaclass. The name for such a metaclass would be the class name it is created for with the prefix "groovy.runtime.metaclass." By replacing the handle in the registry you can have any control over the creation of what MetaClass is used for a class that you want to have. WARNING: experimental code, likely to change soon

- - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public final MetaClass` | `create(Class theClass, MetaClassRegistry registry)` Creates a metaclass implementation for theClass.
    `` | `protected MetaClass` | `createNormalMetaClass(Class theClass, MetaClassRegistry registry)` Creates the standard meta class implementation for the supplied type.
    `` | `public boolean` | `isDisableCustomMetaClassLookup()` Returns whether custom metaclasses are disabled.
    `` | `public void` | `setDisableCustomMetaClassLookup(boolean disableCustomMetaClassLookup)` Set flag saying to disable lookup of custom metaclasses It's enough to call this method only once in your application for handle which was set in to registry as every new handle will inherit this property

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### public final MetaClass create(Class theClass, MetaClassRegistry registry)

      Creates a metaclass implementation for theClass.

      Parameters:
        `theClass` - The class to create a metaclass for
        `registry` - The metaclass registry the metaclass we be registered in.

    - #### protected MetaClass createNormalMetaClass(Class theClass, MetaClassRegistry registry)

      Creates the standard meta class implementation for the supplied type.

      Parameters:
        `theClass` - the class that requires a meta class
        `registry` - the registry creating the meta class
      Returns:
        the default meta class implementation for the type

    - #### public boolean isDisableCustomMetaClassLookup()

      Returns whether custom metaclasses are disabled.

    - #### public void setDisableCustomMetaClassLookup(boolean disableCustomMetaClassLookup)

      Set flag saying to disable lookup of custom metaclasses It's enough to call this method only once in your application for handle which was set in to registry as every new handle will inherit this property

      Parameters:
        `disableCustomMetaClassLookup` - flag saying to disable lookup of custom metaclasses