AbstractClassGenerator (cglib (Version 2.2.2))
Keywords: net.sf.cglib.core.AbstractClassGenerator class

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## net.sf.cglib.core
Class AbstractClassGenerator

    java.lang.Object
      net.sf.cglib.core.AbstractClassGenerator

All Implemented Interfaces:
  ClassGenerator

Direct Known Subclasses:
  BeanCopier.Generator, BeanGenerator, BeanMap.Generator, BulkBean.Generator, ConstructorDelegate.Generator, Enhancer, FastClass.Generator, ImmutableBean.Generator, InterfaceMaker, KeyFactory.Generator, MethodDelegate.Generator, Mixin.Generator, MulticastDelegate.Generator, ParallelSorter.Generator, StringSwitcher.Generator

    public abstract class AbstractClassGenerator

extends java.lang.Object
implements ClassGenerator

Abstract class for all code-generating CGLIB utilities. In addition to caching generated classes for performance, it provides hooks for customizing the `ClassLoader`, name of the generated class, and transformations applied before generation.

Method Summary
`boolean` | `getAttemptLoad()`
`java.lang.ClassLoader` | `getClassLoader()`
`static AbstractClassGenerator` | `getCurrent()` Used internally by CGLIB.
`NamingPolicy` | `getNamingPolicy()`
`GeneratorStrategy` | `getStrategy()`
`boolean` | `getUseCache()`
`void` | `setAttemptLoad(boolean attemptLoad)` If set, CGLIB will attempt to load classes from the specified `ClassLoader` before generating them.
`void` | `setClassLoader(java.lang.ClassLoader classLoader)` Set the `ClassLoader` in which the class will be generated.
`void` | `setNamingPolicy(NamingPolicy namingPolicy)` Override the default naming policy.
`void` | `setStrategy(GeneratorStrategy strategy)` Set the strategy to use to create the bytecode from this generator.
`void` | `setUseCache(boolean useCache)` Whether use and update the static cache of generated classes for a class with the same properties.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface net.sf.cglib.core.ClassGenerator
`generateClass`

Method Detail

### setClassLoader

    public void setClassLoader(java.lang.ClassLoader classLoader)

  Set the `ClassLoader` in which the class will be generated. Concrete subclasses of `AbstractClassGenerator` (such as `Enhancer`) will try to choose an appropriate default if this is unset.

  Classes are cached per-`ClassLoader` using a `WeakHashMap`, to allow the generated classes to be removed when the associated loader is garbage collected.

  Parameters:
    `classLoader` - the loader to generate the new class with, or null to use the default

### setNamingPolicy

    public void setNamingPolicy(NamingPolicy namingPolicy)

  Override the default naming policy.

  Parameters:
    `namingPolicy` - the custom policy, or null to use the default
  See Also:
    `DefaultNamingPolicy`

### getNamingPolicy

    public NamingPolicy getNamingPolicy()

  See Also:
    `setNamingPolicy(net.sf.cglib.core.NamingPolicy)`

### setUseCache

    public void setUseCache(boolean useCache)

  Whether use and update the static cache of generated classes for a class with the same properties. Default is `true`.

### getUseCache

    public boolean getUseCache()

  See Also:
    `setUseCache(boolean)`

### setAttemptLoad

    public void setAttemptLoad(boolean attemptLoad)

  If set, CGLIB will attempt to load classes from the specified `ClassLoader` before generating them. Because generated class names are not guaranteed to be unique, the default is `false`.

### getAttemptLoad

    public boolean getAttemptLoad()

### setStrategy

    public void setStrategy(GeneratorStrategy strategy)

  Set the strategy to use to create the bytecode from this generator. By default an instance of `DefaultGeneratorStrategy` is used.

### getStrategy

    public GeneratorStrategy getStrategy()

  See Also:
    `setStrategy(net.sf.cglib.core.GeneratorStrategy)`

### getCurrent

    public static AbstractClassGenerator getCurrent()

  Used internally by CGLIB. Returns the `AbstractClassGenerator` that is being used to generate a class in the current thread.

### getClassLoader

    public java.lang.ClassLoader getClassLoader()

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (c) 2001 - Apache Software Foundation