Class LazyInput

java.lang.Object
com.pnfsoftware.jeb.core.input.LazyInput
All Implemented Interfaces:
IInput

@Ser public class LazyInput extends Object implements IInput
An input backed by an IDataProvider.
  • Constructor Details

    • LazyInput

      public LazyInput(IDataProvider prv, String entryName, long hintEntrySize)
    • LazyInput

      public LazyInput(IDataProvider prv, String entryName, long hintEntrySize, int id)
      Parameters:
      prv -
      entryName -
      hintEntrySize -
      id -
  • Method Details

    • getName

      public String getName()
      Description copied from interface: IInput
      Retrieve the optional input name.
      Specified by:
      getName in interface IInput
      Returns:
    • canRead

      public boolean canRead()
      Description copied from interface: IInput
      Determine whether this input is readable.
      Specified by:
      canRead in interface IInput
      Returns:
    • close

      public void close()
      Description copied from interface: IInput
      Close that input and free all resources used by this object.
      Specified by:
      close in interface IInput
    • getCurrentSize

      public long getCurrentSize()
      Description copied from interface: IInput
      Provide the current input size of the input data.
      Specified by:
      getCurrentSize in interface IInput
      Returns:
      the size, -1 if the size cannot be calculated or if an error occurred
    • getHeader

      public ByteBuffer getHeader()
      Description copied from interface: IInput
      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 IInput.IDEAL_HEADER_SIZE bytes.
      Specified by:
      getHeader in interface IInput
      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

      public SeekableByteChannel getChannel() throws IOException
      Description copied from interface: IInput
      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.
      Specified by:
      getChannel in interface IInput
      Returns:
      a unique seekable channel
      Throws:
      IOException - on IO error
    • getStream

      public InputStream getStream() throws IOException
      Description copied from interface: IInput
      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 IInput.close() is called.
      Specified by:
      getStream in interface IInput
      Returns:
      a unique input stream
      Throws:
      IOException - on IO error