uk.ac.bristol.star.cdf.record
Class Bufs

java.lang.Object
  extended by uk.ac.bristol.star.cdf.record.Bufs

public class Bufs
extends java.lang.Object

Factory and utility methods for use with Bufs.

Since:
21 Jun 2013

Method Summary
static Buf createBuf(java.nio.ByteBuffer[] byteBuffers, boolean isBit64, boolean isBigendian)
          Creates a buf based on a sequence of NIO buffers.
static Buf createBuf(java.nio.ByteBuffer byteBuffer, boolean isBit64, boolean isBigendian)
          Creates a buf based on a single NIO buffer.
static Buf createBuf(java.io.File file, boolean isBit64, boolean isBigendian)
          Creates a buf based on a file.
static java.io.InputStream createByteBufferInputStream(java.nio.ByteBuffer bbuf)
          Utility method to acquire the data from an NIO buffer in the form of an InputStream.
static Buf uncompress(Compression compression, Buf inBuf, long inOffset, long outSize)
          Decompresses part of an input Buf into an output Buf.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

createBuf

public static Buf createBuf(java.nio.ByteBuffer byteBuffer,
                            boolean isBit64,
                            boolean isBigendian)
Creates a buf based on a single NIO buffer.

Parameters:
byteBuffer - NIO buffer containing data
isBit64 - 64bit-ness of buf
isBigendian - true for big-endian data, false for little-endian

createBuf

public static Buf createBuf(java.nio.ByteBuffer[] byteBuffers,
                            boolean isBit64,
                            boolean isBigendian)
Creates a buf based on a sequence of NIO buffers.

Parameters:
byteBuffers - array of NIO buffers containing data
isBit64 - 64bit-ness of buf
isBigendian - true for big-endian data, false for little-endian

createBuf

public static Buf createBuf(java.io.File file,
                            boolean isBit64,
                            boolean isBigendian)
                     throws java.io.IOException
Creates a buf based on a file.

Parameters:
file - file containing data
isBit64 - 64bit-ness of buf
isBigendian - true for big-endian data, false for little-endian
Throws:
java.io.IOException

uncompress

public static Buf uncompress(Compression compression,
                             Buf inBuf,
                             long inOffset,
                             long outSize)
                      throws java.io.IOException
Decompresses part of an input Buf into an output Buf.

Parameters:
compression - compression format
inBuf - buffer containing input compressed data
inOffset - offset into inBuf at which the compressed data starts
outSize - byte count of the uncompressed data
Returns:
new buffer of size outSize containing uncompressed data
Throws:
java.io.IOException

createByteBufferInputStream

public static java.io.InputStream createByteBufferInputStream(java.nio.ByteBuffer bbuf)
Utility method to acquire the data from an NIO buffer in the form of an InputStream.

Parameters:
bbuf - NIO buffer
Returns:
stream