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.