org.logicalcobwebs.cglib.core
Class DefaultNamingPolicy
java.lang.Object
  
org.logicalcobwebs.cglib.core.DefaultNamingPolicy
- All Implemented Interfaces: 
 - NamingPolicy
 
public class DefaultNamingPolicy
- extends java.lang.Object
- implements NamingPolicy
  
The default policy used by AbstractClassGenerator.
 Generates names such as
 
org.logicalcobwebs.cglib.Foo$$EnhancerByCGLIB$$38272841
 This is composed of a prefix based on the name of the superclass, a fixed
 string incorporating the CGLIB class responsible for generation, and a
 hashcode derived from the parameters used to create the object. If the same
 name has been previously been used in the same ClassLoader, a
 suffix is added to ensure uniqueness.
 
 
| 
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. | 
 
| Methods inherited from class java.lang.Object | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
 
INSTANCE
public static final DefaultNamingPolicy INSTANCE
DefaultNamingPolicy
public DefaultNamingPolicy()
getClassName
public java.lang.String getClassName(java.lang.String prefix,
                                     java.lang.String source,
                                     java.lang.Object key,
                                     Predicate names)
- Description copied from interface: 
NamingPolicy 
- Choose a name for a generated class.
- Specified by:
 getClassName in interface NamingPolicy
 
- 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