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

# Class StringArgument

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

All Implemented Interfaces:
  `Serializable`, `Parameter`

public final class StringArgument extends TypedArgument
`Argument` implementation for String values

See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `StringArgument(int type, ArgumentType argumentType, String value, Encoding encoding)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `copyTo(ParameterBuffer buffer, Encoding stringEncoding)`
  Copies this argument into the supplied buffer, uses the supplied `Encoding` for string arguments.
  `boolean`
  `equals(Object other)`
  `int`
  `getLength()`
  `int`
  `getValueAsInt()`
  The value of the parameter as int.
  `String`
  `getValueAsString()`
  The value of the parameter as String.
  `int`
  `hashCode()`
  `void`
  `writeTo(OutputStream outputStream)`
  Writes the arguments to the supplied `OutputStream` in the XDR format of the type.

  ### Methods inherited from class org.firebirdsql.gds.impl.argument.Argument

  `getType, getValueAsLong`

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

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

- ## Constructor Details

  - ### StringArgument

    public StringArgument(int type, ArgumentType argumentType, String value, Encoding encoding)

- ## Method Details

  - ### writeTo

    public void writeTo(OutputStream outputStream) throws IOException
    Description copied from class: `Argument`
    Writes the arguments to the supplied `OutputStream` in the XDR format of the type.
    Specified by:
      `writeTo` in class `Argument`
    Parameters:
      `outputStream` - OutputStream
    Throws:
      `IOException` - For errors writing to the OutputStream

  - ### getLength

    public int getLength()
    Specified by:
      `getLength` in class `Argument`
    Returns:
      Total length of the buffer item when written to the OutputStream by `Argument.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).

  - ### 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`
    Overrides:
      `getValueAsString` in class `Argument`
    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`
    Overrides:
      `getValueAsInt` in class `Argument`
    Returns:
      The value as int

  - ### copyTo

    public void copyTo(ParameterBuffer buffer, Encoding stringEncoding)
    Description copied from interface: `Parameter`
    Copies this argument into the supplied buffer, uses the supplied `Encoding` for string arguments.

    An instance of `Parameter` should know how to copy itself into another buffer (eg an instance of `StringArgument` would know to call `ParameterBuffer.addArgument(int, String, Encoding)`).

    The parameter does not need to check if it is the right type of destination buffer (if someone tries to add a TPB argument to a DPB they are free to try that).

    Parameters:
      `buffer` - ParameterBuffer instance
      `stringEncoding` - Encoding to use for string properties. A value of `null` can be used to signal that the original encoding should be used.

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `Object`

  - ### equals

    public boolean equals(Object other)
    Overrides:
      `equals` in class `Object`