com.mysql.jdbc
Class Buffer

java.lang.Object
  extended bycom.mysql.jdbc.Buffer
Direct Known Subclasses:
ByteArrayBuffer, ChannelBuffer

abstract class Buffer
extends java.lang.Object

Buffer contains code to read and write packets from/to the MySQL server.


Field Summary
(package private) static int MAX_BYTES_TO_DUMP
           
(package private) static int NO_LENGTH_LIMIT
           
(package private) static long NULL_LENGTH
           
protected  boolean wasMultiPacket
           
 
Constructor Summary
(package private) Buffer()
           
 
Method Summary
static Buffer allocateDirect(int size, boolean useNewIo)
           
static Buffer allocateNew(byte[] buf, boolean useNewIo)
           
static Buffer allocateNew(int size, boolean useNewIo)
           
(package private) abstract  void clear()
           
(package private)  void dump()
           
(package private)  java.lang.String dump(int numBytes)
           
(package private)  java.lang.String dumpClampedBytes(int numBytes)
           
(package private)  void dumpHeader()
           
(package private)  void dumpNBytes(int start, int nBytes)
           
(package private) abstract  void ensureCapacity(int additionalData)
           
abstract  int fastSkipLenString()
          Skip over a length-encoded string
(package private) abstract  int getBufLength()
           
abstract  byte[] getByteBuffer()
          Returns the array of bytes this Buffer is using to read from.
(package private) abstract  byte[] getBytes(int len)
           
(package private) abstract  byte[] getBytes(int offset, int len)
           
(package private) abstract  int getCapacity()
           
abstract  java.nio.ByteBuffer getNioBuffer()
          Returns the Java NIO Buffer (if any)
abstract  int getPosition()
          Returns the current position to write to/ read from
(package private) abstract  boolean isLastDataPacket()
           
(package private) abstract  long newReadLength()
           
(package private) abstract  byte readByte()
           
(package private) abstract  byte readByte(int readAt)
           
(package private) abstract  long readFieldLength()
           
(package private) abstract  int readInt()
           
(package private) abstract  int readIntAsLong()
           
(package private) abstract  byte[] readLenByteArray(int offset)
           
(package private) abstract  long readLength()
           
(package private) abstract  long readLong()
           
(package private) abstract  int readLongInt()
           
(package private) abstract  long readLongLong()
           
(package private) abstract  int readnBytes()
           
(package private) abstract  java.lang.String readString()
           
(package private) abstract  java.lang.String readString(java.lang.String encoding)
           
(package private) abstract  void setBufLength(int bufLength)
           
abstract  void setByteBuffer(byte[] byteBuffer)
          Sets the array of bytes to use as a buffer to read from.
abstract  void setPosition(int position)
          Set the current position to write to/ read from
 void setWasMultiPacket(boolean flag)
          Sets whether this packet was part of a multipacket
 java.lang.String toString()
           
 java.lang.String toSuperString()
           
 boolean wasMultiPacket()
          Was this packet part of a multipacket?
(package private) abstract  void writeByte(byte b)
           
(package private) abstract  void writeBytesNoNull(byte[] bytes)
           
(package private) abstract  void writeBytesNoNull(byte[] bytes, int offset, int length)
           
(package private) abstract  void writeDouble(double d)
           
(package private) abstract  void writeFieldLength(long length)
           
(package private) abstract  void writeFloat(float f)
           
(package private) abstract  void writeInt(int i)
           
(package private) abstract  void writeLenBytes(byte[] b)
           
(package private) abstract  void writeLenString(java.lang.String s, java.lang.String encoding, java.lang.String serverEncoding, SingleByteCharsetConverter converter, boolean parserKnowsUnicode)
           
(package private) abstract  void writeLong(long i)
           
(package private) abstract  void writeLongInt(int i)
           
(package private) abstract  void writeLongLong(long i)
           
(package private) abstract  void writeString(java.lang.String s)
           
(package private) abstract  void writeStringNoNull(java.lang.String s)
           
(package private) abstract  void writeStringNoNull(java.lang.String s, java.lang.String encoding, java.lang.String serverEncoding, boolean parserKnowsUnicode)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

MAX_BYTES_TO_DUMP

static final int MAX_BYTES_TO_DUMP
See Also:
Constant Field Values

NO_LENGTH_LIMIT

static final int NO_LENGTH_LIMIT
See Also:
Constant Field Values

NULL_LENGTH

static final long NULL_LENGTH
See Also:
Constant Field Values

wasMultiPacket

protected boolean wasMultiPacket
Constructor Detail

Buffer

Buffer()
Method Detail

allocateDirect

public static Buffer allocateDirect(int size,
                                    boolean useNewIo)

allocateNew

public static Buffer allocateNew(byte[] buf,
                                 boolean useNewIo)

allocateNew

public static Buffer allocateNew(int size,
                                 boolean useNewIo)

clear

abstract void clear()

dump

final void dump()

dump

final java.lang.String dump(int numBytes)

dumpClampedBytes

final java.lang.String dumpClampedBytes(int numBytes)

dumpHeader

final void dumpHeader()

dumpNBytes

final void dumpNBytes(int start,
                      int nBytes)

ensureCapacity

abstract void ensureCapacity(int additionalData)
                      throws java.sql.SQLException
Throws:
java.sql.SQLException

fastSkipLenString

public abstract int fastSkipLenString()
Skip over a length-encoded string

Returns:
The position past the end of the string

getBufLength

abstract int getBufLength()

getByteBuffer

public abstract byte[] getByteBuffer()
Returns the array of bytes this Buffer is using to read from.

Returns:
byte array being read from

getBytes

abstract byte[] getBytes(int len)

getBytes

abstract byte[] getBytes(int offset,
                         int len)

getCapacity

abstract int getCapacity()

getNioBuffer

public abstract java.nio.ByteBuffer getNioBuffer()
Returns the Java NIO Buffer (if any)


getPosition

public abstract int getPosition()
Returns the current position to write to/ read from

Returns:
the current position to write to/ read from

isLastDataPacket

abstract boolean isLastDataPacket()

newReadLength

abstract long newReadLength()

readByte

abstract byte readByte()

readByte

abstract byte readByte(int readAt)

readFieldLength

abstract long readFieldLength()

readInt

abstract int readInt()

readIntAsLong

abstract int readIntAsLong()

readLenByteArray

abstract byte[] readLenByteArray(int offset)

readLength

abstract long readLength()

readLong

abstract long readLong()

readLongInt

abstract int readLongInt()

readLongLong

abstract long readLongLong()

readnBytes

abstract int readnBytes()

readString

abstract java.lang.String readString()

readString

abstract java.lang.String readString(java.lang.String encoding)
                              throws java.sql.SQLException
Throws:
java.sql.SQLException

setBufLength

abstract void setBufLength(int bufLength)

setByteBuffer

public abstract void setByteBuffer(byte[] byteBuffer)
Sets the array of bytes to use as a buffer to read from.

Parameters:
byteBuffer - the array of bytes to use as a buffer

setPosition

public abstract void setPosition(int position)
Set the current position to write to/ read from

Parameters:
position - the position (0-based index)

setWasMultiPacket

public void setWasMultiPacket(boolean flag)
Sets whether this packet was part of a multipacket

Parameters:
flag - was this packet part of a multipacket?

toString

public java.lang.String toString()

toSuperString

public java.lang.String toSuperString()

wasMultiPacket

public boolean wasMultiPacket()
Was this packet part of a multipacket?

Returns:
was this packet part of a multipacket?

writeByte

abstract void writeByte(byte b)
                 throws java.sql.SQLException
Throws:
java.sql.SQLException

writeBytesNoNull

abstract void writeBytesNoNull(byte[] bytes)
                        throws java.sql.SQLException
Throws:
java.sql.SQLException

writeBytesNoNull

abstract void writeBytesNoNull(byte[] bytes,
                               int offset,
                               int length)
                        throws java.sql.SQLException
Throws:
java.sql.SQLException

writeDouble

abstract void writeDouble(double d)
                   throws java.sql.SQLException
Throws:
java.sql.SQLException

writeFieldLength

abstract void writeFieldLength(long length)
                        throws java.sql.SQLException
Throws:
java.sql.SQLException

writeFloat

abstract void writeFloat(float f)
                  throws java.sql.SQLException
Throws:
java.sql.SQLException

writeInt

abstract void writeInt(int i)
                throws java.sql.SQLException
Throws:
java.sql.SQLException

writeLenBytes

abstract void writeLenBytes(byte[] b)
                     throws java.sql.SQLException
Throws:
java.sql.SQLException

writeLenString

abstract void writeLenString(java.lang.String s,
                             java.lang.String encoding,
                             java.lang.String serverEncoding,
                             SingleByteCharsetConverter converter,
                             boolean parserKnowsUnicode)
                      throws java.io.UnsupportedEncodingException,
                             java.sql.SQLException
Throws:
java.io.UnsupportedEncodingException
java.sql.SQLException

writeLong

abstract void writeLong(long i)
                 throws java.sql.SQLException
Throws:
java.sql.SQLException

writeLongInt

abstract void writeLongInt(int i)
                    throws java.sql.SQLException
Throws:
java.sql.SQLException

writeLongLong

abstract void writeLongLong(long i)
                     throws java.sql.SQLException
Throws:
java.sql.SQLException

writeString

abstract void writeString(java.lang.String s)
                   throws java.sql.SQLException
Throws:
java.sql.SQLException

writeStringNoNull

abstract void writeStringNoNull(java.lang.String s)
                         throws java.sql.SQLException
Throws:
java.sql.SQLException

writeStringNoNull

abstract void writeStringNoNull(java.lang.String s,
                                java.lang.String encoding,
                                java.lang.String serverEncoding,
                                boolean parserKnowsUnicode)
                         throws java.io.UnsupportedEncodingException,
                                java.sql.SQLException
Throws:
java.io.UnsupportedEncodingException
java.sql.SQLException