public static class InstrumentedType.Frozen extends TypeDescription.AbstractBase.OfSimpleType implements InstrumentedType.WithFlexibleName
TypeDescription.AbstractBase.OfSimpleType.WithDelegation
TypeDescription.AbstractBase.OfSimpleType
InstrumentedType.Default, InstrumentedType.Factory, InstrumentedType.Frozen, InstrumentedType.Prepareable, InstrumentedType.WithFlexibleName
TypeDescription.AbstractBase, TypeDescription.ArrayProjection, TypeDescription.ForLoadedType, TypeDescription.ForPackageDescription, TypeDescription.Generic, TypeDescription.Latent, TypeDescription.SuperTypeLoading
TypeDefinition.Sort, TypeDefinition.SuperClassIterator
ModifierReviewable.ForFieldDescription, ModifierReviewable.ForMethodDescription, ModifierReviewable.ForParameterDescription, ModifierReviewable.ForTypeDefinition, ModifierReviewable.OfAbstraction, ModifierReviewable.OfByteCodeElement, ModifierReviewable.OfEnumeration
ByteCodeElement.Token<T extends ByteCodeElement.Token<T>>, ByteCodeElement.TypeDependant<T extends ByteCodeElement.TypeDependant<?,S>,S extends ByteCodeElement.Token<S>>
NamedElement.WithGenericName, NamedElement.WithOptionalName, NamedElement.WithRuntimeName
AnnotationSource.Empty, AnnotationSource.Explicit
TypeVariableSource.Visitor<T>
RAW_TYPES
ARRAY_INTERFACES, CLASS, OBJECT, STRING, THROWABLE, UNDEFINED, VOID
RAW_TYPES_PROPERTY
EMPTY_MASK
NON_GENERIC_SIGNATURE
EMPTY_NAME, NO_NAME
Modifier | Constructor and Description |
---|---|
protected |
Frozen(TypeDescription typeDescription,
LoadedTypeInitializer loadedTypeInitializer)
Creates a new frozen representation of an instrumented type.
|
Modifier and Type | Method and Description |
---|---|
int |
getActualModifiers(boolean superFlag)
Returns the type's actual modifiers as present in the class file.
|
AnnotationList |
getDeclaredAnnotations()
Returns a list of annotations that are declared by this instance.
|
FieldList<FieldDescription.InDefinedShape> |
getDeclaredFields()
Returns the fields that this type declares.
|
MethodList<MethodDescription.InDefinedShape> |
getDeclaredMethods()
Returns the methods that this type declares.
|
TypeList |
getDeclaredTypes()
Returns a list of types that are declared by this type excluding anonymous classes.
|
TypeDescription |
getDeclaringType()
Returns the declaring type of this instance.
|
MethodDescription |
getEnclosingMethod()
Returns a description of the method that encloses this type.
|
TypeDescription |
getEnclosingType()
Returns a description of this type's enclosing type if any.
|
String |
getGenericSignature()
Returns the generic signature of this byte code element.
|
TypeList.Generic |
getInterfaces()
Returns the interfaces that this type implements.
|
LoadedTypeInitializer |
getLoadedTypeInitializer()
Returns the
LoadedTypeInitializer s that were registered
for this instrumented type. |
int |
getModifiers()
Returns the modifier that is described by this object.
|
String |
getName()
Returns the internalName of this byte code element.
|
PackageDescription |
getPackage()
Returns the package internalName of the type described by this instance.
|
TypeDescription.Generic |
getSuperClass()
Returns the super class of this type.
|
TypeInitializer |
getTypeInitializer()
Returns this instrumented type's type initializer.
|
TypeList.Generic |
getTypeVariables()
Returns the type variables that are declared by this element.
|
boolean |
isAnonymousClass()
Checks if this type description represents an anonymous type.
|
boolean |
isLocalClass()
Checks if this type description represents a local type.
|
boolean |
isMemberClass()
Checks if this type description represents a member type.
|
TypeDescription |
validated()
Validates the instrumented type to define a legal Java type.
|
InstrumentedType.WithFlexibleName |
withAnnotations(List<? extends AnnotationDescription> annotationDescriptions)
Creates a new instrumented type with the given annotations.
|
InstrumentedType.WithFlexibleName |
withField(FieldDescription.Token token)
Creates a new instrumented type that includes a new field.
|
InstrumentedType.WithFlexibleName |
withInitializer(ByteCodeAppender byteCodeAppender)
Creates a new instrumented type that executes the given initializer in the instrumented type's
type initializer.
|
InstrumentedType.WithFlexibleName |
withInitializer(LoadedTypeInitializer loadedTypeInitializer)
Creates a new instrumented type that includes the given
LoadedTypeInitializer . |
InstrumentedType.WithFlexibleName |
withInterfaces(TypeList.Generic interfaceTypes)
Creates a new instrumented type with the given interfaces implemented.
|
InstrumentedType.WithFlexibleName |
withMethod(MethodDescription.Token token)
Creates a new instrumented type that includes a new method or constructor.
|
InstrumentedType.WithFlexibleName |
withModifiers(int modifiers)
Creates a new instrumented type with changed modifiers.
|
InstrumentedType.WithFlexibleName |
withName(String name)
Creates a new instrumented type with a changed name.
|
InstrumentedType.WithFlexibleName |
withTypeVariable(TypeVariableToken typeVariable)
Creates a new instrumented type with the given type variable defined.
|
InstrumentedType.WithFlexibleName |
withTypeVariables(ElementMatcher<? super TypeDescription.Generic> matcher,
Transformer<TypeVariableToken> transformer)
Applies a transformation onto all existing type variables of this instrumented type.
|
getCanonicalName, getComponentType, getDescriptor, getSimpleName, getStackSize, isArray, isPrimitive
accept, asBoxed, asErasure, asGenericType, asUnboxed, equals, getActualName, getDefaultValue, getEnclosingSource, getInheritedAnnotations, getInnerClassCount, getInternalName, getSort, getTypeName, hashCode, isAccessibleTo, isAnnotationReturnType, isAnnotationValue, isAnnotationValue, isAssignableFrom, isAssignableFrom, isAssignableTo, isAssignableTo, isConstantPool, isGenerified, isInnerClass, isInstance, isNestedClass, isPackageType, isPrimitiveWrapper, isSamePackage, isVisibleTo, iterator, represents, toString
findVariable
getEnumerationState, getFieldManifestation, getFieldPersistence, getMethodManifestation, getMethodStrictness, getOwnership, getParameterManifestation, getProvisioningState, getSynchronizationState, getSyntheticState, getTypeManifestation, getVisibility, isAbstract, isAnnotation, isBridge, isDeprecated, isEnum, isFinal, isInterface, isMandated, isNative, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, isStrict, isSynchronized, isSynthetic, isTransient, isVarArgs, isVolatile
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
asBoxed, asUnboxed, getCanonicalName, getComponentType, getDefaultValue, getInheritedAnnotations, getInnerClassCount, getSimpleName, isAnnotationReturnType, isAnnotationValue, isAnnotationValue, isAssignableFrom, isAssignableFrom, isAssignableTo, isAssignableTo, isConstantPool, isInnerClass, isInstance, isNestedClass, isPackageType, isPrimitiveWrapper, isSamePackage
asErasure, asGenericType, getSort, getStackSize, getTypeName, isArray, isPrimitive, represents
getTypeManifestation, isAnnotation, isInterface
isAbstract
getEnumerationState, isEnum
getOwnership, getVisibility, isDeprecated, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic
getSyntheticState, isFinal, isSynthetic
forEach, iterator, spliterator
getDescriptor, isAccessibleTo, isVisibleTo
getInternalName
getActualName
accept, findVariable, getEnclosingSource, isGenerified
protected Frozen(TypeDescription typeDescription, LoadedTypeInitializer loadedTypeInitializer)
typeDescription
- The represented type description.loadedTypeInitializer
- The type's loaded type initializer.public AnnotationList getDeclaredAnnotations()
AnnotationSource
getDeclaredAnnotations
in interface AnnotationSource
public int getModifiers()
ModifierReviewable
getModifiers
in interface ModifierReviewable
public TypeList.Generic getTypeVariables()
TypeVariableSource
getTypeVariables
in interface TypeVariableSource
public String getName()
NamedElement.WithRuntimeName
getName
in interface NamedElement.WithRuntimeName
public TypeDescription.Generic getSuperClass()
TypeDefinition
TypeDefinition.Sort.NON_GENERIC
),
parameterized types (TypeDefinition.Sort.PARAMETERIZED
) or generic array types (TypeDefinition.Sort.GENERIC_ARRAY
) types. Interface types
and the Object
class do not define a super class where null
is returned. Array types define Object
as their direct super class.getSuperClass
in interface TypeDefinition
null
if no super class exists for this type.public TypeList.Generic getInterfaces()
TypeDefinition
TypeDefinition.Sort.NON_GENERIC
),
parameterized types (TypeDefinition.Sort.PARAMETERIZED
) or generic array types (TypeDefinition.Sort.GENERIC_ARRAY
) types.getInterfaces
in interface TypeDefinition
public FieldList<FieldDescription.InDefinedShape> getDeclaredFields()
TypeDefinition
TypeDefinition.Sort.NON_GENERIC
),
parameterized types (TypeDefinition.Sort.PARAMETERIZED
) or generic array types (TypeDefinition.Sort.GENERIC_ARRAY
) types. Generic array
types never define fields and the returned list is always empty for such types.getDeclaredFields
in interface TypeDefinition
getDeclaredFields
in interface TypeDescription
TypeDefinition.Sort.NON_GENERIC
),
parameterized types (TypeDefinition.Sort.PARAMETERIZED
) or generic array types (TypeDefinition.Sort.GENERIC_ARRAY
) types. Generic array
types never define methods and the returned list is always empty for such types.public MethodList<MethodDescription.InDefinedShape> getDeclaredMethods()
TypeDefinition
getDeclaredMethods
in interface TypeDefinition
getDeclaredMethods
in interface TypeDescription
public boolean isAnonymousClass()
TypeDescription
isAnonymousClass
in interface TypeDescription
true
if this type description represents an anonymous type.public boolean isLocalClass()
TypeDescription
isLocalClass
in interface TypeDescription
true
if this type description represents a local type.public boolean isMemberClass()
TypeDescription
isMemberClass
in interface TypeDescription
true
if this type description represents a member type.public PackageDescription getPackage()
TypeDescription
getPackage
in interface TypeDescription
public TypeDescription getEnclosingType()
TypeDescription
getEnclosingType
in interface TypeDescription
null
if there is no such type.public TypeDescription getDeclaringType()
DeclaredByType
getDeclaringType
in interface DeclaredByType
getDeclaringType
in interface TypeDescription
null
if no such type exists.public TypeList getDeclaredTypes()
TypeDescription
getDeclaredTypes
in interface TypeDescription
public MethodDescription getEnclosingMethod()
TypeDescription
null
is returned by this method.getEnclosingMethod
in interface TypeDescription
null
if there is no such method.public String getGenericSignature()
ByteCodeElement
null
is returned as a signature.getGenericSignature
in interface ByteCodeElement
getGenericSignature
in class TypeDescription.AbstractBase
null
if this element is not generic.public int getActualModifiers(boolean superFlag)
TypeDescription
private
.
but it modifiers might reflect this property nevertheless if a class was defined as a private inner class. The
returned modifiers take also into account if the type is marked as Deprecated
. Anonymous classes that are
enclosed in a static method or the type initializer are additionally marked as final
as it is also done
by the Java compiler.getActualModifiers
in interface TypeDescription
getActualModifiers
in class TypeDescription.AbstractBase
superFlag
- true
if the modifier's super flag should be set.public InstrumentedType.WithFlexibleName withField(FieldDescription.Token token)
InstrumentedType
withField
in interface InstrumentedType
withField
in interface InstrumentedType.WithFlexibleName
token
- A token that represents the field's shape. This token must represent types in their detached state.public InstrumentedType.WithFlexibleName withMethod(MethodDescription.Token token)
InstrumentedType
withMethod
in interface InstrumentedType
withMethod
in interface InstrumentedType.WithFlexibleName
token
- A token that represents the method's shape. This token must represent types in their detached state.public InstrumentedType.WithFlexibleName withModifiers(int modifiers)
InstrumentedType
withModifiers
in interface InstrumentedType
withModifiers
in interface InstrumentedType.WithFlexibleName
modifiers
- The instrumented type's modifiers.public InstrumentedType.WithFlexibleName withInterfaces(TypeList.Generic interfaceTypes)
InstrumentedType
withInterfaces
in interface InstrumentedType
withInterfaces
in interface InstrumentedType.WithFlexibleName
interfaceTypes
- The interface types to implement.public InstrumentedType.WithFlexibleName withTypeVariable(TypeVariableToken typeVariable)
InstrumentedType
withTypeVariable
in interface InstrumentedType
withTypeVariable
in interface InstrumentedType.WithFlexibleName
typeVariable
- The type variable to declare.public InstrumentedType.WithFlexibleName withAnnotations(List<? extends AnnotationDescription> annotationDescriptions)
InstrumentedType
withAnnotations
in interface InstrumentedType
withAnnotations
in interface InstrumentedType.WithFlexibleName
annotationDescriptions
- The annotations to add to the instrumented type.public InstrumentedType.WithFlexibleName withInitializer(LoadedTypeInitializer loadedTypeInitializer)
InstrumentedType
LoadedTypeInitializer
.withInitializer
in interface InstrumentedType
withInitializer
in interface InstrumentedType.WithFlexibleName
loadedTypeInitializer
- The type initializer to include.public InstrumentedType.WithFlexibleName withInitializer(ByteCodeAppender byteCodeAppender)
InstrumentedType
withInitializer
in interface InstrumentedType
withInitializer
in interface InstrumentedType.WithFlexibleName
byteCodeAppender
- The byte code to add to the type initializer.public InstrumentedType.WithFlexibleName withName(String name)
InstrumentedType.WithFlexibleName
withName
in interface InstrumentedType.WithFlexibleName
name
- The name of the instrumented type.public InstrumentedType.WithFlexibleName withTypeVariables(ElementMatcher<? super TypeDescription.Generic> matcher, Transformer<TypeVariableToken> transformer)
InstrumentedType.WithFlexibleName
withTypeVariables
in interface InstrumentedType.WithFlexibleName
matcher
- The matcher to decide what type variables to transform.transformer
- The transformer to apply on all matched type variables.public LoadedTypeInitializer getLoadedTypeInitializer()
InstrumentedType
LoadedTypeInitializer
s that were registered
for this instrumented type.getLoadedTypeInitializer
in interface InstrumentedType
public TypeInitializer getTypeInitializer()
InstrumentedType
getTypeInitializer
in interface InstrumentedType
public TypeDescription validated()
InstrumentedType
validated
in interface InstrumentedType
Copyright © 2014–2018. All rights reserved.