# Hierarchy For All Packages

Package Hierarchies:

- net.sf.cglib.beans,
- net.sf.cglib.core,
- net.sf.cglib.core.internal,
- net.sf.cglib.proxy,
- net.sf.cglib.reflect,
- net.sf.cglib.transform,
- net.sf.cglib.transform.impl,
- net.sf.cglib.util

## Class Hierarchy

- java.lang.Object
  - net.sf.cglib.core.AbstractClassGenerator<T> (implements net.sf.cglib.core.ClassGenerator)
    - net.sf.cglib.beans.BeanCopier.Generator
    - net.sf.cglib.beans.BeanGenerator
    - net.sf.cglib.beans.BeanMap.Generator
    - net.sf.cglib.beans.BulkBean.Generator
    - net.sf.cglib.reflect.ConstructorDelegate.Generator
    - net.sf.cglib.proxy.Enhancer
    - net.sf.cglib.reflect.FastClass.Generator
    - net.sf.cglib.beans.ImmutableBean.Generator
    - net.sf.cglib.proxy.InterfaceMaker
    - net.sf.cglib.core.KeyFactory.Generator
    - net.sf.cglib.reflect.MethodDelegate.Generator
    - net.sf.cglib.proxy.Mixin.Generator
    - net.sf.cglib.reflect.MulticastDelegate.Generator
    - net.sf.cglib.util.ParallelSorter.Generator
    - net.sf.cglib.util.StringSwitcher.Generator
  - net.sf.cglib.core.AbstractClassGenerator.ClassLoaderData
  - net.sf.cglib.core.AbstractClassGenerator.Source
  - java.util.AbstractCollection<E> (implements java.util.Collection<E>)
    - java.util.AbstractSet<E> (implements java.util.Set<E>)
      - net.sf.cglib.beans.FixedKeySet
  - net.sf.cglib.transform.impl.AbstractInterceptFieldCallback (implements net.sf.cglib.transform.impl.InterceptFieldCallback)
  - org.objectweb.asm.AnnotationVisitor
    - net.sf.cglib.transform.AnnotationVisitorTee
  - net.sf.cglib.beans.BeanCopier
  - net.sf.cglib.beans.BeanMap (implements java.util.Map<K,​V>)
  - net.sf.cglib.core.Block
  - net.sf.cglib.beans.BulkBean
  - net.sf.cglib.proxy.CallbackHelper (implements net.sf.cglib.proxy.CallbackFilter)
  - net.sf.cglib.core.ClassesKey
  - net.sf.cglib.core.ClassInfo
  - java.lang.ClassLoader
    - net.sf.cglib.transform.AbstractClassLoader
      - net.sf.cglib.transform.TransformingClassLoader
  - net.sf.cglib.core.ClassNameReader
  - net.sf.cglib.transform.ClassReaderGenerator (implements net.sf.cglib.core.ClassGenerator)
  - org.objectweb.asm.ClassVisitor
    - net.sf.cglib.transform.ClassTransformer
      - net.sf.cglib.transform.AbstractClassTransformer
        - net.sf.cglib.transform.AbstractClassFilterTransformer
          - net.sf.cglib.transform.ClassFilterTransformer
        - net.sf.cglib.transform.ClassTransformerChain
        - net.sf.cglib.transform.MethodFilterTransformer
      - net.sf.cglib.core.ClassEmitter
        - net.sf.cglib.transform.ClassEmitterTransformer
          - net.sf.cglib.transform.impl.AccessFieldTransformer
          - net.sf.cglib.transform.impl.AddDelegateTransformer
          - net.sf.cglib.transform.impl.AddInitTransformer
          - net.sf.cglib.transform.impl.AddPropertyTransformer
          - net.sf.cglib.transform.impl.AddStaticInitTransformer
          - net.sf.cglib.transform.impl.FieldProviderTransformer
          - net.sf.cglib.transform.impl.InterceptFieldTransformer
          - net.sf.cglib.transform.impl.UndeclaredThrowableTransformer
      - net.sf.cglib.transform.ClassTransformerTee
    - net.sf.cglib.transform.ClassVisitorTee
    - net.sf.cglib.core.DebuggingClassWriter
  - net.sf.cglib.core.CollectionUtils
  - net.sf.cglib.reflect.ConstructorDelegate
  - net.sf.cglib.core.internal.CustomizerRegistry
  - net.sf.cglib.core.DefaultGeneratorStrategy (implements net.sf.cglib.core.GeneratorStrategy)
    - net.sf.cglib.transform.impl.UndeclaredThrowableStrategy
  - net.sf.cglib.core.DefaultNamingPolicy (implements net.sf.cglib.core.NamingPolicy)
  - net.sf.cglib.core.DuplicatesPredicate (implements net.sf.cglib.core.Predicate)
  - net.sf.cglib.core.EmitUtils
  - net.sf.cglib.core.EmitUtils.ArrayDelimiters
  - net.sf.cglib.reflect.FastClass
  - net.sf.cglib.reflect.FastMember
    - net.sf.cglib.reflect.FastConstructor
    - net.sf.cglib.reflect.FastMethod
  - org.objectweb.asm.FieldVisitor
    - net.sf.cglib.transform.FieldVisitorTee
  - net.sf.cglib.beans.ImmutableBean
  - net.sf.cglib.core.KeyFactory
  - net.sf.cglib.core.internal.LoadingCache<K,​KK,​V>
  - net.sf.cglib.core.Local
  - net.sf.cglib.reflect.MethodDelegate
  - net.sf.cglib.core.MethodInfo
  - net.sf.cglib.core.MethodInfoTransformer (implements net.sf.cglib.core.Transformer)
  - net.sf.cglib.proxy.MethodProxy
  - org.objectweb.asm.MethodVisitor
    - net.sf.cglib.core.LocalVariablesSorter
      - net.sf.cglib.core.CodeEmitter
    - net.sf.cglib.transform.MethodVisitorTee
  - net.sf.cglib.core.MethodWrapper
  - net.sf.cglib.proxy.Mixin
  - net.sf.cglib.reflect.MulticastDelegate (implements java.lang.Cloneable)
  - net.sf.cglib.util.ParallelSorter
  - org.apache.tools.ant.ProjectComponent (implements java.lang.Cloneable)
    - org.apache.tools.ant.Task
      - net.sf.cglib.transform.AbstractProcessTask
        - net.sf.cglib.transform.AbstractTransformTask
  - net.sf.cglib.proxy.Proxy (implements java.io.Serializable)
  - java.lang.ref.Reference<T>
    - java.lang.ref.WeakReference<T>
      - net.sf.cglib.core.WeakCacheKey<T>
  - net.sf.cglib.core.ReflectUtils
  - net.sf.cglib.core.RejectModifierPredicate (implements net.sf.cglib.core.Predicate)
  - net.sf.cglib.core.Signature
  - net.sf.cglib.util.StringSwitcher
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - net.sf.cglib.beans.BulkBeanException
        - net.sf.cglib.core.CodeGenerationException
          - net.sf.cglib.proxy.UndeclaredThrowableException
  - net.sf.cglib.core.TinyBitSet
  - net.sf.cglib.transform.TransformingClassGenerator (implements net.sf.cglib.core.ClassGenerator)
  - net.sf.cglib.core.TypeUtils
  - net.sf.cglib.core.VisibilityPredicate (implements net.sf.cglib.core.Predicate)

## Interface Hierarchy

- net.sf.cglib.transform.impl.AccessFieldTransformer.Callback
- net.sf.cglib.proxy.Callback
  - net.sf.cglib.proxy.Dispatcher
  - net.sf.cglib.proxy.FixedValue
  - net.sf.cglib.proxy.InvocationHandler
  - net.sf.cglib.proxy.LazyLoader
  - net.sf.cglib.proxy.MethodInterceptor
  - net.sf.cglib.proxy.NoOp
  - net.sf.cglib.proxy.ProxyRefDispatcher
- net.sf.cglib.proxy.CallbackFilter
- net.sf.cglib.transform.ClassFilter
- net.sf.cglib.core.ClassGenerator
- net.sf.cglib.transform.ClassTransformerFactory
- net.sf.cglib.core.Converter
- net.sf.cglib.proxy.Enhancer.EnhancerKey
- net.sf.cglib.proxy.Factory
- net.sf.cglib.transform.impl.FieldProvider
- net.sf.cglib.core.internal.Function<K,​V>
- net.sf.cglib.core.GeneratorStrategy
- net.sf.cglib.transform.impl.InterceptFieldCallback
- net.sf.cglib.transform.impl.InterceptFieldEnabled
- net.sf.cglib.transform.impl.InterceptFieldFilter
- net.sf.cglib.core.KeyFactoryCustomizer
  - net.sf.cglib.core.Customizer
  - net.sf.cglib.core.FieldTypeCustomizer
  - net.sf.cglib.core.HashCodeCustomizer
- net.sf.cglib.transform.MethodFilter
- net.sf.cglib.core.MethodWrapper.MethodWrapperKey
- net.sf.cglib.core.NamingPolicy
- net.sf.cglib.core.ObjectSwitchCallback
- org.objectweb.asm.Opcodes
  - net.sf.cglib.core.Constants
- net.sf.cglib.core.Predicate
- net.sf.cglib.core.ProcessArrayCallback
- net.sf.cglib.core.ProcessSwitchCallback
- net.sf.cglib.core.Transformer