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

# Interface Xdrable

public interface Xdrable
The interface `Xdrable` represents an object that can read and write itself from a strean in the xdr format used by the firebird engine.

Author:
  David Jencks

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `getLength()`
  Get the total length (in bytes) of this `Xdrable` when it is written to XDR format.
  `void`
  `read(XdrInputStream in, int length)`
  Read in `Xdrable` in XDR format, from an `XdrInputStream`.
  `void`
  `write(XdrOutputStream out)`
  Write the this `Xdrable` out in XDR format to an `XdrOutputStream`.

- ## Method Details

  - ### getLength

    int getLength()
    Get the total length (in bytes) of this `Xdrable` when it is written to XDR format.
    Returns:
      The total length in bytes

  - ### read

    void read(XdrInputStream in, int length) throws IOException
    Read in `Xdrable` in XDR format, from an `XdrInputStream`.
    Parameters:
      `in` - The input stream from which the object is to be read.
      `length` - The number of bytes to be read
    Throws:
      `IOException` - if an error occurs while reading from the `XdrInputStream`

  - ### write

    void write(XdrOutputStream out) throws IOException
    Write the this `Xdrable` out in XDR format to an `XdrOutputStream`.
    Parameters:
      `out` - The output stream to which the `Xdrable` is to be written
    Throws:
      `IOException` - if an error occurs while writing to the `XdrOutputStream`