Package com.pnfsoftware.jeb.core.input
Class SubInput
java.lang.Object
com.pnfsoftware.jeb.core.input.SubInput
- All Implemented Interfaces:
IInput
An input object presenting a partial view of another input.
-
Field Summary
Fields inherited from interface com.pnfsoftware.jeb.core.input.IInput
IDEAL_HEADER_SIZE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleancanRead()Determine whether this input is readable.voidclose()Close that input and free all resources used by this object.Get a seekable read-only channel representing the input.longProvide the current input size of the input data.Get a read-only, big-endian buffer of the first input bytes.getName()Retrieve the optional input name.Get the input stream.
-
Constructor Details
-
SubInput
Public constructor.- Parameters:
input-offset-size-- Throws:
IOException
-
-
Method Details
-
getName
Description copied from interface:IInputRetrieve the optional input name. -
canRead
public boolean canRead()Description copied from interface:IInputDetermine whether this input is readable. -
close
public void close()Description copied from interface:IInputClose that input and free all resources used by this object. -
getCurrentSize
public long getCurrentSize()Description copied from interface:IInputProvide the current input size of the input data.- Specified by:
getCurrentSizein interfaceIInput- Returns:
- the size, -1 if the size cannot be calculated or if an error occurred
-
getHeader
Description copied from interface:IInputGet 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 leastIInput.IDEAL_HEADER_SIZEbytes.- Specified by:
getHeaderin interfaceIInput- 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
Description copied from interface:IInputGet 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:
getChannelin interfaceIInput- Returns:
- a unique seekable channel
- Throws:
IOException- on IO error
-
getStream
Description copied from interface:IInputGet 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 whenIInput.close()is called.- Specified by:
getStreamin interfaceIInput- Returns:
- a unique input stream
- Throws:
IOException- on IO error
-