## org.exist.storage.io
Interface VariableByteInput

All Known Implementing Classes:
  AbstractVariableByteInput

public interface VariableByteInput

Interface for reading variable byte encoded values. Variable byte encoding offers a good compression ratio if the stored values are rather small, i.e. much smaller than the possible maximum for the given type.

Author:
  wolf

Method Summary
`int` `available()` Returns a value > 0 if more bytes can be read from the input.
`void` `copyRaw(VariableByteOutputStream os, int bytes)`
`void` `copyTo(VariableByteOutputStream os)` Copy the next numeric value from the input to the specified output stream.
`void` `copyTo(VariableByteOutputStream os, int count)` Copy the count next numeric values from the input to the specified output stream.
`int` `read()` Read a single byte and return as an int value.
`int` `read(byte[] data)` Fill the provided byte array with data from the input.
`int` `read(byte[] b, int off, int len)`
`byte` `readByte()` Read a single byte.
`int` `readFixedInt()`
`int` `readInt()` Read an integer value in variable byte encoding.
`long` `readLong()` Read a long value in variable byte encoding.
`short` `readShort()` Read a short value in variable byte encoding.
`java.lang.String` `readUTF()`
`void` `skip(int count)` Read the following count numeric values from the input and drop them.
`void` `skipBytes(long count)`

Method Detail

### read

    public int read()
             throws java.io.IOException

  Read a single byte and return as an int value.

  Returns:
    the byte value as int or -1 if no more bytes are available.
  Throws:
    `java.io.IOException`

### read

    public int read(byte[] data)
             throws java.io.IOException

  Fill the provided byte array with data from the input.

  Parameters:
    `data` -
  Throws:
    `java.io.IOException`

### read

    public int read(byte[] b,
                    int off,
                    int len)
             throws java.io.IOException

  Throws:
    `java.io.IOException`

### available

    public int available()
                  throws java.io.IOException

  Returns a value > 0 if more bytes can be read from the input.

  Throws:
    `java.io.IOException`

### readByte

    public byte readByte()
                  throws java.io.IOException

  Read a single byte. Throws EOFException if no more bytes are available.

  Throws:
    `java.io.IOException`

### readShort

    public short readShort()
                    throws java.io.IOException

  Read a short value in variable byte encoding.

  Throws:
    `java.io.IOException`

### readInt

    public int readInt()
                throws java.io.IOException

  Read an integer value in variable byte encoding.

  Throws:
    `java.io.IOException`

### readFixedInt

    public int readFixedInt()
                     throws java.io.IOException

  Throws:
    `java.io.IOException`

### readLong

    public long readLong()
                  throws java.io.IOException

  Read a long value in variable byte encoding.

  Throws:
    `java.io.IOException`

### readUTF

    public java.lang.String readUTF()
                             throws java.io.IOException,
                                    java.io.EOFException

  Throws:
    `java.io.IOException`
    `java.io.EOFException`

### skip

    public void skip(int count)
              throws java.io.IOException

  Read the following count numeric values from the input and drop them.

  Parameters:
    `count` -
  Throws:
    `java.io.IOException`

### skipBytes

    public void skipBytes(long count)
                   throws java.io.IOException

  Throws:
    `java.io.IOException`

### copyTo

    public void copyTo(VariableByteOutputStream os)
                throws java.io.IOException

  Copy the next numeric value from the input to the specified output stream.

  Parameters:
    `os` -
  Throws:
    `java.io.IOException`

### copyTo

    public void copyTo(VariableByteOutputStream os,
                       int count)
                throws java.io.IOException

  Copy the count next numeric values from the input to the specified output stream.

  Parameters:
    `os` -
    `count` -
  Throws:
    `java.io.IOException`

### copyRaw

    public void copyRaw(VariableByteOutputStream os,
                        int bytes)
                 throws java.io.IOException

  Throws:
    `java.io.IOException`

Copyright (C) Wolfgang Meier. All rights reserved.