public interface MethodDescription extends TypeVariableSource, ModifierReviewable.ForMethodDescription, NamedElement.WithGenericName, ByteCodeElement, ByteCodeElement.TypeDependant<MethodDescription.InDefinedShape,MethodDescription.Token>
equal(Object)
and hashCode()
implementations.Modifier and Type | Interface and Description |
---|---|
static class |
MethodDescription.AbstractBase
An abstract base implementation of a method description.
|
static class |
MethodDescription.ForLoadedConstructor
An implementation of a method description for a loaded constructor.
|
static class |
MethodDescription.ForLoadedMethod
An implementation of a method description for a loaded method.
|
static interface |
MethodDescription.InDefinedShape
Represents a method in its defined shape, i.e. in the form it is defined by a class without its type variables being resolved.
|
static interface |
MethodDescription.InGenericShape
Represents a method description in its generic shape, i.e. in the shape it is defined by a generic or raw type.
|
static class |
MethodDescription.Latent
A latent method description describes a method that is not attached to a declaring
TypeDescription . |
static class |
MethodDescription.SignatureToken
A token representing a method's name and raw return and parameter types.
|
static class |
MethodDescription.Token
A token representing a method's properties detached from a type.
|
static class |
MethodDescription.TypeSubstituting
A method description that represents a given method but with substituted method types.
|
static class |
MethodDescription.TypeToken
A token representing a method's erased return and parameter types.
|
TypeVariableSource.Visitor<T>
ModifierReviewable.ForFieldDescription, ModifierReviewable.ForMethodDescription, ModifierReviewable.ForParameterDescription, ModifierReviewable.ForTypeDefinition, ModifierReviewable.OfAbstraction, ModifierReviewable.OfByteCodeElement, ModifierReviewable.OfEnumeration
ByteCodeElement.TypeDependant<T extends ByteCodeElement.TypeDependant<?,S>,S extends ByteCodeElement.Token<S>>
NamedElement.WithGenericName, NamedElement.WithOptionalName, NamedElement.WithRuntimeName
Modifier and Type | Field and Description |
---|---|
static String |
CONSTRUCTOR_INTERNAL_NAME
The internal name of a Java constructor.
|
static String |
TYPE_INITIALIZER_INTERNAL_NAME
The internal name of a Java static initializer.
|
static int |
TYPE_INITIALIZER_MODIFIER
The type initializer of any representation of a type initializer.
|
static MethodDescription |
UNDEFINED
Represents any undefined property of a type description that is instead represented as
null in order
to resemble the Java reflection API which returns null and is intuitive to many Java developers. |
EMPTY_MASK
NON_GENERIC_SIGNATURE
EMPTY_NAME, NO_NAME
Modifier and Type | Method and Description |
---|---|
MethodDescription.SignatureToken |
asSignatureToken()
Returns a signature token representing this method.
|
MethodDescription.TypeToken |
asTypeToken()
Returns a type token that represents this method's raw return and parameter types.
|
int |
getActualModifiers()
Returns this method's actual modifiers as it is present in a class file, i.e. includes a flag if this method
is marked
Deprecated . |
int |
getActualModifiers(boolean nonAbstract)
Returns this method's actual modifiers as it is present in a class file, i.e. includes a flag if this method
is marked
Deprecated and adjusts the modifiers for being abstract or not. |
int |
getActualModifiers(boolean nonAbstract,
Visibility visibility)
Returns this method's actual modifiers as it is present in a class file, i.e. includes a flag if this method
is marked
Deprecated and adjusts the modifiers for being abstract or not. |
AnnotationValue<?,?> |
getDefaultValue()
Returns the method's default annotation value or
null if no default value is defined for this method. |
<T> T |
getDefaultValue(Class<T> type)
Returns the default value but casts it to the given type.
|
TypeList.Generic |
getExceptionTypes()
Returns the exception types of the described method.
|
ParameterList<?> |
getParameters()
Returns a list of this method's parameters.
|
TypeDescription.Generic |
getReceiverType()
Returns this methods receiver type.
|
TypeDescription.Generic |
getReturnType()
Returns the return type of the described method.
|
int |
getStackSize()
Returns the size of the local variable array that is required for this method, i.e. the size of all parameters
if they were loaded on the stack including a reference to
this if this method represented a non-static
method. |
boolean |
isBootstrap()
Checks if the method is a bootstrap method.
|
boolean |
isBootstrap(List<?> arguments)
Checks if the method is a bootstrap method that accepts the given arguments.
|
boolean |
isBridgeCompatible(MethodDescription.TypeToken typeToken)
Validates that the supplied type token can implement a bridge method to this method.
|
boolean |
isConstructor()
Checks if this method description represents a constructor.
|
boolean |
isDefaultMethod()
Checks if this method represents a default (defender) method.
|
boolean |
isDefaultValue()
Checks if this method is capable of defining a default annotation value.
|
boolean |
isDefaultValue(AnnotationValue<?,?> annotationValue)
Checks if the given value can describe a default annotation value for this method.
|
boolean |
isInvokableOn(TypeDescription typeDescription)
Asserts if this method is invokable on an instance of the given type, i.e. the method is an instance method or
a constructor and the method is visible to the type and can be invoked on the given instance.
|
boolean |
isMethod()
Checks if this method description represents a method, i.e. not a constructor or a type initializer.
|
boolean |
isSpecializableFor(TypeDescription typeDescription)
Checks if this method can be called using the
INVOKESPECIAL for a given type. |
boolean |
isTypeInitializer()
Checks if this method is a type initializer.
|
boolean |
isVirtual()
Verifies if this method describes a virtual method, i.e. a method that is inherited by a sub type of this type.
|
boolean |
represents(Constructor<?> constructor)
Verifies if a method description represents a given loaded constructor.
|
boolean |
represents(Method method)
Verifies if a method description represents a given loaded method.
|
accept, findVariable, getEnclosingSource, getTypeVariables, isGenericDeclaration
getMethodManifestation, getMethodStrictness, getSynchronizationState, isBridge, isNative, isStrict, isSynchronized, isVarArgs
isAbstract
getOwnership, getVisibility, isDeprecated, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic
getModifiers, getSyntheticState, isFinal, isSynthetic
toGenericString
getDescriptor, getGenericSignature, isVisibleTo
getInternalName, getName
getActualName
getDeclaringType
getDeclaredAnnotations
asDefined, asToken
static final String CONSTRUCTOR_INTERNAL_NAME
static final String TYPE_INITIALIZER_INTERNAL_NAME
static final int TYPE_INITIALIZER_MODIFIER
static final MethodDescription UNDEFINED
null
in order
to resemble the Java reflection API which returns null
and is intuitive to many Java developers.TypeDescription.Generic getReturnType()
ParameterList<?> getParameters()
TypeList.Generic getExceptionTypes()
int getActualModifiers()
Deprecated
.int getActualModifiers(boolean nonAbstract)
Deprecated
and adjusts the modifiers for being abstract or not.nonAbstract
- true
if the method should be treated as non-abstract.int getActualModifiers(boolean nonAbstract, Visibility visibility)
Deprecated
and adjusts the modifiers for being abstract or not. Additionally, this method
resolves a required minimal visibility.nonAbstract
- true
if the method should be treated as non-abstract.visibility
- The minimal visibility to enforce for this method.boolean isConstructor()
true
if this method description represents a constructor.boolean isMethod()
true
if this method description represents a method.boolean isTypeInitializer()
true
if this method description represents a type initializer.boolean represents(Method method)
method
- The method to be checked.true
if this method description represents the given loaded method.boolean represents(Constructor<?> constructor)
constructor
- The constructor to be checked.true
if this method description represents the given loaded constructor.boolean isVirtual()
true
if this method is virtual.int getStackSize()
this
if this method represented a non-static
method.boolean isDefaultMethod()
true
if this method is a default method.boolean isSpecializableFor(TypeDescription typeDescription)
INVOKESPECIAL
for a given type.typeDescription
- The type otrue
if this method can be called using the INVOKESPECIAL
instruction
using the given type.AnnotationValue<?,?> getDefaultValue()
null
if no default value is defined for this method.null
if no default value is defined for this method.<T> T getDefaultValue(Class<T> type)
ClassCastException
is thrown.T
- The type to cast the default value to.type
- The type to cast the default value to.boolean isInvokableOn(TypeDescription typeDescription)
typeDescription
- The type to check.true
if this method is invokable on an instance of the given type.boolean isBootstrap()
true
if the method is a bootstrap method.boolean isBootstrap(List<?> arguments)
arguments
- The arguments that the bootstrap method is expected to accept where primitive values
are to be represented as their wrapper types, loaded types by TypeDescription
,
method handles by JavaConstant.MethodHandle
instances and
method types by JavaConstant.MethodType
instances.true
if the method is a bootstrap method that accepts the given arguments.boolean isDefaultValue()
true
if it is possible to define a default annotation value for this method.boolean isDefaultValue(AnnotationValue<?,?> annotationValue)
annotationValue
- The value that describes the default annotation value for this method.true
if the given value can describe a default annotation value for this method.TypeDescription.Generic getReceiverType()
static
methods
where null
is returned. Other than a receiver type that is provided by the Java reflection
API, Byte Buddy is capable of extracting annotations on type parameters of receiver types when
directly accessing a class file. Therefore, a receiver type might be parameterized.MethodDescription.SignatureToken asSignatureToken()
MethodDescription.TypeToken asTypeToken()
boolean isBridgeCompatible(MethodDescription.TypeToken typeToken)
typeToken
- A type token representing a potential bridge method to this method.true
if the supplied type token can represent a bridge method to this method.Copyright © 2014–2016. All rights reserved.