Package net.bytebuddy

Class NamingStrategy.SuffixingRandom

  • All Implemented Interfaces:
    NamingStrategy
    Enclosing interface:
    NamingStrategy

    @Enhance
    public static class NamingStrategy.SuffixingRandom
    extends NamingStrategy.Suffixing
    A naming strategy that creates a name by concatenating:
    1. The super classes package and name
    2. A given suffix string
    3. A random number
    Between all these elements, a $ sign is included into the name to improve readability. As an exception, types that subclass classes from the java.** packages are prefixed with a given package. This is necessary as it is illegal to define non-bootstrap classes in this name space. The same strategy is applied when subclassing a signed type which is equally illegal.
    • Constructor Detail

      • SuffixingRandom

        public SuffixingRandom​(java.lang.String suffix)
        Creates an immutable naming strategy with a given suffix but moves types that subclass types within the java.lang package into Byte Buddy's package namespace. All names are derived from the unnamed type's super type.
        Parameters:
        suffix - The suffix for the generated class.
      • SuffixingRandom

        public SuffixingRandom​(java.lang.String suffix,
                               java.lang.String javaLangPackagePrefix)
        Creates an immutable naming strategy with a given suffix but moves types that subclass types within the java.lang package into Byte Buddy's package namespace.
        Parameters:
        suffix - The suffix for the generated class.
        javaLangPackagePrefix - The fallback namespace for type's that subclass types within the java.* namespace. If The prefix is set to the empty string, no prefix is added.
      • SuffixingRandom

        @Deprecated
        public SuffixingRandom​(java.lang.String suffix,
                               NamingStrategy.SuffixingRandom.BaseNameResolver baseNameResolver)
        Creates an immutable naming strategy with a given suffix but moves types that subclass types within the java.lang package into Byte Buddy's package namespace.
        Parameters:
        suffix - The suffix for the generated class.
        baseNameResolver - The base name resolver that is queried for locating the base name.
      • SuffixingRandom

        public SuffixingRandom​(java.lang.String suffix,
                               NamingStrategy.Suffixing.BaseNameResolver baseNameResolver)
        Creates an immutable naming strategy with a given suffix but moves types that subclass types within the java.lang package into Byte Buddy's package namespace.
        Parameters:
        suffix - The suffix for the generated class.
        baseNameResolver - The base name resolver that is queried for locating the base name.
      • SuffixingRandom

        @Deprecated
        public SuffixingRandom​(java.lang.String suffix,
                               NamingStrategy.SuffixingRandom.BaseNameResolver baseNameResolver,
                               java.lang.String javaLangPackagePrefix)
        Creates an immutable naming strategy with a given suffix but moves types that subclass types within the java.lang package into a given namespace.
        Parameters:
        suffix - The suffix for the generated class.
        baseNameResolver - The base name resolver that is queried for locating the base name.
        javaLangPackagePrefix - The fallback namespace for type's that subclass types within the java.* namespace. If The prefix is set to the empty string, no prefix is added.
      • SuffixingRandom

        public SuffixingRandom​(java.lang.String suffix,
                               NamingStrategy.Suffixing.BaseNameResolver baseNameResolver,
                               java.lang.String javaLangPackagePrefix)
        Creates an immutable naming strategy with a given suffix but moves types that subclass types within the java.lang package into a given namespace.
        Parameters:
        suffix - The suffix for the generated class.
        baseNameResolver - The base name resolver that is queried for locating the base name.
        javaLangPackagePrefix - The fallback namespace for type's that subclass types within the java.* namespace. If The prefix is set to the empty string, no prefix is added.
      • SuffixingRandom

        @Deprecated
        public SuffixingRandom​(java.lang.String suffix,
                               NamingStrategy.SuffixingRandom.BaseNameResolver baseNameResolver,
                               java.lang.String javaLangPackagePrefix,
                               RandomString randomString)
        Creates an immutable naming strategy with a given suffix but moves types that subclass types within the java.lang package into a given namespace.
        Parameters:
        suffix - The suffix for the generated class.
        baseNameResolver - The base name resolver that is queried for locating the base name.
        javaLangPackagePrefix - The fallback namespace for type's that subclass types within the java.* namespace. If The prefix is set to the empty string, no prefix is added.
        randomString - The random string instance to use.
      • SuffixingRandom

        public SuffixingRandom​(java.lang.String suffix,
                               NamingStrategy.Suffixing.BaseNameResolver baseNameResolver,
                               java.lang.String javaLangPackagePrefix,
                               RandomString randomString)
        Creates an immutable naming strategy with a given suffix but moves types that subclass types within the java.lang package into a given namespace.
        Parameters:
        suffix - The suffix for the generated class.
        baseNameResolver - The base name resolver that is queried for locating the base name.
        javaLangPackagePrefix - The fallback namespace for type's that subclass types within the java.* namespace. If The prefix is set to the empty string, no prefix is added.
        randomString - The random string instance to use.
    • Method Detail

      • name

        protected java.lang.String name​(TypeDescription superClass)
        Description copied from class: NamingStrategy.AbstractBase
        Determines a new name when creating a new type that subclasses the provided type.
        Overrides:
        name in class NamingStrategy.Suffixing
        Parameters:
        superClass - The super type of the created type.
        Returns:
        The name of the dynamic type.