Package org.springframework.cglib.core
Interface NamingPolicy
- All Known Implementing Classes:
DefaultNamingPolicy
,SpringNamingPolicy
public interface NamingPolicy
Customize the generated class name for
AbstractClassGenerator
-based utilities.-
Method Summary
Modifier and TypeMethodDescriptionboolean
TheNamingPolicy
in use does not currently, but may in the future, affect the caching of classes generated byAbstractClassGenerator
, so this is a reminder that you should correctly implementequals
andhashCode
to avoid generating too many classes.getClassName
(String prefix, String source, Object key, Predicate names) Choose a name for a generated class.
-
Method Details
-
getClassName
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.springframework.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 incorporateskey.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
-
equals
TheNamingPolicy
in use does not currently, but may in the future, affect the caching of classes generated byAbstractClassGenerator
, so this is a reminder that you should correctly implementequals
andhashCode
to avoid generating too many classes.
-