@HashCodeAndEqualsPlugin.Enhance public static class ParameterDescription.ForLoadedParameter.Dispatcher.ForJava8CapableVm extends java.lang.Object implements ParameterDescription.ForLoadedParameter.Dispatcher
java.lang.reflect.Parameter
API for Java 8+.ParameterDescription.ForLoadedParameter.Dispatcher.CreationAction, ParameterDescription.ForLoadedParameter.Dispatcher.ForJava8CapableVm, ParameterDescription.ForLoadedParameter.Dispatcher.ForLegacyVm
Modifier and Type | Field and Description |
---|---|
private java.lang.reflect.Method |
getModifiers
A reference to
java.lang.reflect.Parameter#getModifiers . |
private java.lang.reflect.Method |
getName
A reference to
java.lang.reflect.Parameter#getName . |
private java.lang.reflect.Method |
getParameters
A reference to
java.lang.reflect.Executable#getParameters . |
private java.lang.reflect.Method |
isNamePresent
A reference to
java.lang.reflect.Parameter#isNamePresent . |
private static java.lang.Object[] |
NO_ARGUMENTS
An empty array that can be used to indicate no arguments to avoid an allocation on a reflective call.
|
Modifier | Constructor and Description |
---|---|
protected |
ForJava8CapableVm(java.lang.reflect.Method getParameters,
java.lang.reflect.Method getName,
java.lang.reflect.Method isNamePresent,
java.lang.reflect.Method getModifiers)
Creates a new dispatcher for a modern VM.
|
Modifier and Type | Method and Description |
---|---|
int |
getModifiers(java.lang.reflect.AccessibleObject executable,
int index)
Returns the given parameter's modifiers.
|
java.lang.String |
getName(java.lang.reflect.AccessibleObject executable,
int index)
Returns the given parameter's implicit or explicit name.
|
private java.lang.Object |
getParameter(java.lang.reflect.AccessibleObject executable,
int index)
Returns the
java.lang.reflect.Parameter of an executable at a given index. |
boolean |
isNamePresent(java.lang.reflect.AccessibleObject executable,
int index)
Returns
true if the given parameter has an explicit name. |
private static final java.lang.Object[] NO_ARGUMENTS
private final java.lang.reflect.Method getParameters
java.lang.reflect.Executable#getParameters
.private final java.lang.reflect.Method getName
java.lang.reflect.Parameter#getName
.private final java.lang.reflect.Method isNamePresent
java.lang.reflect.Parameter#isNamePresent
.private final java.lang.reflect.Method getModifiers
java.lang.reflect.Parameter#getModifiers
.protected ForJava8CapableVm(java.lang.reflect.Method getParameters, java.lang.reflect.Method getName, java.lang.reflect.Method isNamePresent, java.lang.reflect.Method getModifiers)
getParameters
- A reference to java.lang.reflect.Executable#getTypeArguments
.getName
- A reference to java.lang.reflect.Parameter#getName
.isNamePresent
- A reference to java.lang.reflect.Parameter#isNamePresent
.getModifiers
- A reference to java.lang.reflect.Parameter#getModifiers
.public int getModifiers(java.lang.reflect.AccessibleObject executable, int index)
getModifiers
in interface ParameterDescription.ForLoadedParameter.Dispatcher
executable
- The executable to introspect.index
- The parameter's index.public boolean isNamePresent(java.lang.reflect.AccessibleObject executable, int index)
true
if the given parameter has an explicit name.isNamePresent
in interface ParameterDescription.ForLoadedParameter.Dispatcher
executable
- The parameter to introspect.index
- The parameter's index.true
if the given parameter has an explicit name.public java.lang.String getName(java.lang.reflect.AccessibleObject executable, int index)
getName
in interface ParameterDescription.ForLoadedParameter.Dispatcher
executable
- The parameter to introspect.index
- The parameter's index.private java.lang.Object getParameter(java.lang.reflect.AccessibleObject executable, int index)
java.lang.reflect.Parameter
of an executable at a given index.executable
- The executable for which a parameter should be read.index
- The index of the parameter.