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 Type
Method
Description
`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

### getClassName

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 "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 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

### equals

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.

Overrides:
  `equals` in class `Object`