net.sf.cglib.core

Interface NamingPolicy

Known Implementing Classes:
DefaultNamingPolicy

public interface NamingPolicy

Customize the generated class name for AbstractClassGenerator-based utilities.

Method Summary

boolean
equals(Object o)
The NamingPolicy in use does not currently, but may in the future, affect the caching of classes generated by AbstractClassGenerator, so this is a reminder that you should correctly implement equals and hashCode to avoid generating too many classes.
String
getClassName(String prefix, String source, Object key, Predicate names)
Choose a name for a generated class.

Method Details

equals

public boolean equals(Object o)
The NamingPolicy in use does not currently, but may in the future, affect the caching of classes generated by AbstractClassGenerator, so this is a reminder that you should correctly implement equals and hashCode to avoid generating too many classes.

getClassName

public String getClassName(String prefix,
                           String source,
                           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 "net.sf.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

Copyright (c) 2001 - Apache Software Foundation