Module org.firebirdsql.jaybird
Package org.firebirdsql.gds.impl.argument

# Class Argument

java.lang.Object
org.firebirdsql.gds.impl.argument.Argument

All Implemented Interfaces:
  `Serializable`, `Parameter`

Direct Known Subclasses:
  `TypedArgument`

public abstract class Argument extends Object implements Parameter, Serializable
Base class for arguments to the parameter buffer.

See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `Argument(int type)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract int`
  `getLength()`
  `final int`
  `getType()`
  The type identifier of the parameter (usually one of the constant values in `ISCConstants`).
  `int`
  `getValueAsInt()`
  The value of the parameter as int.
  `long`
  `getValueAsLong()`
  The value of the parameter as long.
  `String`
  `getValueAsString()`
  The value of the parameter as String.
  `abstract void`
  `writeTo(OutputStream outputStream)`
  Writes the arguments to the supplied `OutputStream` in the XDR format of the type.

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

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

  ### Methods inherited from interface org.firebirdsql.gds.Parameter

  `copyTo`

- ## Constructor Details

  - ### Argument

    protected Argument(int type)

- ## Method Details

  - ### getType

    public final int getType()
    Description copied from interface: `Parameter`
    The type identifier of the parameter (usually one of the constant values in `ISCConstants`).
    Specified by:
      `getType` in interface `Parameter`
    Returns:
      The type of the argument

  - ### getValueAsString

    public String getValueAsString()
    Description copied from interface: `Parameter`
    The value of the parameter as String.

    The implementation may throw a RuntimeException if the parameter isn't a string (or shouldn't be used as a string).

    Specified by:
      `getValueAsString` in interface `Parameter`
    Returns:
      The value as string

  - ### getValueAsInt

    public int getValueAsInt()
    Description copied from interface: `Parameter`
    The value of the parameter as int.

    The implementation may throw a RuntimeException if the parameter isn't an int (or shouldn't be used as an int).

    Specified by:
      `getValueAsInt` in interface `Parameter`
    Returns:
      The value as int

  - ### getValueAsLong

    public long getValueAsLong()
    Description copied from interface: `Parameter`
    The value of the parameter as long.

    The implementation may throw a RuntimeException if the parameter isn't a long (or shouldn't be used as a long).

    Specified by:
      `getValueAsLong` in interface `Parameter`
    Returns:
      The value as long

  - ### writeTo

    public abstract void writeTo(OutputStream outputStream) throws IOException
    Writes the arguments to the supplied `OutputStream` in the XDR format of the type.
    Parameters:
      `outputStream` - OutputStream
    Throws:
      `IOException` - For errors writing to the OutputStream

  - ### getLength

    public abstract int getLength()
    Returns:
      Total length of the buffer item when written to the OutputStream by `writeTo(java.io.OutputStream)`. This includes the item, the value and other items contributing to the total length (e.g. the length of the value).