Class ReturnsArgumentAt
- java.lang.Object
-
- org.mockito.internal.stubbing.answers.ReturnsArgumentAt
-
- All Implemented Interfaces:
java.io.Serializable
,Answer<java.lang.Object>
,ValidableAnswer
public class ReturnsArgumentAt extends java.lang.Object implements Answer<java.lang.Object>, ValidableAnswer, java.io.Serializable
Returns the passed parameter identity at specified index.The
argumentIndex
represents the index in the argument array of the invocation.If this number equals -1 then the last argument is returned.
- Since:
- 1.9.5
- See Also:
AdditionalAnswers
, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static int
LAST_ARGUMENT
private static long
serialVersionUID
private int
wantedArgumentPosition
-
Constructor Summary
Constructors Constructor Description ReturnsArgumentAt(int wantedArgumentPosition)
Build the identity answer to return the argument at the given position in the argument array.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
answer(InvocationOnMock invocation)
private java.lang.Class<?>
inferArgumentType(Invocation invocation, int argumentIndex)
private int
inferWantedArgumentPosition(InvocationOnMock invocation)
private void
validateArgumentTypeCompatibility(Invocation invocation, int argumentPosition)
void
validateFor(InvocationOnMock invocation)
Validation of the answer at stub time for the given invocation.private void
validateIndexWithinInvocationRange(InvocationOnMock invocation, int argumentPosition)
private boolean
wantedArgIndexIsVarargAndSameTypeAsReturnType(java.lang.reflect.Method method, int argumentPosition)
private boolean
wantedArgumentPositionIsValidForInvocation(InvocationOnMock invocation, int argumentPosition)
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
LAST_ARGUMENT
public static final int LAST_ARGUMENT
- See Also:
- Constant Field Values
-
wantedArgumentPosition
private final int wantedArgumentPosition
-
-
Constructor Detail
-
ReturnsArgumentAt
public ReturnsArgumentAt(int wantedArgumentPosition)
Build the identity answer to return the argument at the given position in the argument array.- Parameters:
wantedArgumentPosition
- The position of the argument identity to return in the invocation. Using-1
indicates the last argument (LAST_ARGUMENT
).
-
-
Method Detail
-
answer
public java.lang.Object answer(InvocationOnMock invocation) throws java.lang.Throwable
-
validateFor
public void validateFor(InvocationOnMock invocation)
Description copied from interface:ValidableAnswer
Validation of the answer at stub time for the given invocation.This method will be called by Mockito.
The implementation must throw an MockitoException to indicate that this answer is not valid for the given invocation. If the validation succeed the implementation must simply return without throwing.
- Specified by:
validateFor
in interfaceValidableAnswer
- Parameters:
invocation
- The stubbed invocation
-
inferWantedArgumentPosition
private int inferWantedArgumentPosition(InvocationOnMock invocation)
-
validateIndexWithinInvocationRange
private void validateIndexWithinInvocationRange(InvocationOnMock invocation, int argumentPosition)
-
validateArgumentTypeCompatibility
private void validateArgumentTypeCompatibility(Invocation invocation, int argumentPosition)
-
wantedArgIndexIsVarargAndSameTypeAsReturnType
private boolean wantedArgIndexIsVarargAndSameTypeAsReturnType(java.lang.reflect.Method method, int argumentPosition)
-
wantedArgumentPositionIsValidForInvocation
private boolean wantedArgumentPositionIsValidForInvocation(InvocationOnMock invocation, int argumentPosition)
-
inferArgumentType
private java.lang.Class<?> inferArgumentType(Invocation invocation, int argumentIndex)
-
-