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
      Object get​(int index)
      Get the value of the argument at the given index as an Object.
      <T> T get​(int index, Class<T> requiredType)
      Get the value of the argument at the given index as an instance of the required type.
      Boolean getBoolean​(int index)
      Get the value of the argument at the given index as a Boolean, performing automatic type conversion as necessary.
      Byte getByte​(int index)
      Get the value of the argument at the given index as a Byte, performing automatic type conversion as necessary.
      Character getCharacter​(int index)
      Get the value of the argument at the given index as a Character, performing automatic type conversion as necessary.
      Double getDouble​(int index)
      Get the value of the argument at the given index as a Double, performing automatic type conversion as necessary.
      Float getFloat​(int index)
      Get the value of the argument at the given index as a Float, performing automatic type conversion as necessary.
      Integer getInteger​(int index)
      Get the value of the argument at the given index as a Integer, performing automatic type conversion as necessary.
      Long getLong​(int index)
      Get the value of the argument at the given index as a Long, performing automatic type conversion as necessary.
      Short getShort​(int index)
      Get the value of the argument at the given index as a Short, performing automatic type conversion as necessary.
      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.
      Object[] toArray()
      Get all arguments in this accessor as an array.
      List<Object> toList()
      Get all arguments in this accessor as an immutable list.
    • Method Detail

      • get

        <T> T get​(int index,
                  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

        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

        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

        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

        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

        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

        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

        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

        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

        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

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

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