Class SimpleMappedInput

java.lang.Object
uk.ac.starlink.fits.SimpleMappedInput
All Implemented Interfaces:
BasicInput

public class SimpleMappedInput extends Object implements BasicInput
Random-access BasicInput implementation based on a single byte buffer.

Note: DO NOT use an instance of this class from multiple threads - see Unmapper.

Since:
1 Dec 2014
Author:
Mark Taylor
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    This does not close the BufManager.
    long
    Returns the curent position in this stream (optional operation).
    boolean
    Indicates whether this object supports random access.
    byte
    Reads a byte from the stream.
    void
    readBytes(byte[] bbuf)
    Reads bytes into an array from the stream.
    double
    Reads an 8-byte floating point value from the stream.
    float
    Reads a 4-byte floating point value from the stream.
    int
    Reads a 4-byte integer from the stream.
    long
    Reads an 8-byte integer from the stream.
    short
    Reads a 2-byte integer from the stream.
    void
    seek(long pos)
    Moves the current position of this stream to a given byte offset (optional operation).
    void
    skip(long nbyte)
    Skips a given number of bytes forwards through the stream.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • SimpleMappedInput

      public SimpleMappedInput(BufferManager bufManager) throws IOException
      Constructor.
      Parameters:
      bufManager - buffer manager for the file region
      Throws:
      IOException
  • Method Details

    • isRandom

      public boolean isRandom()
      Description copied from interface: BasicInput
      Indicates whether this object supports random access. The seek and getOffset methods may only be called if this method returns true.
      Specified by:
      isRandom in interface BasicInput
      Returns:
      true iff random access is supported
    • seek

      public void seek(long pos) throws EOFException
      Description copied from interface: BasicInput
      Moves the current position of this stream to a given byte offset (optional operation).
      Specified by:
      seek in interface BasicInput
      Throws:
      EOFException
    • getOffset

      public long getOffset()
      Description copied from interface: BasicInput
      Returns the curent position in this stream (optional operation).
      Specified by:
      getOffset in interface BasicInput
    • skip

      public void skip(long nbyte) throws IOException
      Description copied from interface: BasicInput
      Skips a given number of bytes forwards through the stream. An exception is thrown if there are not enough bytes left.
      Specified by:
      skip in interface BasicInput
      Parameters:
      nbyte - number of bytes to skip
      Throws:
      IOException
    • readByte

      public byte readByte() throws EOFException
      Description copied from interface: BasicInput
      Reads a byte from the stream. The current position is advanced.
      Specified by:
      readByte in interface BasicInput
      Returns:
      byte value
      Throws:
      EOFException
    • readShort

      public short readShort() throws EOFException
      Description copied from interface: BasicInput
      Reads a 2-byte integer from the stream. The current position is advanced.
      Specified by:
      readShort in interface BasicInput
      Returns:
      short value
      Throws:
      EOFException
    • readInt

      public int readInt() throws EOFException
      Description copied from interface: BasicInput
      Reads a 4-byte integer from the stream. The current position is advanced.
      Specified by:
      readInt in interface BasicInput
      Returns:
      int value
      Throws:
      EOFException
    • readLong

      public long readLong() throws EOFException
      Description copied from interface: BasicInput
      Reads an 8-byte integer from the stream. The current position is advanced.
      Specified by:
      readLong in interface BasicInput
      Returns:
      long value
      Throws:
      EOFException
    • readFloat

      public float readFloat() throws EOFException
      Description copied from interface: BasicInput
      Reads a 4-byte floating point value from the stream. The current position is advanced.
      Specified by:
      readFloat in interface BasicInput
      Returns:
      float value
      Throws:
      EOFException
    • readDouble

      public double readDouble() throws EOFException
      Description copied from interface: BasicInput
      Reads an 8-byte floating point value from the stream. The current position is advanced.
      Specified by:
      readDouble in interface BasicInput
      Returns:
      double value
      Throws:
      EOFException
    • readBytes

      public void readBytes(byte[] bbuf) throws EOFException
      Description copied from interface: BasicInput
      Reads bytes into an array from the stream. The current position is advanced.
      Specified by:
      readBytes in interface BasicInput
      Parameters:
      bbuf - array into which the bytes are read; the number of bytes read is the length of the array
      Throws:
      EOFException
    • close

      public void close()
      This does not close the BufManager.
      Specified by:
      close in interface BasicInput