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

# Class SingleItem

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

All Implemented Interfaces:
  `Serializable`, `Parameter`

public final class SingleItem extends TypedArgument
`Argument` implementation for items without a value.

See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`SingleItem(int item, ArgumentType argumentType)`

## Method Summary

Modifier and Type
Method
Description
`void`
`copyTo(ParameterBuffer buffer, Encoding encoding)`
Copies this argument into the supplied buffer, uses the supplied `Encoding` for string arguments.
`boolean`
`equals(Object other)`
`int`
`getLength()`
`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, getValueAsInt, getValueAsLong, getValueAsString`

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

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

## Constructor Details

### SingleItem

public SingleItem(int item, ArgumentType argumentType)

## 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).

### equals

public boolean equals(Object other)

Overrides:
  `equals` in class `Object`

### hashCode

public int hashCode()

Overrides:
  `hashCode` in class `Object`

### copyTo

public void copyTo(ParameterBuffer buffer, Encoding encoding)
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
  `encoding` - Encoding to use for string properties. A value of `null` can be used to signal that the original encoding should be used.