# Hierarchy For Package groovy.lang

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - java.util.AbstractCollection<E> (implements java.util.Collection<E>)
    - java.util.AbstractList<E> (implements java.util.List<E>)
      - java.util.ArrayList<E> (implements java.lang.Cloneable, java.util.List<E>, java.util.RandomAccess, java.io.Serializable)
        - groovy.lang.Sequence (implements groovy.lang.GroovyObject)
          - groovy.lang.NonEmptySequence
      - groovy.lang.EmptyRange (implements groovy.lang.Range<T>)
      - groovy.lang.IntRange (implements groovy.lang.Range<T>)
      - groovy.lang.ObjectRange (implements groovy.lang.Range<T>)
      - groovy.lang.Tuple
  - java.util.AbstractMap<K,V> (implements java.util.Map<K,V>)
    - java.util.HashMap<K,V> (implements java.lang.Cloneable, java.util.Map<K,V>, java.io.Serializable)
      - groovy.lang.SpreadMap
  - groovy.lang.BenchmarkInterceptor (implements groovy.lang.Interceptor)
  - java.lang.ClassLoader
    - java.security.SecureClassLoader
      - java.net.URLClassLoader (implements java.io.Closeable)
        - groovy.lang.GroovyClassLoader
          - groovy.lang.GroovyClassLoader.InnerLoader
  - org.codehaus.groovy.control.CompilationUnit.ClassgenCallback
    - groovy.lang.GroovyClassLoader.ClassCollector
  - org.codehaus.groovy.util.ComplexKeyHashMap
    - org.codehaus.groovy.util.SingleKeyHashMap
      - groovy.lang.MetaClassImpl.Index
  - groovy.lang.DelegatingMetaClass (implements groovy.lang.GroovyObject, groovy.lang.MetaClass, groovy.lang.MutableMetaClass)
  - java.util.EventObject (implements java.io.Serializable)
    - groovy.lang.MetaClassRegistryChangeEvent
  - groovy.lang.GroovyCodeSource
  - groovy.lang.GroovyObjectSupport (implements groovy.lang.GroovyObject)
    - groovy.lang.Binding
    - groovy.lang.Closure<V> (implements java.lang.Cloneable, groovy.lang.GroovyCallable<V>, java.lang.Runnable, java.io.Serializable)
    - groovy.lang.ExpandoMetaClass.ExpandoMetaConstructor
    - groovy.lang.ExpandoMetaClass.ExpandoMetaProperty
    - groovy.lang.GroovyShell
    - groovy.lang.GString (implements groovy.lang.Buildable, java.lang.CharSequence, java.lang.Comparable<T>, java.io.Serializable, groovy.lang.Writable)
    - groovy.lang.Reference<T> (implements java.io.Serializable)
    - groovy.lang.Script
  - groovy.lang.GroovySystem
  - groovy.lang.ListWithDefault<T> (implements java.util.List<E>)
  - groovy.lang.MapWithDefault<K,V> (implements java.util.Map<K,V>)
  - groovy.lang.MetaClassImpl (implements groovy.lang.MetaClass, groovy.lang.MutableMetaClass)
    - groovy.lang.ExpandoMetaClass (implements groovy.lang.GroovyObject)
    - groovy.lang.ProxyMetaClass (implements groovy.lang.AdaptingMetaClass)
  - groovy.lang.MetaClassRegistry.MetaClassCreationHandle
    - groovy.lang.ExpandoMetaClassCreationHandle
  - groovy.lang.MetaProperty
    - groovy.lang.MetaArrayLengthProperty
    - groovy.lang.MetaBeanProperty
    - groovy.lang.MetaExpandoProperty
  - groovy.lang.ParameterArray
  - org.codehaus.groovy.reflection.ParameterTypes
    - groovy.lang.MetaMethod (implements java.lang.Cloneable)
  - groovy.lang.PropertyValue
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - groovy.lang.ClosureException
        - groovy.lang.DeprecationException
        - groovy.lang.GroovyRuntimeException
          - groovy.lang.IncorrectClosureArgumentsException
          - groovy.lang.MissingClassException
          - groovy.lang.MissingFieldException
          - groovy.lang.MissingMethodException
          - groovy.lang.MissingPropertyException
            - groovy.lang.IllegalPropertyAccessException
            - groovy.lang.ReadOnlyPropertyException
          - groovy.lang.SpreadListEvaluatingException
          - groovy.lang.SpreadMapEvaluatingException
        - groovy.lang.StringWriterIOException
  - groovy.lang.TracingInterceptor (implements groovy.lang.Interceptor)

## Interface Hierarchy

- groovy.lang.Buildable
- java.util.concurrent.Callable<V>
  - groovy.lang.GroovyCallable<V>
- groovy.lang.ClosureInvokingMethod
- java.util.EventListener
  - groovy.lang.MetaClassRegistryChangeEventListener
- groovy.lang.GroovyObject
  - groovy.lang.GroovyInterceptable
- groovy.lang.GroovyResourceLoader
- groovy.lang.Interceptor
  - groovy.lang.PropertyAccessInterceptor
- java.lang.Iterable<T>
  - java.util.Collection<E>
    - java.util.List<E>
      - groovy.lang.Range<T>
- groovy.lang.MetaClassRegistry
- groovy.lang.MetaObjectProtocol
  - groovy.lang.MetaClass
    - groovy.lang.AdaptingMetaClass
    - groovy.lang.MutableMetaClass
- groovy.lang.Writable

## Annotation Type Hierarchy

- groovy.lang.Lazy (implements java.lang.annotation.Annotation)
- groovy.lang.Mixin (implements java.lang.annotation.Annotation)
- groovy.lang.Grapes (implements java.lang.annotation.Annotation)
- groovy.lang.GrabConfig (implements java.lang.annotation.Annotation)
- groovy.lang.Singleton (implements java.lang.annotation.Annotation)
- groovy.lang.Delegate (implements java.lang.annotation.Annotation)
- groovy.lang.Grab (implements java.lang.annotation.Annotation)
- groovy.lang.Newify (implements java.lang.annotation.Annotation)
- groovy.lang.GrabResolver (implements java.lang.annotation.Annotation)
- groovy.lang.GrabExclude (implements java.lang.annotation.Annotation)
- groovy.lang.Category (implements java.lang.annotation.Annotation)