## org.codehaus.groovy.runtime.metaclass
Class LocallyKnownClasses

Field Summary
`int` | `CACHE_SIZE`
`int` | `DONT_LOAD_DEFAULT`
`int` | `LOAD_DEFAULT`
`def` | `cache`
`MetaClassRegistry` | `instanceExclude`
`MetaClassRegistry` | `instanceInclude`
`MyThreadLocal` | `locallyKnown`
`MetaClassCreationHandle` | `metaClassCreationHandle`
`int` | `nextCacheEntry`
`int` | `version`

Constructor Summary
`LocallyKnownClasses()`

Method Summary
`def` | `MetaClassRegistryImpl()`
`def` | `MetaClassRegistryImpl(int loadDefault)`
`def` | `MetaClassRegistryImpl(boolean useAccessible)`
`def` | `MetaClassRegistryImpl(int loadDefault, boolean useAccessible)`
`MetaClass` | `checkCache(Class theClass)`
`MetaClass` | `checkMap(Class theClass)`
`void` | `clear()`
`MetaClass` | `getFromGlobal(Class theClass)`
`MetaClass` | `getGlobalMetaClass(Class theClass)`
`static MetaClassRegistry` | `getInstance(int includeExtension)` Singleton of MetaClassRegistry.
`FastArray` | `getInstanceMethods()`
`MetaClass` | `getMetaClass(Class theClass)`
`MetaClass` | `getMetaClass(Class theClass)`
`MetaClassCreationHandle` | `getMetaClassCreationHandler()` Gets a handle internally used to create MetaClass implementations WARNING: experimental code, likely to change soon
`FastArray` | `getStaticMethods()`
`void` | `installMetaClassCreationHandle()` Looks for a class called 'groovy.runtime.metaclass.CustomMetaClassCreationHandle' and if it exists uses it as the MetaClassCreationHandle otherwise uses the default
`Object` | `put(Object key, Object value)`
`void` | `putToCache(MetaClass value)`
`void` | `registerMethods(Class theClass, boolean useInstanceMethods, Map map)`
`void` | `removeMetaClass(Class theClass)`
`void` | `setMetaClass(Class theClass, MetaClass theMetaClass)` Registers a new MetaClass in the registry to customize the type
`void` | `setMetaClassCreationHandle(MetaClassCreationHandle handle)` Sets a handle internally used to create MetaClass implementations.
`boolean` | `useAccessible()`

Constructor Detail

### LocallyKnownClasses

    LocallyKnownClasses()

Method Detail

### MetaClassRegistryImpl

    public def MetaClassRegistryImpl()

### MetaClassRegistryImpl

    public def MetaClassRegistryImpl(int loadDefault)

### MetaClassRegistryImpl

    public def MetaClassRegistryImpl(boolean useAccessible)

### MetaClassRegistryImpl

    public def MetaClassRegistryImpl(int loadDefault, boolean useAccessible)

### checkCache

    MetaClass checkCache(Class theClass)

### checkMap

    MetaClass checkMap(Class theClass)

### clear

    public void clear()

### getFromGlobal

    MetaClass getFromGlobal(Class theClass)

### getGlobalMetaClass

    MetaClass getGlobalMetaClass(Class theClass)

### getInstance

    public static MetaClassRegistry getInstance(int includeExtension)

  Singleton of MetaClassRegistry. Shall we use threadlocal to store the instance?
  param:
    includeExtension

### getInstanceMethods

    public FastArray getInstanceMethods()

### getMetaClass

    public MetaClass getMetaClass(Class theClass)

### getMetaClass

    public MetaClass getMetaClass(Class theClass)

### getMetaClassCreationHandler

    public MetaClassCreationHandle getMetaClassCreationHandler()

  Gets a handle internally used to create MetaClass implementations WARNING: experimental code, likely to change soon
  return:
    the handle

### getStaticMethods

    public FastArray getStaticMethods()

### installMetaClassCreationHandle

    void installMetaClassCreationHandle()

  Looks for a class called 'groovy.runtime.metaclass.CustomMetaClassCreationHandle' and if it exists uses it as the MetaClassCreationHandle otherwise uses the default
  see:
    MetaClassCreationHandle

### put

    public Object put(Object key, Object value)

### putToCache

    void putToCache(MetaClass value)

### registerMethods

    void registerMethods(Class theClass, boolean useInstanceMethods, Map map)

### removeMetaClass

    public void removeMetaClass(Class theClass)

### setMetaClass

    public void setMetaClass(Class theClass, MetaClass theMetaClass)

  Registers a new MetaClass in the registry to customize the type
  param:
    theClass
  param:
    theMetaClass

### setMetaClassCreationHandle

    public void setMetaClassCreationHandle(MetaClassCreationHandle handle)

  Sets a handle internally used to create MetaClass implementations. When replacing the handle with a custom version, you should resuse the old handle to keep custom logic and to use the default logic as fallback. WARNING: experimental code, likely to change soon
  param:
    handle the handle

### useAccessible

    public boolean useAccessible()