@HashCodeAndEqualsPlugin.Enhance public static class NamingStrategy.SuffixingRandom extends NamingStrategy.AbstractBase
$
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.Modifier and Type | Class and Description |
---|---|
static interface |
NamingStrategy.SuffixingRandom.BaseNameResolver
A base name resolver is responsible for resolving a name onto which the suffix is appended.
|
NamingStrategy.AbstractBase, NamingStrategy.PrefixingRandom, NamingStrategy.SuffixingRandom
Modifier and Type | Field and Description |
---|---|
private NamingStrategy.SuffixingRandom.BaseNameResolver |
baseNameResolver
A resolver for the base name for naming the unnamed type.
|
static java.lang.String |
BYTE_BUDDY_RENAME_PACKAGE
The default package for defining types that are renamed to not be contained in the
JAVA_PACKAGE package. |
private static java.lang.String |
JAVA_PACKAGE
The package prefix of the
java.* packages for which the definition of
non-bootstrap types is illegal. |
private java.lang.String |
javaLangPackagePrefix
The renaming location for types of the
JAVA_PACKAGE . |
static java.lang.String |
NO_PREFIX
Indicates that types of the
java.* package should not be prefixed. |
private RandomString |
randomString
An instance for creating random seed values.
|
private java.lang.String |
suffix
The suffix to attach to a super type name.
|
Constructor and Description |
---|
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. |
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. |
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. |
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. |
Modifier and Type | Method and Description |
---|---|
protected java.lang.String |
name(TypeDescription superClass)
Determines a new name when creating a new type that subclasses the provided type.
|
rebase, redefine, subclass
public static final java.lang.String BYTE_BUDDY_RENAME_PACKAGE
JAVA_PACKAGE
package.public static final java.lang.String NO_PREFIX
java.*
package should not be prefixed.private static final java.lang.String JAVA_PACKAGE
java.*
packages for which the definition of
non-bootstrap types is illegal.private final java.lang.String suffix
private final java.lang.String javaLangPackagePrefix
JAVA_PACKAGE
.@HashCodeAndEqualsPlugin.ValueHandling(value=IGNORE) private final RandomString randomString
private final NamingStrategy.SuffixingRandom.BaseNameResolver baseNameResolver
public SuffixingRandom(java.lang.String suffix)
java.lang
package into Byte Buddy's package namespace. All names are derived from the
unnamed type's super type.suffix
- The suffix for the generated class.public SuffixingRandom(java.lang.String suffix, java.lang.String javaLangPackagePrefix)
java.lang
package into Byte Buddy's package namespace.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.public SuffixingRandom(java.lang.String suffix, NamingStrategy.SuffixingRandom.BaseNameResolver baseNameResolver)
java.lang
package into Byte Buddy's package namespace.suffix
- The suffix for the generated class.baseNameResolver
- The base name resolver that is queried for locating the base name.public SuffixingRandom(java.lang.String suffix, NamingStrategy.SuffixingRandom.BaseNameResolver baseNameResolver, java.lang.String javaLangPackagePrefix)
java.lang
package into a given namespace.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.protected java.lang.String name(TypeDescription superClass)
NamingStrategy.AbstractBase
name
in class NamingStrategy.AbstractBase
superClass
- The super type of the created type.