Interface ArgumentsAccessor

All Known Implementing Classes:
DefaultArgumentsAccessor

@API(status=STABLE, since="5.7") public interface ArgumentsAccessor
ArgumentsAccessor defines the public API for accessing arguments provided by an ArgumentsProvider for a single invocation of a @ParameterizedTest method.

Specifically, an ArgumentsAccessor aggregates a set of arguments for a given invocation of a parameterized test and provides convenience methods for accessing those arguments in a type-safe manner with support for automatic type conversion.

An instance of ArgumentsAccessor will be automatically supplied for any parameter of type ArgumentsAccessor in a parameterized test. In addition, ArgumentsAggregator implementations are given access to an ArgumentsAccessor.

This interface is not intended to be implemented by clients.

Additional Kotlin arguments accessors can be found as extension functions in the org.junit.jupiter.params.aggregator package.

Since:
5.2
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    @Nullable Object
    get(int index)
    Get the value of the argument at the given index as an Object.
    <T> @Nullable T
    get(int index, Class<T> requiredType)
    Get the value of the argument at the given index as an instance of the required type.
    @Nullable Boolean
    getBoolean(int index)
    Get the value of the argument at the given index as a Boolean, performing automatic type conversion as necessary.
    @Nullable Byte
    getByte(int index)
    Get the value of the argument at the given index as a Byte, performing automatic type conversion as necessary.
    @Nullable Character
    getCharacter(int index)
    Get the value of the argument at the given index as a Character, performing automatic type conversion as necessary.
    @Nullable Double
    getDouble(int index)
    Get the value of the argument at the given index as a Double, performing automatic type conversion as necessary.
    @Nullable Float
    getFloat(int index)
    Get the value of the argument at the given index as a Float, performing automatic type conversion as necessary.
    @Nullable Integer
    getInteger(int index)
    Get the value of the argument at the given index as a Integer, performing automatic type conversion as necessary.
    int
    Get the index of the current test invocation.
    @Nullable Long
    getLong(int index)
    Get the value of the argument at the given index as a Long, performing automatic type conversion as necessary.
    @Nullable Short
    getShort(int index)
    Get the value of the argument at the given index as a Short, performing automatic type conversion as necessary.
    @Nullable String
    getString(int index)
    Get the value of the argument at the given index as a String, performing automatic type conversion as necessary.
    int
    Get the number of arguments in this accessor.
    @Nullable Object[]
    Get all arguments in this accessor as an array.
    List<@Nullable Object>
    Get all arguments in this accessor as an immutable list.
  • Method Details

    • get

      @Nullable Object get(int index) throws ArgumentAccessException
      Get the value of the argument at the given index as an Object.
      Parameters:
      index - the index of the argument to get; must be greater than or equal to zero and less than size()
      Returns:
      the value at the given index, potentially null
      Throws:
      ArgumentAccessException
    • get

      <T> @Nullable T get(int index, Class<T> requiredType) throws ArgumentAccessException
      Get the value of the argument at the given index as an instance of the required type.
      Parameters:
      index - the index of the argument to get; must be greater than or equal to zero and less than size()
      requiredType - the required type of the value; never null
      Returns:
      the value at the given index, potentially null
      Throws:
      ArgumentAccessException
    • getCharacter

      @Nullable Character getCharacter(int index) throws ArgumentAccessException
      Get the value of the argument at the given index as a Character, performing automatic type conversion as necessary.
      Parameters:
      index - the index of the argument to get; must be greater than or equal to zero and less than size()
      Returns:
      the value at the given index, potentially null
      Throws:
      ArgumentAccessException - if the value cannot be accessed or converted to the desired type
    • getBoolean

      @Nullable Boolean getBoolean(int index) throws ArgumentAccessException
      Get the value of the argument at the given index as a Boolean, performing automatic type conversion as necessary.
      Parameters:
      index - the index of the argument to get; must be greater than or equal to zero and less than size()
      Returns:
      the value at the given index, potentially null
      Throws:
      ArgumentAccessException - if the value cannot be accessed or converted to the desired type
    • getByte

      @Nullable Byte getByte(int index) throws ArgumentAccessException
      Get the value of the argument at the given index as a Byte, performing automatic type conversion as necessary.
      Parameters:
      index - the index of the argument to get; must be greater than or equal to zero and less than size()
      Returns:
      the value at the given index, potentially null
      Throws:
      ArgumentAccessException - if the value cannot be accessed or converted to the desired type
    • getShort

      @Nullable Short getShort(int index) throws ArgumentAccessException
      Get the value of the argument at the given index as a Short, performing automatic type conversion as necessary.
      Parameters:
      index - the index of the argument to get; must be greater than or equal to zero and less than size()
      Returns:
      the value at the given index, potentially null
      Throws:
      ArgumentAccessException - if the value cannot be accessed or converted to the desired type
    • getInteger

      @Nullable Integer getInteger(int index) throws ArgumentAccessException
      Get the value of the argument at the given index as a Integer, performing automatic type conversion as necessary.
      Parameters:
      index - the index of the argument to get; must be greater than or equal to zero and less than size()
      Returns:
      the value at the given index, potentially null
      Throws:
      ArgumentAccessException - if the value cannot be accessed or converted to the desired type
    • getLong

      @Nullable Long getLong(int index) throws ArgumentAccessException
      Get the value of the argument at the given index as a Long, performing automatic type conversion as necessary.
      Parameters:
      index - the index of the argument to get; must be greater than or equal to zero and less than size()
      Returns:
      the value at the given index, potentially null
      Throws:
      ArgumentAccessException - if the value cannot be accessed or converted to the desired type
    • getFloat

      @Nullable Float getFloat(int index) throws ArgumentAccessException
      Get the value of the argument at the given index as a Float, performing automatic type conversion as necessary.
      Parameters:
      index - the index of the argument to get; must be greater than or equal to zero and less than size()
      Returns:
      the value at the given index, potentially null
      Throws:
      ArgumentAccessException - if the value cannot be accessed or converted to the desired type
    • getDouble

      @Nullable Double getDouble(int index) throws ArgumentAccessException
      Get the value of the argument at the given index as a Double, performing automatic type conversion as necessary.
      Parameters:
      index - the index of the argument to get; must be greater than or equal to zero and less than size()
      Returns:
      the value at the given index, potentially null
      Throws:
      ArgumentAccessException - if the value cannot be accessed or converted to the desired type
    • getString

      @Nullable String getString(int index) throws ArgumentAccessException
      Get the value of the argument at the given index as a String, performing automatic type conversion as necessary.
      Parameters:
      index - the index of the argument to get; must be greater than or equal to zero and less than size()
      Returns:
      the value at the given index, potentially null
      Throws:
      ArgumentAccessException - if the value cannot be accessed or converted to the desired type
    • size

      int size()
      Get the number of arguments in this accessor.
    • toArray

      @Nullable Object[] toArray()
      Get all arguments in this accessor as an array.
    • toList

      List<@Nullable Object> toList()
      Get all arguments in this accessor as an immutable list.
    • getInvocationIndex

      int getInvocationIndex()
      Get the index of the current test invocation.