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