Interface IInput

All Known Implementing Classes:
BytesInput, FileInput, LazyInput, SubInput

@Ser public interface IInput
Standard input interface for units.

Note: Since users of IInput are responsible for closing generated streams and channels, the implementation of close() is optional, and client code may call it (optionally) as a safety mechanism.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Determine whether this input is readable.
    void
    Close that input and free all resources used by this object.
    Get a seekable read-only channel representing the input.
    long
    Provide the current input size of the input data.
    Get a read-only, big-endian buffer of the first input bytes.
    Retrieve the optional input name.
    Get the input stream.
  • Field Details

  • Method Details

    • getName

      String getName()
      Retrieve the optional input name.
      Returns:
    • canRead

      boolean canRead()
      Determine whether this input is readable.
      Returns:
    • close

      void close()
      Close that input and free all resources used by this object.
    • getCurrentSize

      long getCurrentSize()
      Provide the current input size of the input data.
      Returns:
      the size, -1 if the size cannot be calculated or if an error occurred
    • getHeader

      ByteBuffer getHeader()
      Get a read-only, big-endian buffer of the first input bytes. Clients should not attempt to modify or directly access that buffer. The initial position is set to 0. It is recommended that implementations provide at least IDEAL_HEADER_SIZE bytes.
      Returns:
      a unique buffer; on error, the returned buffer is null (unlike other methods declared in this interface, this method does not throw IOException)
    • getChannel

      SeekableByteChannel getChannel() throws IOException
      Get a seekable read-only channel representing the input. Each call returns a unique channel. Clients should use this method to efficiently read at various locations within the given input.
      Returns:
      a unique seekable channel
      Throws:
      IOException - on IO error
    • getStream

      InputStream getStream() throws IOException
      Get the input stream. Each call returns a unique stream. Implementors should offer this method for convenience. The implementor is responsible for closing non-closed streams when close() is called.
      Returns:
      a unique input stream
      Throws:
      IOException - on IO error