# Package org.codehaus.groovy.runtime.metaclass

package org.codehaus.groovy.runtime.metaclass

Internal classes related to Groovy's metaclass implementation.

- Related Packages
  Package
  Description
  org.codehaus.groovy.runtime
  Runtime classes for Groovy - whether the dynamic interpreter is being used, the compiler or the bytecode generator.
- Class
  Description
  ClosureMetaClass
  A metaclass for closures generated by the Groovy compiler.
  ClosureMetaMethod
  A MetaMethod that accepts a closure in the constructor which is invoked when the MetaMethod is called.
  ClosureStaticMetaMethod
  This class represents a MetaMethod that is a closure that pretends to be a static method.
  ConcurrentReaderHashMap
  A hash table that supports mostly-concurrent reading, but exclusive writing.
  ConcurrentReaderHashMap.BarrierLock
  A Serializable class for barrier lock
  ConcurrentReaderHashMap.Entry
  ConcurrentReaderHashMap collision list entry.
  DefaultMetaClassInfo
  WARNING: This class is for internal use only! We use this class to store information about if a default MetaClass is used for certain primitives.
  DefaultMetaClassInfo.ConstantMetaClassVersioning
  Represents a constant version of the metaclass configuration at a point in time.
  MetaClassRegistryImpl
  A registry of MetaClass instances which caches introspection and reflection information and allows methods to be dynamically added to existing classes at runtime
  MetaMethodIndex
  An index of metamethods for a class, organized by method name and signature.
  MetaMethodIndex.Cache
  A cache of metamethods indexed by name.
  MetaMethodIndex.MetaMethodCache
  A cache entry for a metamethod with its parameter types.
  MethodMetaProperty
  Wrapper for a method for a property get or set.
  MethodMetaProperty.GetBeanMethodMetaProperty
  Wrapper for a method realizing the property getter.
  MethodMetaProperty.GetMethodMetaProperty
  Wrapper for a method realizing the property get.
  MethodSelectionException
  This exception is thrown if the runtime is unable to select a method.
  MissingMethodExceptionNoStack
  A `MissingMethodException` that does not populate the stack trace.
  MissingMethodExecutionFailed
  A stack-less exception used to indicate that the execution of a missingMethod method failed with a MissingMethodException.
  MissingPropertyExceptionNoStack
  A `MissingPropertyException` that does not populate the stack trace.
  MixedInMetaClass
  A delegating MetaClass that allows mixing in a mixin object.
  MixinInstanceMetaMethod
  MetaMethod for mixed in classes.
  MixinInstanceMetaProperty
  MetaProperty for properties in mixed in classes.
  MultipleSetterProperty
  This class represents a property with multiple setters.
  NewInstanceMetaMethod
  A MetaMethod implementation where the underlying method is really a static helper method on some class but it appears to be an instance method on a class.
  NewMetaMethod
  Base class for NewInstanceMetaMethod and NewStaticMetaMethod
  NewStaticMetaMethod
  A MetaMethod implementation where the underlying method is really a static helper method on some class.
  OwnedMetaClass
  An abstract delegating MetaClass that delegates calls to an owner object's MetaClass.
  PackedClosureMetaClass
  The stock metaclass for `PackedClosure`, giving packed closures their own MOP standing (the analog of `ClosureMetaClass` for generated closure classes, whose per-class metaclasses packed closures deliberately do not have).
  ReflectionMetaMethod
  A MetaMethod implementation that wraps a reflection-based method call.
  ReflectorLoader
  Deprecated, for removal: This API element is subject to removal in a future version.
  No production callers remain; kept only for binary compatibility.
  TemporaryMethodKey
  A temporary implementation of MethodKey used to perform a fast lookup for a method using a set of arguments to a method
  ThreadManagedMetaBeanProperty
  This MetaBeanProperty will create a pseudo property whose value is bound to an object using weak references.
  TransformMetaMethod
  A MetaMethod implementation useful for implementing coercion based invocations.