public class

BytesInput

extends Object
implements IInput
java.lang.Object
   ↳ com.pnfsoftware.jeb.core.input.BytesInput

Class Overview

An input object backed by an array of bytes.

Summary

[Expand]
Inherited Constants
From interface com.pnfsoftware.jeb.core.input.IInput
Public Constructors
BytesInput(byte[] data)
Create an input object backing up the provided array of bytes.
BytesInput(byte[] data, int offset, int length)
Create an input object backing up the provided array of bytes.
BytesInput(byte[] data, int offset, int length, String name)
Create an input object backing up the provided array of bytes.
Public Methods
boolean canRead()
Determine whether this input is readable.
void close()
Close that input and free all resources used by this object.
SeekableByteChannel getChannel()
Get a seekable read-only channel representing the input.
long getCurrentSize()
Provide the current input size of the input data.
ByteBuffer getHeader()
Get a read-only, big-endian buffer of the first input bytes.
String getName()
Retrieve the optional input name.
InputStream getStream()
Get the input stream.
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.pnfsoftware.jeb.core.input.IInput

Public Constructors

public BytesInput (byte[] data)

Create an input object backing up the provided array of bytes.

Parameters
data non-null byte array

public BytesInput (byte[] data, int offset, int length)

Create an input object backing up the provided array of bytes.

Parameters
data non-null byte array
offset start offset in the array
length number of bytes to be backed

public BytesInput (byte[] data, int offset, int length, String name)

Create an input object backing up the provided array of bytes.

Parameters
data non-null byte array
offset start offset in the array
length number of bytes to be backed
name optional name

Public Methods

public boolean canRead ()

Determine whether this input is readable.

public void close ()

Close that input and free all resources used by this object.

public SeekableByteChannel getChannel ()

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

public 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

public 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)

public String getName ()

Retrieve the optional input name.

public InputStream getStream ()

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