org.hsqldb.rowio
Class RowOutputBinary

java.lang.Object
  extended byjava.io.OutputStream
      extended byorg.hsqldb.lib.HsqlByteArrayOutputStream
          extended byorg.hsqldb.rowio.RowOutputBase
              extended byorg.hsqldb.rowio.RowOutputBinary
All Implemented Interfaces:
DataOutput, RowOutputInterface

public class RowOutputBinary
extends RowOutputBase

Provides methods for writing the data for a row to a byte array. The new format of data consists of mainly binary values and is not compatible with v.1.6.x databases.

Since:
1.7.0
Version:
1.7.2
Author:
sqlbob@users (RMP), fredt@users

Field Summary
 
Fields inherited from class org.hsqldb.rowio.RowOutputBase
CACHED_ROW_160, CACHED_ROW_170, skipSystemId
 
Fields inherited from class org.hsqldb.lib.HsqlByteArrayOutputStream
buf, count
 
Constructor Summary
RowOutputBinary()
           
RowOutputBinary(byte[] buffer)
          Constructor used for network transmission of result sets
RowOutputBinary(int initialSize)
           
 
Method Summary
 void ensureRoom(int extra)
          Calculate the size of byte array required to store a string in utf8.
 int getSize(CachedRow row)
          Calculate the size of byte array required to store a row.
 void reset(int newSize)
           
 void setBuffer(byte[] buffer)
           
protected  void writeBigint(Number o)
           
protected  void writeBinary(Binary o, int t)
           
protected  void writeBit(Boolean o)
           
protected  void writeByteArray(byte[] b)
           
protected  void writeChar(String s, int t)
           
protected  void writeDate(Date o)
           
protected  void writeDecimal(BigDecimal o)
           
protected  void writeFieldType(int type)
           
 void writeIntData(int i)
           
 void writeIntData(int i, int position)
           
protected  void writeInteger(Number o)
           
protected  void writeNull(int type)
           
protected  void writeOther(JavaObject o)
           
 void writePos(int pos)
           
protected  void writeReal(Double o, int type)
           
 void writeSize(int size)
           
protected  void writeSmallint(Number o)
           
 void writeString(String s)
           
protected  void writeTime(Time o)
           
protected  void writeTimestamp(Timestamp o)
           
 void writeType(int type)
           
 
Methods inherited from class org.hsqldb.rowio.RowOutputBase
getOutputStream, newRowOutput, writeData, writeData, writeFieldPrefix
 
Methods inherited from class org.hsqldb.lib.HsqlByteArrayOutputStream
close, fill, flush, getBuffer, reset, size, toByteArray, toString, toString, toString, write, write, write, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeDouble, writeFloat, writeInt, writeLong, writeShort, writeTo, writeUTF
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.hsqldb.rowio.RowOutputInterface
reset, size
 

Constructor Detail

RowOutputBinary

public RowOutputBinary()

RowOutputBinary

public RowOutputBinary(int initialSize)

RowOutputBinary

public RowOutputBinary(byte[] buffer)
Constructor used for network transmission of result sets

Throws:
IOException - when an IO error is encountered
Method Detail

writeIntData

public void writeIntData(int i)
                  throws IOException
Specified by:
writeIntData in interface RowOutputInterface
Specified by:
writeIntData in class RowOutputBase
Throws:
IOException

writeIntData

public void writeIntData(int i,
                         int position)
                  throws IOException
Specified by:
writeIntData in interface RowOutputInterface
Specified by:
writeIntData in class RowOutputBase
Throws:
IOException

writePos

public void writePos(int pos)
              throws IOException
Specified by:
writePos in interface RowOutputInterface
Specified by:
writePos in class RowOutputBase
Throws:
IOException

writeSize

public void writeSize(int size)
               throws IOException
Specified by:
writeSize in interface RowOutputInterface
Specified by:
writeSize in class RowOutputBase
Throws:
IOException

writeType

public void writeType(int type)
               throws IOException
Specified by:
writeType in interface RowOutputInterface
Specified by:
writeType in class RowOutputBase
Throws:
IOException

writeString

public void writeString(String s)
                 throws IOException
Specified by:
writeString in interface RowOutputInterface
Specified by:
writeString in class RowOutputBase
Throws:
IOException

getSize

public int getSize(CachedRow row)
            throws HsqlException
Calculate the size of byte array required to store a row.

Parameters:
row - - a database row
Returns:
size of byte array
Throws:
HsqlException - When data is inconsistent

writeFieldType

protected void writeFieldType(int type)
                       throws IOException
Specified by:
writeFieldType in class RowOutputBase
Throws:
IOException

writeNull

protected void writeNull(int type)
                  throws IOException
Specified by:
writeNull in class RowOutputBase
Throws:
IOException

writeChar

protected void writeChar(String s,
                         int t)
                  throws IOException
Specified by:
writeChar in class RowOutputBase
Throws:
IOException

writeSmallint

protected void writeSmallint(Number o)
                      throws IOException,
                             HsqlException
Specified by:
writeSmallint in class RowOutputBase
Throws:
IOException
HsqlException

writeInteger

protected void writeInteger(Number o)
                     throws IOException,
                            HsqlException
Specified by:
writeInteger in class RowOutputBase
Throws:
IOException
HsqlException

writeBigint

protected void writeBigint(Number o)
                    throws IOException,
                           HsqlException
Specified by:
writeBigint in class RowOutputBase
Throws:
IOException
HsqlException

writeReal

protected void writeReal(Double o,
                         int type)
                  throws IOException,
                         HsqlException
Specified by:
writeReal in class RowOutputBase
Throws:
IOException
HsqlException

writeDecimal

protected void writeDecimal(BigDecimal o)
                     throws IOException,
                            HsqlException
Specified by:
writeDecimal in class RowOutputBase
Throws:
IOException
HsqlException

writeBit

protected void writeBit(Boolean o)
                 throws IOException,
                        HsqlException
Specified by:
writeBit in class RowOutputBase
Throws:
IOException
HsqlException

writeDate

protected void writeDate(Date o)
                  throws IOException,
                         HsqlException
Specified by:
writeDate in class RowOutputBase
Throws:
IOException
HsqlException

writeTime

protected void writeTime(Time o)
                  throws IOException,
                         HsqlException
Specified by:
writeTime in class RowOutputBase
Throws:
IOException
HsqlException

writeTimestamp

protected void writeTimestamp(Timestamp o)
                       throws IOException,
                              HsqlException
Specified by:
writeTimestamp in class RowOutputBase
Throws:
IOException
HsqlException

writeOther

protected void writeOther(JavaObject o)
                   throws IOException,
                          HsqlException
Specified by:
writeOther in class RowOutputBase
Throws:
IOException
HsqlException

writeBinary

protected void writeBinary(Binary o,
                           int t)
                    throws IOException,
                           HsqlException
Specified by:
writeBinary in class RowOutputBase
Throws:
IOException
HsqlException

writeByteArray

protected void writeByteArray(byte[] b)
                       throws IOException
Throws:
IOException

ensureRoom

public void ensureRoom(int extra)
Calculate the size of byte array required to store a string in utf8.

Overrides:
ensureRoom in class HsqlByteArrayOutputStream
Returns:
size of the utf8 string

reset

public void reset(int newSize)
Overrides:
reset in class HsqlByteArrayOutputStream

setBuffer

public void setBuffer(byte[] buffer)


Copyright © 2001 - 2004 HSQL Development Group. All Rights Reserved.