# Package org.codehaus.groovy.runtime.metaclass

## Package org.codehaus.groovy.runtime.metaclass Description

Internal classes related to Groovy's metaclass implementation.

- Class Summary
  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.
  ConcurrentReaderHashMap.HashIterator |
  ConcurrentReaderHashMap.KeyIterator | Iterator over the keys of the map.
  ConcurrentReaderHashMap.ValueIterator | Iterator over the values of the map.
  DefaultMetaClassInfo | WARNING: This class is for internal use only!
  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.
  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 | Reflector creation helper.
  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.

- Exception Summary
  Exception | Description
  --- | ---
  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.