Class IIOByteBuffer

public class IIOByteBuffer
extends Object

A class representing a mutable reference to an array of bytes and an offset and length within that array. IIOByteBuffer is used by ImageInputStream to supply a sequence of bytes to the caller, possibly with fewer copies than using the conventional read methods that take a user-supplied byte array.

The byte array referenced by an IIOByteBuffer will generally be part of an internal data structure belonging to an ImageReader implementation; its contents should be considered read-only and must not be modified.

Constructor Summary

Constructors
Constructor Description
IIOByteBuffer​(byte[] data, int offset, int length)

Constructs an IIOByteBuffer that references a given byte array, offset, and length.

Method Summary

All Methods Instance Methods Concrete Methods
Modifier and Type Method Description
byte[] getData()

Returns a reference to the byte array.

int getLength()

Returns the length of the data of interest within the byte array returned by getData.

int getOffset()

Returns the offset within the byte array returned by getData at which the data of interest start.

void setData​(byte[] data)

Updates the array reference that will be returned by subsequent calls to the getData method.

void setLength​(int length)

Updates the value that will be returned by subsequent calls to the getLength method.

void setOffset​(int offset)

Updates the value that will be returned by subsequent calls to the getOffset method.

Methods declared in class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail

IIOByteBuffer

public IIOByteBuffer​(byte[] data,
                     int offset,
                     int length)

Constructs an IIOByteBuffer that references a given byte array, offset, and length.

Parameters:
data - a byte array.
offset - an int offset within the array.
length - an int specifying the length of the data of interest within byte array, in bytes.

Method Detail

getData

public byte[] getData()

Returns a reference to the byte array. The returned value should be treated as read-only, and only the portion specified by the values of getOffset and getLength should be used.

Returns:
a byte array reference.
See Also:
getOffset(), getLength(), setData(byte[])

setData

public void setData​(byte[] data)

Updates the array reference that will be returned by subsequent calls to the getData method.

Parameters:
data - a byte array reference containing the new data value.
See Also:
getData()

getOffset

public int getOffset()

Returns the offset within the byte array returned by getData at which the data of interest start.

Returns:
an int offset.
See Also:
getData(), getLength(), setOffset(int)

setOffset

public void setOffset​(int offset)

Updates the value that will be returned by subsequent calls to the getOffset method.

Parameters:
offset - an int containing the new offset value.
See Also:
getOffset()

getLength

public int getLength()

Returns the length of the data of interest within the byte array returned by getData.

Returns:
an int length.
See Also:
getData(), getOffset(), setLength(int)

setLength

public void setLength​(int length)

Updates the value that will be returned by subsequent calls to the getLength method.

Parameters:
length - an int containing the new length value.
See Also:
getLength()