Interface ArgumentsAccessor

  • All Known Implementing Classes:
    DefaultArgumentsAccessor


    @API(status=EXPERIMENTAL,
         since="5.2")
    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.

    Since:
    5.2
    See Also:
    ArgumentsAggregator, ParameterizedTest
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.lang.Object get​(int index)
      Get the value of the argument at the given index as an Object.
      <T> T get​(int index, java.lang.Class<T> requiredType)
      Get the value of the argument at the given index as an instance of the required type.
      java.lang.Boolean getBoolean​(int index)
      Get the value of the argument at the given index as a Boolean, performing automatic type conversion as necessary.
      java.lang.Byte getByte​(int index)
      Get the value of the argument at the given index as a Byte, performing automatic type conversion as necessary.
      java.lang.Character getCharacter​(int index)
      Get the value of the argument at the given index as a Character, performing automatic type conversion as necessary.
      java.lang.Double getDouble​(int index)
      Get the value of the argument at the given index as a Double, performing automatic type conversion as necessary.
      java.lang.Float getFloat​(int index)
      Get the value of the argument at the given index as a Float, performing automatic type conversion as necessary.
      java.lang.Integer getInteger​(int index)
      Get the value of the argument at the given index as a Integer, performing automatic type conversion as necessary.
      java.lang.Long getLong​(int index)
      Get the value of the argument at the given index as a Long, performing automatic type conversion as necessary.
      java.lang.Short getShort​(int index)
      Get the value of the argument at the given index as a Short, performing automatic type conversion as necessary.
      java.lang.String getString​(int index)
      Get the value of the argument at the given index as a String, performing automatic type conversion as necessary.
      int size​()
      Get the number of arguments in this accessor.
      java.lang.Object[] toArray​()
      Get all arguments in this accessor as an array.
      java.util.List<java.lang.Object> toList​()
      Get all arguments in this accessor as an immutable list.
    • Method Detail

      • get

        java.lang.Object get​(int index)
                      throws ArgumentsAccessorException
        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:
        ArgumentsAccessorException
      • get

        <T> T get​(int index,
                  java.lang.Class<T> requiredType)
           throws ArgumentsAccessorException
        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:
        ArgumentsAccessorException
      • getCharacter

        java.lang.Character getCharacter​(int index)
                                  throws ArgumentsAccessorException
        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:
        ArgumentsAccessorException - if the value cannot be accessed or converted to the desired type
      • getBoolean

        java.lang.Boolean getBoolean​(int index)
                              throws ArgumentsAccessorException
        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:
        ArgumentsAccessorException - if the value cannot be accessed or converted to the desired type
      • getByte

        java.lang.Byte getByte​(int index)
                        throws ArgumentsAccessorException
        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:
        ArgumentsAccessorException - if the value cannot be accessed or converted to the desired type
      • getShort

        java.lang.Short getShort​(int index)
                          throws ArgumentsAccessorException
        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:
        ArgumentsAccessorException - if the value cannot be accessed or converted to the desired type
      • getInteger

        java.lang.Integer getInteger​(int index)
                              throws ArgumentsAccessorException
        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:
        ArgumentsAccessorException - if the value cannot be accessed or converted to the desired type
      • getLong

        java.lang.Long getLong​(int index)
                        throws ArgumentsAccessorException
        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:
        ArgumentsAccessorException - if the value cannot be accessed or converted to the desired type
      • getFloat

        java.lang.Float getFloat​(int index)
                          throws ArgumentsAccessorException
        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:
        ArgumentsAccessorException - if the value cannot be accessed or converted to the desired type
      • getDouble

        java.lang.Double getDouble​(int index)
                            throws ArgumentsAccessorException
        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:
        ArgumentsAccessorException - if the value cannot be accessed or converted to the desired type
      • getString

        java.lang.String getString​(int index)
                            throws ArgumentsAccessorException
        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:
        ArgumentsAccessorException - if the value cannot be accessed or converted to the desired type
      • size

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

        java.lang.Object[] toArray​()
        Get all arguments in this accessor as an array.
      • toList

        java.util.List<java.lang.Object> toList​()
        Get all arguments in this accessor as an immutable list.