org.logicalcobwebs.cglib.core
Interface NamingPolicy

All Known Implementing Classes:
DefaultNamingPolicy

public interface NamingPolicy

Customize the generated class name for AbstractClassGenerator-based utilities.


Method Summary
 java.lang.String getClassName(java.lang.String prefix, java.lang.String source, java.lang.Object key, Predicate names)
          Choose a name for a generated class.
 

Method Detail

getClassName

java.lang.String getClassName(java.lang.String prefix,
                              java.lang.String source,
                              java.lang.Object key,
                              Predicate names)
Choose a name for a generated class.

Parameters:
prefix - a dotted-name chosen by the generating class (possibly to put the generated class in a particular package)
source - the fully-qualified class name of the generating class (for example "org.logicalcobwebs.cglib.Enhancer")
key - A key object representing the state of the parameters; for caching to work properly, equal keys should result in the same generated class name. The default policy incorporates key.hashCode() into the class name.
names - a predicate that returns true if the given classname has already been used in the same ClassLoader.
Returns:
the fully-qualified class name