|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.mobixess.jodb.core.io.buffers.RandomAccessFileTransactionBuffer
public class RandomAccessFileTransactionBuffer
Method Summary | |
---|---|
void |
close()
|
void |
delete()
|
java.nio.channels.ByteChannel |
getChannel()
|
long |
getCursorOffset()
|
long |
length()
|
void |
read(byte[] b,
int off,
int len)
|
boolean |
readBoolean()
|
byte |
readByte()
|
char |
readChar()
|
double |
readDouble()
|
float |
readFloat()
|
void |
readFully(byte[] b)
|
void |
readFully(byte[] b,
int off,
int len)
|
int |
readInt()
|
java.lang.String |
readLine()
|
long |
readLong()
|
short |
readShort()
|
int |
readUnsignedByte()
|
int |
readUnsignedShort()
|
java.lang.String |
readUTF()
|
void |
resetToEnd()
|
void |
resetToStart()
|
void |
seek(long pos)
|
void |
setLength(long newLength)
|
long |
skip(long n)
|
int |
skipBytes(int n)
|
java.lang.String |
toString()
|
long |
transferFrom(java.nio.channels.ReadableByteChannel src,
long position,
long count)
Transfers bytes into this channel's file from the given readable byte channel. |
long |
transferTo(long position,
long count,
java.nio.channels.WritableByteChannel target)
Transfers bytes from this channel's file to the given writable byte channel. |
void |
write(byte[] b)
|
void |
write(byte[] b,
int off,
int len)
|
void |
write(int b)
|
void |
writeBoolean(boolean v)
|
void |
writeByte(int v)
|
void |
writeBytes(java.lang.String s)
|
void |
writeChar(int v)
|
void |
writeChars(java.lang.String s)
|
void |
writeDouble(double v)
|
void |
writeFloat(float v)
|
void |
writeInt(int v)
|
void |
writeLong(long v)
|
void |
writeShort(int v)
|
void |
writeUTF(java.lang.String str)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Method Detail |
---|
public void close() throws java.io.IOException
close
in interface IRandomAccessDataBuffer
file
- raFile
-
java.io.IOException
public void delete() throws java.io.IOException
delete
in interface IRandomAccessDataBuffer
java.io.IOException
public java.nio.channels.ByteChannel getChannel()
getChannel
in interface IRandomAccessDataBuffer
public long getCursorOffset() throws java.io.IOException
getCursorOffset
in interface IRandomAccessDataBuffer
java.io.IOException
public long length() throws java.io.IOException
length
in interface IRandomAccessDataBuffer
java.io.IOException
public void seek(long pos) throws java.io.IOException
seek
in interface IRandomAccessDataBuffer
java.io.IOException
public void setLength(long newLength) throws java.io.IOException
setLength
in interface IRandomAccessDataBuffer
java.io.IOException
public long transferFrom(java.nio.channels.ReadableByteChannel src, long position, long count) throws java.io.IOException
An attempt is made to read up to count bytes from the source channel and write them to this channel's file starting at the given position. An invocation of this method may or may not transfer all of the requested bytes; whether or not it does so depends upon the natures and states of the channels. Fewer than the requested number of bytes will be transferred if the source channel has fewer than count bytes remaining, or if the source channel is non-blocking and has fewer than count bytes immediately available in its input buffer.
This method does not modify this channel's position. If the given position is greater than the file's current size then no bytes are transferred. If the source channel has a position then bytes are read starting at that position and then the position is incremented by the number of bytes read.
This method is potentially much more efficient than a simple loop that reads from the source channel and writes to this channel. Many operating systems can transfer bytes directly from the source channel into the filesystem cache without actually copying them.
transferFrom
in interface IRandomAccessDataBuffer
src
- The source channelposition
- The position within the file at which the transfer is to begin;
must be non-negativecount
- The maximum number of bytes to be transferred; must be
non-negative
java.lang.IllegalArgumentException
- If the preconditions on the parameters do not hold
java.nio.channels.NonReadableChannelException
- If the source channel was not opened for reading
java.nio.channels.NonWritableChannelException
- If this channel was not opened for writing
java.nio.channels.ClosedChannelException
- If either this channel or the source channel is closed
java.nio.channels.AsynchronousCloseException
- If another thread closes either channel
while the transfer is in progress
java.nio.channels.ClosedByInterruptException
- If another thread interrupts the current thread while the
transfer is in progress, thereby closing both channels and
setting the current thread's interrupt status
java.io.IOException
- If some other I/O error occurspublic long transferTo(long position, long count, java.nio.channels.WritableByteChannel target) throws java.io.IOException
An attempt is made to read up to count bytes starting at the given position in this channel's file and write them to the target channel. An invocation of this method may or may not transfer all of the requested bytes; whether or not it does so depends upon the natures and states of the channels. Fewer than the requested number of bytes are transferred if this channel's file contains fewer than count bytes starting at the given position, or if the target channel is non-blocking and it has fewer than count bytes free in its output buffer.
This method does not modify this channel's position. If the given position is greater than the file's current size then no bytes are transferred. If the target channel has a position then bytes are written starting at that position and then the position is incremented by the number of bytes written.
This method is potentially much more efficient than a simple loop that reads from this channel and writes to the target channel. Many operating systems can transfer bytes directly from the filesystem cache to the target channel without actually copying them.
transferTo
in interface IRandomAccessDataBuffer
position
- The position within the file at which the transfer is to begin;
must be non-negativecount
- The maximum number of bytes to be transferred; must be
non-negativetarget
- The target channel
java.lang.IllegalArgumentException
- If the preconditions on the parameters do not hold
java.nio.channels.NonReadableChannelException
- If this channel was not opened for reading
java.nio.channels.NonWritableChannelException
- If the target channel was not opened for writing
java.nio.channels.ClosedChannelException
- If either this channel or the target channel is closed
java.nio.channels.AsynchronousCloseException
- If another thread closes either channel
while the transfer is in progress
java.nio.channels.ClosedByInterruptException
- If another thread interrupts the current thread while the
transfer is in progress, thereby closing both channels and
setting the current thread's interrupt status
java.io.IOException
- If some other I/O error occurspublic boolean readBoolean() throws java.io.IOException
readBoolean
in interface java.io.DataInput
java.io.IOException
public byte readByte() throws java.io.IOException
readByte
in interface java.io.DataInput
java.io.IOException
public char readChar() throws java.io.IOException
readChar
in interface java.io.DataInput
java.io.IOException
public double readDouble() throws java.io.IOException
readDouble
in interface java.io.DataInput
java.io.IOException
public float readFloat() throws java.io.IOException
readFloat
in interface java.io.DataInput
java.io.IOException
public void readFully(byte[] b) throws java.io.IOException
readFully
in interface java.io.DataInput
java.io.IOException
public void readFully(byte[] b, int off, int len) throws java.io.IOException
readFully
in interface java.io.DataInput
java.io.IOException
public int readInt() throws java.io.IOException
readInt
in interface java.io.DataInput
java.io.IOException
public java.lang.String readLine() throws java.io.IOException
readLine
in interface java.io.DataInput
java.io.IOException
public long readLong() throws java.io.IOException
readLong
in interface java.io.DataInput
java.io.IOException
public short readShort() throws java.io.IOException
readShort
in interface java.io.DataInput
java.io.IOException
public java.lang.String readUTF() throws java.io.IOException
readUTF
in interface java.io.DataInput
java.io.IOException
public int readUnsignedByte() throws java.io.IOException
readUnsignedByte
in interface java.io.DataInput
java.io.IOException
public int readUnsignedShort() throws java.io.IOException
readUnsignedShort
in interface java.io.DataInput
java.io.IOException
public int skipBytes(int n) throws java.io.IOException
skipBytes
in interface java.io.DataInput
java.io.IOException
public void write(int b) throws java.io.IOException
write
in interface java.io.DataOutput
java.io.IOException
public void write(byte[] b) throws java.io.IOException
write
in interface java.io.DataOutput
java.io.IOException
public void write(byte[] b, int off, int len) throws java.io.IOException
write
in interface java.io.DataOutput
java.io.IOException
public void writeBoolean(boolean v) throws java.io.IOException
writeBoolean
in interface java.io.DataOutput
java.io.IOException
public void writeByte(int v) throws java.io.IOException
writeByte
in interface java.io.DataOutput
java.io.IOException
public void writeBytes(java.lang.String s) throws java.io.IOException
writeBytes
in interface java.io.DataOutput
java.io.IOException
public void writeChar(int v) throws java.io.IOException
writeChar
in interface java.io.DataOutput
java.io.IOException
public void writeChars(java.lang.String s) throws java.io.IOException
writeChars
in interface java.io.DataOutput
java.io.IOException
public void writeDouble(double v) throws java.io.IOException
writeDouble
in interface java.io.DataOutput
java.io.IOException
public void writeFloat(float v) throws java.io.IOException
writeFloat
in interface java.io.DataOutput
java.io.IOException
public void writeInt(int v) throws java.io.IOException
writeInt
in interface java.io.DataOutput
java.io.IOException
public void writeLong(long v) throws java.io.IOException
writeLong
in interface java.io.DataOutput
java.io.IOException
public void writeShort(int v) throws java.io.IOException
writeShort
in interface java.io.DataOutput
java.io.IOException
public void writeUTF(java.lang.String str) throws java.io.IOException
writeUTF
in interface java.io.DataOutput
java.io.IOException
public void resetToStart() throws java.io.IOException
resetToStart
in interface IRandomAccessDataBuffer
java.io.IOException
public void read(byte[] b, int off, int len) throws java.io.IOException
read
in interface IRandomAccessDataBuffer
java.io.IOException
public void resetToEnd() throws java.io.IOException
resetToEnd
in interface IRandomAccessDataBuffer
java.io.IOException
public long skip(long n) throws java.io.IOException
skip
in interface IRandomAccessDataBuffer
java.io.IOException
public java.lang.String toString()
toString
in class java.lang.Object
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |