Package net.bytebuddy

Interface NamingStrategy

All Known Implementing Classes:
NamingStrategy.AbstractBase, NamingStrategy.PrefixingRandom, NamingStrategy.Suffixing, NamingStrategy.SuffixingRandom

public interface NamingStrategy

A naming strategy for determining a fully qualified name for a dynamically created Java type.

Note that subclasses that lie within the same package as their superclass can access package-private methods of super types within the same package.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static class 
    An abstract base implementation where the names of redefined and rebased types are retained.
    static class 
    A naming strategy that creates a name by prefixing a given class and its package with another package and by appending a random number to the class's simple name.
    static class 
    A naming strategy that appends a given suffix to a name, without a randomized element.
    static class 
    A naming strategy that creates a name by concatenating: The super classes package and name A given suffix string A random number Between all these elements, a $ sign is included into the name to improve readability.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    The default package for defining types that are renamed to not be contained in the java package.
    static final String
    Indicates that types of the java.* package should not be prefixed.
  • Method Summary

    Modifier and Type
    Method
    Description
    rebase(TypeDescription typeDescription)
    Determines a name for the dynamic type when rebasing the provided type.
    redefine(TypeDescription typeDescription)
    Determines a name for the dynamic type when redefining the provided type.
    Determines a new name when creating a new type that subclasses the provided type.
  • Field Details

    • BYTE_BUDDY_RENAME_PACKAGE

      static final String BYTE_BUDDY_RENAME_PACKAGE
      The default package for defining types that are renamed to not be contained in the java package.
      See Also:
    • NO_PREFIX

      static final String NO_PREFIX
      Indicates that types of the java.* package should not be prefixed.
      See Also:
  • Method Details

    • subclass

      String subclass(TypeDescription.Generic superClass)
      Determines a new name when creating a new type that subclasses the provided type.
      Parameters:
      superClass - The super type of the created type.
      Returns:
      The name of the dynamic type.
    • redefine

      String redefine(TypeDescription typeDescription)
      Determines a name for the dynamic type when redefining the provided type.
      Parameters:
      typeDescription - The type being redefined.
      Returns:
      The name of the dynamic type.
    • rebase

      String rebase(TypeDescription typeDescription)
      Determines a name for the dynamic type when rebasing the provided type.
      Parameters:
      typeDescription - The type being redefined.
      Returns:
      The name of the dynamic type.