org.apache.fontbox.cff

## Class DataInput

- java.lang.Object
- - org.apache.fontbox.cff.DataInput

Direct Known Subclasses:
  CFFDataInput

    public class DataInput
    extends Object

This class contains some functionality to read a byte buffer.

Author:
  Villu Ruusmann

### Constructor Summary

Constructors
Constructor and Description
`DataInput(byte[] buffer)` Constructor.

### Method Summary

All Methods Instance Methods Concrete Methods
`int` `getPosition()` Returns the current position.
`String` `getString()` Returns the buffer as an ISO-8859-1 string.
`boolean` `hasRemaining()` Determines if there are any bytes left to read or not.
`int` `length()`
`int` `peekUnsignedByte(int offset)` Peeks one single unsigned byte from the buffer.
`byte` `readByte()` Read one single byte from the buffer.
`byte[]` `readBytes(int length)` Read a number of single byte values from the buffer.
`int` `readInt()` Read one single int (4 bytes) from the buffer.
`short` `readShort()` Read one single short value from the buffer.
`int` `readUnsignedByte()` Read one single unsigned byte from the buffer.
`int` `readUnsignedShort()` Read one single unsigned short (2 bytes) value from the buffer.
`void` `setPosition(int position)` Sets the current position to the given value.

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

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

### Constructor Detail

#### DataInput

    public DataInput(byte[] buffer)

Constructor.

Parameters:
  `buffer` - the buffer to be read

### Method Detail

#### hasRemaining

    public boolean hasRemaining()

Determines if there are any bytes left to read or not.

Returns:
  true if there are any bytes left to read

#### getPosition

    public int getPosition()

Returns the current position.

Returns:
  current position

#### setPosition

    public void setPosition(int position)

Sets the current position to the given value.

Parameters:
  `position` - the given position

#### getString

    public String getString()
                     throws IOException

Returns the buffer as an ISO-8859-1 string.

Returns:
  the buffer as string
Throws:
  `IOException` - if an error occurs during reading

#### readByte

    public byte readByte()
                  throws IOException

Read one single byte from the buffer.

Returns:
  the byte
Throws:
  `IOException` - if an error occurs during reading

#### readUnsignedByte

    public int readUnsignedByte()
                         throws IOException

Read one single unsigned byte from the buffer.

Returns:
  the unsigned byte as int
Throws:
  `IOException` - if an error occurs during reading

#### peekUnsignedByte

    public int peekUnsignedByte(int offset)
                         throws IOException

Peeks one single unsigned byte from the buffer.

Returns:
  the unsigned byte as int
Throws:
  `IOException` - if an error occurs during reading

#### readShort

    public short readShort()
                    throws IOException

Read one single short value from the buffer.

Returns:
  the short value
Throws:
  `IOException` - if an error occurs during reading

#### readUnsignedShort

    public int readUnsignedShort()
                          throws IOException

Read one single unsigned short (2 bytes) value from the buffer.

Returns:
  the unsigned short value as int
Throws:
  `IOException` - if an error occurs during reading

#### readInt

    public int readInt()
                throws IOException

Read one single int (4 bytes) from the buffer.

Returns:
  the int value
Throws:
  `IOException` - if an error occurs during reading

#### readBytes

    public byte[] readBytes(int length)
                     throws IOException

Read a number of single byte values from the buffer.

Parameters:
  `length` - the number of bytes to be read
Returns:
  an array with containing the bytes from the buffer
Throws:
  `IOException` - if an error occurs during reading

#### length

    public int length()