Package net.bytebuddy.description.method
Class ParameterDescription.ForLoadedParameter<T extends java.lang.reflect.AccessibleObject>
- java.lang.Object
-
- net.bytebuddy.description.ModifierReviewable.AbstractBase
-
- net.bytebuddy.description.method.ParameterDescription.AbstractBase
-
- net.bytebuddy.description.method.ParameterDescription.InDefinedShape.AbstractBase
-
- net.bytebuddy.description.method.ParameterDescription.ForLoadedParameter<T>
-
- Type Parameters:
T- The type of thejava.lang.reflect.Executablethat this list represents.
- All Implemented Interfaces:
AnnotationSource,ByteCodeElement.TypeDependant<ParameterDescription.InDefinedShape,ParameterDescription.Token>,ParameterDescription,ParameterDescription.InDefinedShape,ModifierReviewable,ModifierReviewable.ForFieldDescription,ModifierReviewable.ForMethodDescription,ModifierReviewable.ForModuleDescription,ModifierReviewable.ForModuleRequirement,ModifierReviewable.ForParameterDescription,ModifierReviewable.ForTypeDefinition,ModifierReviewable.OfAbstraction,ModifierReviewable.OfByteCodeElement,ModifierReviewable.OfEnumeration,ModifierReviewable.OfMandatable,NamedElement,NamedElement.WithOptionalName,NamedElement.WithRuntimeName
- Direct Known Subclasses:
ParameterDescription.ForLoadedParameter.OfConstructor,ParameterDescription.ForLoadedParameter.OfMethod
- Enclosing interface:
- ParameterDescription
public abstract static class ParameterDescription.ForLoadedParameter<T extends java.lang.reflect.AccessibleObject> extends ParameterDescription.InDefinedShape.AbstractBase
Description of a loaded parameter with support for the information exposed byjava.lang.reflect.Parameter.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classParameterDescription.ForLoadedParameter.OfConstructorA description of a loadedConstructorparameter for a modern VM.protected static classParameterDescription.ForLoadedParameter.OfLegacyVmConstructorDescription of a loaded constructor's parameter on a virtual machine wherejava.lang.reflect.Parameteris not available.protected static classParameterDescription.ForLoadedParameter.OfLegacyVmMethodDescription of a loaded method's parameter on a virtual machine wherejava.lang.reflect.Parameteris not available.protected static classParameterDescription.ForLoadedParameter.OfMethodA description of a loadedMethodparameter for a modern VM.protected static interfaceParameterDescription.ForLoadedParameter.ParameterA proxy for ajava.lang.reflect.Parameter.static interfaceParameterDescription.ForLoadedParameter.ParameterAnnotationSourceA source for querying parameter annotations.-
Nested classes/interfaces inherited from interface net.bytebuddy.description.annotation.AnnotationSource
AnnotationSource.Empty, AnnotationSource.Explicit
-
Nested classes/interfaces inherited from interface net.bytebuddy.description.ModifierReviewable
ModifierReviewable.AbstractBase, ModifierReviewable.ForFieldDescription, ModifierReviewable.ForMethodDescription, ModifierReviewable.ForModuleDescription, ModifierReviewable.ForModuleRequirement, ModifierReviewable.ForParameterDescription, ModifierReviewable.ForTypeDefinition, ModifierReviewable.OfAbstraction, ModifierReviewable.OfByteCodeElement, ModifierReviewable.OfEnumeration, ModifierReviewable.OfMandatable
-
Nested classes/interfaces inherited from interface net.bytebuddy.description.NamedElement
NamedElement.WithDescriptor, NamedElement.WithGenericName, NamedElement.WithOptionalName, NamedElement.WithRuntimeName
-
Nested classes/interfaces inherited from interface net.bytebuddy.description.method.ParameterDescription
ParameterDescription.AbstractBase, ParameterDescription.ForLoadedParameter<T extends java.lang.reflect.AccessibleObject>, ParameterDescription.InDefinedShape, ParameterDescription.InGenericShape, ParameterDescription.Latent, ParameterDescription.Token, ParameterDescription.TypeSubstituting
-
Nested classes/interfaces inherited from interface net.bytebuddy.description.method.ParameterDescription.InDefinedShape
ParameterDescription.InDefinedShape.AbstractBase
-
-
Field Summary
Fields Modifier and Type Field Description protected TexecutableThejava.lang.reflect.Executablefor which the parameter types are described.protected intindexThe parameter's index.private static java.lang.StringMALFORMED_PARAMETERS_EXCEPTIONThe name of thejava.lang.reflect.MalformedParametersException.private static ParameterDescription.ForLoadedParameter.ParameterPARAMETERA dispatcher for reading properties fromjava.lang.reflect.Parameterinstances.protected ParameterDescription.ForLoadedParameter.ParameterAnnotationSourceparameterAnnotationSourceThe parameter annotation source to query.-
Fields inherited from interface net.bytebuddy.description.ModifierReviewable
EMPTY_MASK
-
Fields inherited from interface net.bytebuddy.description.NamedElement
EMPTY_NAME, NO_NAME
-
Fields inherited from interface net.bytebuddy.description.method.ParameterDescription
NAME_PREFIX
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedForLoadedParameter(T executable, int index, ParameterDescription.ForLoadedParameter.ParameterAnnotationSource parameterAnnotationSource)Creates a new description for a loaded parameter.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static <T> TdoPrivileged(java.security.PrivilegedAction<T> action)A proxy forjava.security.AccessController#doPrivilegedthat is activated if available.intgetIndex()Returns this parameter's index.intgetModifiers()Returns the modifier that is described by this object.java.lang.StringgetName()Returns the binary name of this byte code element.booleanhasModifiers()Checks if this parameter has an explicit modifier.booleanisNamed()Returnstrueif this element has an explicit name.-
Methods inherited from class net.bytebuddy.description.method.ParameterDescription.InDefinedShape.AbstractBase
asDefined
-
Methods inherited from class net.bytebuddy.description.method.ParameterDescription.AbstractBase
asToken, equals, getActualName, getInternalName, getOffset, hashCode, toString
-
Methods inherited from class net.bytebuddy.description.ModifierReviewable.AbstractBase
getEnumerationState, getFieldManifestation, getFieldPersistence, getMandate, getMethodManifestation, getMethodStrictness, getOpenness, getOwnership, getParameterManifestation, getProvisioningState, getRequiredPhase, getSynchronizationState, getSyntheticState, getTransitivity, getTypeManifestation, getVisibility, isAbstract, isAnnotation, isBridge, isDeprecated, isEnum, isFinal, isInterface, isMandated, isNative, isOpen, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, isStaticPhase, isStrict, isSynchronized, isSynthetic, isTransient, isTransitive, isVarArgs, isVolatile
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.bytebuddy.description.annotation.AnnotationSource
getDeclaredAnnotations
-
Methods inherited from interface net.bytebuddy.description.ByteCodeElement.TypeDependant
asToken
-
Methods inherited from interface net.bytebuddy.description.ModifierReviewable
getSyntheticState, isFinal, isSynthetic
-
Methods inherited from interface net.bytebuddy.description.ModifierReviewable.ForParameterDescription
getParameterManifestation, getProvisioningState
-
Methods inherited from interface net.bytebuddy.description.ModifierReviewable.OfMandatable
getMandate, isMandated
-
Methods inherited from interface net.bytebuddy.description.NamedElement
getActualName
-
Methods inherited from interface net.bytebuddy.description.NamedElement.WithRuntimeName
getInternalName
-
Methods inherited from interface net.bytebuddy.description.method.ParameterDescription
getOffset, getType
-
Methods inherited from interface net.bytebuddy.description.method.ParameterDescription.InDefinedShape
getDeclaringMethod
-
-
-
-
Field Detail
-
MALFORMED_PARAMETERS_EXCEPTION
private static final java.lang.String MALFORMED_PARAMETERS_EXCEPTION
The name of thejava.lang.reflect.MalformedParametersException. Due to compiler bugs, parameter declarations might not always be legal, and by checking for this exception, one can trigger a fallback behaviour.- See Also:
- Constant Field Values
-
PARAMETER
private static final ParameterDescription.ForLoadedParameter.Parameter PARAMETER
A dispatcher for reading properties fromjava.lang.reflect.Parameterinstances.
-
executable
protected final T extends java.lang.reflect.AccessibleObject executable
Thejava.lang.reflect.Executablefor which the parameter types are described.
-
index
protected final int index
The parameter's index.
-
parameterAnnotationSource
protected final ParameterDescription.ForLoadedParameter.ParameterAnnotationSource parameterAnnotationSource
The parameter annotation source to query.
-
-
Constructor Detail
-
ForLoadedParameter
protected ForLoadedParameter(T executable, int index, ParameterDescription.ForLoadedParameter.ParameterAnnotationSource parameterAnnotationSource)
Creates a new description for a loaded parameter.- Parameters:
executable- Thejava.lang.reflect.Executablefor which the parameter types are described.index- The parameter's index.parameterAnnotationSource- The parameter annotation source to query.
-
-
Method Detail
-
doPrivileged
@Enhance private static <T> T doPrivileged(java.security.PrivilegedAction<T> action)
A proxy forjava.security.AccessController#doPrivilegedthat is activated if available.- Type Parameters:
T- The type of the action's resolved value.- Parameters:
action- The action to execute from a privileged context.- Returns:
- The action's resolved value.
-
getName
public java.lang.String getName()
Returns the binary name of this byte code element. If no well-defined internal name is known for this element, the actual name is returned.- Specified by:
getNamein interfaceNamedElement.WithRuntimeName- Overrides:
getNamein classParameterDescription.AbstractBase- Returns:
- The binary ame of this byte code element as visible from within a running Java application.
-
getIndex
public int getIndex()
Returns this parameter's index.- Returns:
- The index of this parameter.
-
isNamed
public boolean isNamed()
Returnstrueif this element has an explicit name.- Returns:
trueif this element has an explicit name.
-
getModifiers
public int getModifiers()
Returns the modifier that is described by this object.- Specified by:
getModifiersin interfaceModifierReviewable- Overrides:
getModifiersin classParameterDescription.AbstractBase- Returns:
- The modifier that is described by this object.
-
hasModifiers
public boolean hasModifiers()
Checks if this parameter has an explicit modifier. A parameter without a modifier is simply treated as if it had a modifier of zero.- Returns:
trueif this parameter defines explicit modifiers.
-
-