net.sf.cglib.core
Class AbstractClassGenerator

java.lang.Object
  extended bynet.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
 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

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.


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.



Copyright (c) 2001 - Apache Software Foundation