edu.northwestern.at.utils

## Class ArgumentList

- java.lang.Object
- - edu.northwestern.at.utils.ArgumentList

-     public class ArgumentList
      extends java.lang.Object

  ArgumentList.

  ArgumentList provides methods for building an argument list for use in a `DynamicCall`.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected int` | `argumentCount` Count of arguments.
    `protected java.lang.Object[]` | `arguments` Argument values.
    `protected java.lang.Class[]` | `classes` Class for each argument.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ArgumentList()` Construct empty argument for method taking no parameters.
    `ArgumentList(int argumentCount)` Construct argument list which can hold specified number of parameters.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Class[]` | `getArgumentClasses()` Get classes corresponding to each argument.
    `java.lang.Object[]` | `getArguments()` Get argument values as list of objects.
    `int` | `setArgument(boolean b)` Set the next argument to a boolean value.
    `int` | `setArgument(byte b)` Set the next argument to a byte value.
    `int` | `setArgument(char c)` Set the next argument to a character value.
    `int` | `setArgument(double d)` Set the next argument to a double value.
    `int` | `setArgument(float f)` Set the next argument to a float value.
    `int` | `setArgument(int i)` Set the next argument to an integer value.
    `int` | `setArgument(int argumentNumber, boolean b)` Set specified argument to a boolean value.
    `int` | `setArgument(int argumentNumber, byte b)` Set specified argument to a byte value.
    `int` | `setArgument(int argumentNumber, char c)` Set specified argument to a char value.
    `int` | `setArgument(int argumentNumber, double d)` Set specified argument to a double value.
    `int` | `setArgument(int argumentNumber, float f)` Set specified argument to a float value.
    `int` | `setArgument(int argumentNumber, int i)` Set specified argument to an integer value.
    `int` | `setArgument(int argumentNumber, long l)` Set specified argument to a long value.
    `int` | `setArgument(int argumentNumber, java.lang.Object object)` Set specified argument to an object.
    `int` | `setArgument(int argumentNumber, java.lang.Object object, java.lang.Class theClass)` Set value of specific argument.
    `int` | `setArgument(int argumentNumber, short s)` Set specified argument to a short value.
    `int` | `setArgument(long l)` Set the next argument to a long value.
    `int` | `setArgument(java.lang.Object object)` Set the next argument to an object.
    `int` | `setArgument(java.lang.Object object, java.lang.Class theClass)` Sets the next argument to an object.
    `int` | `setArgument(short s)` Set the next argument to a short value.
    `java.lang.String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### classes

          protected java.lang.Class[] classes

      Class for each argument.

    - #### arguments

          protected java.lang.Object[] arguments

      Argument values. Each argument must be an object or wrapped in an object.

    - #### argumentCount

          protected int argumentCount

      Count of arguments.

  - ### Constructor Detail

    - #### ArgumentList

          public ArgumentList()

      Construct empty argument for method taking no parameters.

    - #### ArgumentList

          public ArgumentList(int argumentCount)

      Construct argument list which can hold specified number of parameters.
      Parameters:
        `argumentCount` - The number of parameters.

  - ### Method Detail

    - #### getArgumentClasses

          public java.lang.Class[] getArgumentClasses()

      Get classes corresponding to each argument.
      Returns:
        The list of argument classes.

    - #### getArguments

          public java.lang.Object[] getArguments()

      Get argument values as list of objects.
      Returns:
        The argument values.

    - #### setArgument

          public int setArgument(int argumentNumber,
                        java.lang.Object object,
                        java.lang.Class theClass)

      Set value of specific argument.
      Parameters:
        `argumentNumber` - Index of argument to set.
        `object` - The value of the argument as an object.
        `theClass` - The type of the argument as a class.
      Returns:
        The next available argument index.

    - #### setArgument

          public int setArgument(boolean b)

      Set the next argument to a boolean value.
      Parameters:
        `b` - The boolean value.
      Returns:
        The next available argument entry index.

    - #### setArgument

          public int setArgument(int argumentNumber,
                        boolean b)

      Set specified argument to a boolean value.
      Parameters:
        `argumentNumber` - The index of the argument to set.
        `b` - The boolean value.
      Returns:
        The next available argument entry index.

    - #### setArgument

          public int setArgument(byte b)

      Set the next argument to a byte value.
      Parameters:
        `b` - The byte value.
      Returns:
        The next available argument entry index.

    - #### setArgument

          public int setArgument(int argumentNumber,
                        byte b)

      Set specified argument to a byte value.
      Parameters:
        `argumentNumber` - The index of the argument to set.
        `b` - The byte value.
      Returns:
        The next available argument entry index.

    - #### setArgument

          public int setArgument(char c)

      Set the next argument to a character value.
      Parameters:
        `c` - The character value.
      Returns:
        The next available argument entry index.

    - #### setArgument

          public int setArgument(int argumentNumber,
                        char c)

      Set specified argument to a char value.
      Parameters:
        `argumentNumber` - The index of the argument to set.
        `c` - The char value.
      Returns:
        The next available argument entry index.

    - #### setArgument

          public int setArgument(int i)

      Set the next argument to an integer value.
      Parameters:
        `i` - The integer value.
      Returns:
        The next available argument entry index.

    - #### setArgument

          public int setArgument(int argumentNumber,
                        int i)

      Set specified argument to an integer value.
      Parameters:
        `argumentNumber` - The index of the argument to set.
        `i` - The integer value.
      Returns:
        The next available argument entry index.

    - #### setArgument

          public int setArgument(short s)

      Set the next argument to a short value.
      Parameters:
        `s` - The short value.
      Returns:
        The next available argument entry index.

    - #### setArgument

          public int setArgument(int argumentNumber,
                        short s)

      Set specified argument to a short value.
      Parameters:
        `argumentNumber` - The index of the argument to set.
        `s` - The short value.
      Returns:
        The next available argument entry index.

    - #### setArgument

          public int setArgument(long l)

      Set the next argument to a long value.
      Parameters:
        `l` - The long value.
      Returns:
        The next available argument entry index.

    - #### setArgument

          public int setArgument(int argumentNumber,
                        long l)

      Set specified argument to a long value.
      Parameters:
        `argumentNumber` - The index of the argument to set.
        `l` - The long value.
      Returns:
        The next available argument entry index.

    - #### setArgument

          public int setArgument(float f)

      Set the next argument to a float value.
      Parameters:
        `f` - The float value.
      Returns:
        The next available argument entry index.

    - #### setArgument

          public int setArgument(int argumentNumber,
                        float f)

      Set specified argument to a float value.
      Parameters:
        `argumentNumber` - The index of the argument to set.
        `f` - The float value.
      Returns:
        The next available argument entry index.

    - #### setArgument

          public int setArgument(double d)

      Set the next argument to a double value.
      Parameters:
        `d` - The double value.
      Returns:
        The next available argument entry index.

    - #### setArgument

          public int setArgument(int argumentNumber,
                        double d)

      Set specified argument to a double value.
      Parameters:
        `argumentNumber` - The index of the argument to set.
        `d` - The double value.
      Returns:
        The next available argument entry index.

    - #### setArgument

          public int setArgument(java.lang.Object object)

      Set the next argument to an object.
      Parameters:
        `object` - The object.
      Returns:
        The next available argument entry index.

    - #### setArgument

          public int setArgument(int argumentNumber,
                        java.lang.Object object)

      Set specified argument to an object.
      Parameters:
        `argumentNumber` - The index of the argument to set.
        `object` - The object.
      Returns:
        The next available argument entry index.

    - #### setArgument

          public int setArgument(java.lang.Object object,
                        java.lang.Class theClass)

      Sets the next argument to an object.
      Parameters:
        `object` - The object.
        `theClass` - The class of the object.
      Returns:
        The next available argument entry index.

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`