package mil.nga.giat.geowave.format.stanag4676;
import java.io.IOException;
import java.io.InputStream;
import java.nio.ByteBuffer;
public class ByteBufferBackedInputStream extends
InputStream
{
private final ByteBuffer buf;
public ByteBufferBackedInputStream(
final ByteBuffer buf ) {
this.buf = buf;
}
@Override
public int read()
throws IOException {
if (!buf.hasRemaining()) {
return -1;
}
return buf.get() & 0xFF;
}
@Override
public int read(
final byte[] bytes,
final int off,
int len )
throws IOException {
if (!buf.hasRemaining()) {
return -1;
}
len = Math.min(
len,
buf.remaining());
buf.get(
bytes,
off,
len);
return len;
}
}