Package org.cakelab.blender.io.util
Class CDataReadWriteAccess
- java.lang.Object
-
- org.cakelab.blender.io.util.CDataReadWriteAccess
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
- Direct Known Subclasses:
BigEndianInputStreamWrapper
,CBufferReadWrite
,CDataFileRWAccess
public abstract class CDataReadWriteAccess extends java.lang.Object implements java.io.Closeable
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
CDataReadWriteAccess(int pointerSize)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract int
available()
static CDataReadWriteAccess
create(byte[] data, long baseAddress, Encoding encoding)
static CDataReadWriteAccess
create(java.io.RandomAccessFile in, Encoding encoding)
abstract java.nio.ByteOrder
getByteOrder()
int
getPointerSize()
abstract long
offset()
abstract void
offset(long offset)
abstract void
padding(int alignment)
Same aspadding(int, boolean)
with 'extend == false'.abstract void
padding(int alignment, boolean extend)
Inserts padding at a given offset to fit a given alignment during reading or writing in streams.boolean
readBoolean()
abstract byte
readByte()
abstract double
readDouble()
abstract float
readFloat()
void
readFully(byte[] b)
void
readFully(byte[] b, int off, int len)
void
readFully(double[] b, int off, int len)
void
readFully(float[] b, int off, int len)
void
readFully(int[] b, int off, int len)
void
readFully(long[] b, int off, int len)
void
readFully(short[] b, int off, int len)
void
readFullyInt64(long[] b, int off, int len)
abstract int
readInt()
abstract long
readInt64()
long
readLong()
abstract short
readShort()
abstract long
skip(long n)
void
writeBoolean(boolean value)
abstract void
writeByte(int value)
abstract void
writeDouble(double value)
abstract void
writeFloat(float value)
void
writeFully(byte[] b)
void
writeFully(byte[] b, int off, int len)
void
writeFully(double[] b, int off, int len)
void
writeFully(float[] b, int off, int len)
void
writeFully(int[] b, int off, int len)
void
writeFully(long[] b, int off, int len)
void
writeFully(short[] b, int off, int len)
void
writeFullyInt64(long[] b, int off, int len)
abstract void
writeInt(int value)
abstract void
writeInt64(long value)
void
writeLong(long value)
abstract void
writeShort(short value)
-
-
-
Method Detail
-
create
public static CDataReadWriteAccess create(java.io.RandomAccessFile in, Encoding encoding)
-
create
public static CDataReadWriteAccess create(byte[] data, long baseAddress, Encoding encoding)
-
getPointerSize
public final int getPointerSize()
-
readBoolean
public boolean readBoolean() throws java.io.IOException
- Throws:
java.io.IOException
-
writeBoolean
public void writeBoolean(boolean value) throws java.io.IOException
- Throws:
java.io.IOException
-
readByte
public abstract byte readByte() throws java.io.IOException
- Throws:
java.io.IOException
-
writeByte
public abstract void writeByte(int value) throws java.io.IOException
- Throws:
java.io.IOException
-
readShort
public abstract short readShort() throws java.io.IOException
- Throws:
java.io.IOException
-
writeShort
public abstract void writeShort(short value) throws java.io.IOException
- Throws:
java.io.IOException
-
readInt
public abstract int readInt() throws java.io.IOException
- Throws:
java.io.IOException
-
writeInt
public abstract void writeInt(int value) throws java.io.IOException
- Throws:
java.io.IOException
-
readLong
public final long readLong() throws java.io.IOException
- Throws:
java.io.IOException
-
writeLong
public final void writeLong(long value) throws java.io.IOException
- Throws:
java.io.IOException
-
readInt64
public abstract long readInt64() throws java.io.IOException
- Throws:
java.io.IOException
-
writeInt64
public abstract void writeInt64(long value) throws java.io.IOException
- Throws:
java.io.IOException
-
readFloat
public abstract float readFloat() throws java.io.IOException
- Throws:
java.io.IOException
-
writeFloat
public abstract void writeFloat(float value) throws java.io.IOException
- Throws:
java.io.IOException
-
readDouble
public abstract double readDouble() throws java.io.IOException
- Throws:
java.io.IOException
-
writeDouble
public abstract void writeDouble(double value) throws java.io.IOException
- Throws:
java.io.IOException
-
readFully
public final void readFully(byte[] b) throws java.io.IOException
- Throws:
java.io.IOException
-
writeFully
public final void writeFully(byte[] b) throws java.io.IOException
- Throws:
java.io.IOException
-
readFully
public void readFully(byte[] b, int off, int len) throws java.io.IOException
- Throws:
java.io.IOException
-
writeFully
public void writeFully(byte[] b, int off, int len) throws java.io.IOException
- Throws:
java.io.IOException
-
readFully
public void readFully(short[] b, int off, int len) throws java.io.IOException
- Throws:
java.io.IOException
-
writeFully
public void writeFully(short[] b, int off, int len) throws java.io.IOException
- Throws:
java.io.IOException
-
readFully
public void readFully(int[] b, int off, int len) throws java.io.IOException
- Throws:
java.io.IOException
-
writeFully
public void writeFully(int[] b, int off, int len) throws java.io.IOException
- Throws:
java.io.IOException
-
readFully
public void readFully(long[] b, int off, int len) throws java.io.IOException
- Throws:
java.io.IOException
-
writeFully
public void writeFully(long[] b, int off, int len) throws java.io.IOException
- Throws:
java.io.IOException
-
readFullyInt64
public void readFullyInt64(long[] b, int off, int len) throws java.io.IOException
- Throws:
java.io.IOException
-
writeFullyInt64
public void writeFullyInt64(long[] b, int off, int len) throws java.io.IOException
- Throws:
java.io.IOException
-
readFully
public void readFully(float[] b, int off, int len) throws java.io.IOException
- Throws:
java.io.IOException
-
writeFully
public void writeFully(float[] b, int off, int len) throws java.io.IOException
- Throws:
java.io.IOException
-
readFully
public void readFully(double[] b, int off, int len) throws java.io.IOException
- Throws:
java.io.IOException
-
writeFully
public void writeFully(double[] b, int off, int len) throws java.io.IOException
- Throws:
java.io.IOException
-
padding
public abstract void padding(int alignment, boolean extend) throws java.io.IOException
Inserts padding at a given offset to fit a given alignment during reading or writing in streams. In case of writing, the stream can't just skip past the end and needs to actually write. The parameter 'extend' tells this method whether it is allowed to extend past the end or not.- Parameters:
alignment
- Requrested aligmentextend
- Extend past boundary (write mode)- Throws:
java.io.IOException
-
padding
public abstract void padding(int alignment) throws java.io.IOException
Same aspadding(int, boolean)
with 'extend == false'.- Parameters:
alignment
- Requrested aligment- Throws:
java.io.IOException
-
skip
public abstract long skip(long n) throws java.io.IOException
- Throws:
java.io.IOException
-
available
public abstract int available() throws java.io.IOException
- Throws:
java.io.IOException
-
offset
public abstract void offset(long offset) throws java.io.IOException
- Throws:
java.io.IOException
-
offset
public abstract long offset() throws java.io.IOException
- Throws:
java.io.IOException
-
getByteOrder
public abstract java.nio.ByteOrder getByteOrder()
-
-