Altibase.jdbc.driver.cm

## Class CmBufferWriter

- java.lang.Object
- - Altibase.jdbc.driver.cm.CmBufferWriter

Direct Known Subclasses:
  CmChannel, ListBufferHandle

    public abstract class CmBufferWriter
    extends java.lang.Object

Author:
  pss4you 기존 CmChannel 에 정의 되어있던 함수 중, ListBufferHandle 과 공유해서 사용할 함수 들을 뽑아낸 상위 클래스

### Field Summary

Fields
`protected java.nio.ByteBuffer` `mBuffer`
`protected java.nio.ByteBuffer` `mCharVarcharColumnBuffer`
`protected java.nio.charset.CharsetEncoder` `mDBEncoder`
`protected java.nio.charset.CharsetEncoder` `mNCharEncoder`
`protected java.nio.charset.CharsetEncoder` `mNLiteralEncoder`

### Constructor Summary

Constructors
Constructor and Description
`CmBufferWriter()`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`abstract void` `checkWritable(int aNeedToWrite)` Buffer 에 쓸 데이터 공간이 충분한지 여부를 확인하여, 충분하지 않으면 필요한 공간을 만드는 함수 CmChannel 과 ListBufferHandle 에서 각자에 맞게 구현한다.
`java.nio.charset.CoderResult` `encodeString(java.lang.String aValue, java.nio.ByteBuffer aBuf)`
`int` `prepareToWriteString(java.lang.String aValue, int aConvType)`
`void` `setCharset(java.nio.charset.Charset aCharset, java.nio.charset.Charset aNCharset)`
`void` `writeByte(byte aValue)`
`void` `writeBytes(byte[] aValue)`
`abstract void` `writeBytes(java.nio.ByteBuffer aValue)` ByteBuffer 객체를 Buffer 에 삽입하는 함수 CmChannel 과 ListBufferHandle 에서 각자에 맞게 구현한다.
`void` `writeDouble(double aValue)`
`void` `writeFloat(float aValue)`
`void` `writeInt(int aValue)`
`void` `writeLong(long aValue)`
`void` `writePreparedString()`
`void` `writeShort(short aValue)`
`void` `writeUnsignedInt(long aValue)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### mDBEncoder

    protected java.nio.charset.CharsetEncoder mDBEncoder

#### mNCharEncoder

    protected java.nio.charset.CharsetEncoder mNCharEncoder

#### mNLiteralEncoder

    protected java.nio.charset.CharsetEncoder mNLiteralEncoder

#### mBuffer

    protected java.nio.ByteBuffer mBuffer

#### mCharVarcharColumnBuffer

    protected java.nio.ByteBuffer mCharVarcharColumnBuffer

### Constructor Detail

#### CmBufferWriter

    public CmBufferWriter()

### Method Detail

#### checkWritable

    public abstract void checkWritable(int aNeedToWrite)
                                throws java.sql.SQLException

Buffer 에 쓸 데이터 공간이 충분한지 여부를 확인하여, 충분하지 않으면 필요한 공간을 만드는 함수 CmChannel 과 ListBufferHandle 에서 각자에 맞게 구현한다.

Parameters:
  `aNeedToWrite` - 데이타를 쓰기 위해 필요한 bytes 숫자
Throws:
  `java.sql.SQLException` - 데이타 전송에 실패했을 경우

#### writeBytes

    public abstract void writeBytes(java.nio.ByteBuffer aValue)
                             throws java.sql.SQLException

ByteBuffer 객체를 Buffer 에 삽입하는 함수 CmChannel 과 ListBufferHandle 에서 각자에 맞게 구현한다.

Parameters:
  `aValue` - Buffer 에 저장할 ByteBuffer 객체
Throws:
  `java.sql.SQLException` - 데이타 전송에 실패했을 경우

#### prepareToWriteString

    public int prepareToWriteString(java.lang.String aValue,
                                    int aConvType)

#### writePreparedString

    public void writePreparedString()
                             throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### encodeString

    public java.nio.charset.CoderResult encodeString(java.lang.String aValue,
                                                     java.nio.ByteBuffer aBuf)

#### writeByte

    public void writeByte(byte aValue)
                   throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### writeShort

    public void writeShort(short aValue)
                    throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### writeInt

    public void writeInt(int aValue)
                  throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### writeUnsignedInt

    public void writeUnsignedInt(long aValue)
                          throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### writeLong

    public void writeLong(long aValue)
                   throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### writeFloat

    public void writeFloat(float aValue)
                    throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### writeDouble

    public void writeDouble(double aValue)
                     throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### writeBytes

    public void writeBytes(byte[] aValue)
                    throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### setCharset

    public void setCharset(java.nio.charset.Charset aCharset,
                           java.nio.charset.Charset aNCharset)