com.tobesoft.xplatform.tx.impl
Class PlatformBinaryDataSerializer

java.lang.Object
  extended bycom.tobesoft.xplatform.tx.impl.PlatformBinaryDataSerializer
All Implemented Interfaces:
DataSerializer

public class PlatformBinaryDataSerializer
extends java.lang.Object
implements DataSerializer

PlatformData를 XPlatform에서 정의된 Binary 형식으로 변환하여 OutputStream으로 출력한다.

Author:
Choi, Jongkwan

Constructor Summary
PlatformBinaryDataSerializer()
          기본 생성자이다.
 
Method Summary
protected  int[] getColumnIndexes(DataSet ds)
          DataSet 열(column)들을 식별자(name) 기준으로 정렬하여 위치(index)를 반환한다.
protected  int[] getTargetDataTypes(DataSet ds, DataTypeChanger dataTypeChanger)
          DataSet 열(column)들의 변환될 데이터 형식(dataType)을 반환한다.
 void setProperty(java.lang.String key, java.lang.Object value)
          속성값을 설정한다.
protected  void write(java.io.OutputStream out, PlatformData data, DataTypeChanger dataTypeChanger)
          PlatformData를 Binary 형식으로 출력한다.
protected  void writeBlobFromFile(java.io.DataOutputStream out, java.lang.String filename)
          파일의 데이터를 byte 배열 형식의 데이터으로 출력한다.
protected  void writeColumnHeaders(java.io.DataOutputStream out, DataSet ds, int[] dataTypes)
          DataSet의 열(column)들을 Binary 형식으로 출력한다.
protected  void writeConstantColumnHeaders(java.io.DataOutputStream out, DataSet ds, int[] dataTypes)
          DataSet의 상수값을 가진 ColumnHeader들을 Binary 형식으로 출력한다.
 void writeData(java.io.OutputStream out, PlatformData data, DataTypeChanger dataTypeChanger, java.lang.String charset)
          PlatformData를 Binary 형식으로 변환하여 OutputStream으로 출력한다.
 void writeData(java.io.Writer out, PlatformData data, DataTypeChanger dataTypeChanger, java.lang.String charset)
          PlatformData를 Binary 형식으로 변환하여 Writer으로 출력한다.
protected  void writeDataSet(java.io.DataOutputStream out, PlatformData data, DataSet ds, DataTypeChanger dataTypeChanger)
          DataSet을 Binary 형식으로 출력한다.
protected  void writeDataSetList(java.io.DataOutputStream out, PlatformData data, DataTypeChanger dataTypeChanger)
          DataSetList를 Binary 형식으로 출력한다.
protected  void writeDateValue(java.io.DataOutputStream out, java.util.Date value)
          일자를 가지는 Date 형식의 데이터를 출력한다.
protected  void writeDefaultColumnHeaders(java.io.DataOutputStream out, DataSet ds, int[] dataTypes)
          DataSet의 일반적인 ColumnHeader들을 Binary 형식으로 출력한다.
protected  void writeEmptyValue(java.io.DataOutputStream out)
          null 형식의 데이터를 출력한다.
protected  void writeLength(java.io.DataOutputStream out, int length)
          길이(length)를 출력한다.
protected  void writeRemovedRow(java.io.DataOutputStream out, DataSet ds, int[] dataTypes, int row)
          DataSet의 삭제된 데이터를 Binary 형식으로 출력한다.
protected  void writeRow(java.io.DataOutputStream out, DataSet ds, int[] dataTypes, int row, int saveType)
          DataSet의 행(row)을 Binary 형식으로 출력한다.
protected  void writeRows(java.io.DataOutputStream out, PlatformData data, DataSet ds, int[] dataTypes)
          DataSet의 행(row)들을 Binary 형식으로 출력한다.
protected  void writeSavedRow(java.io.DataOutputStream out, DataSet ds, int[] dataTypes, int row)
          DataSet의 원본 데이터를 Binary 형식으로 출력한다.
protected  void writeStringFromFile(java.io.DataOutputStream out, java.lang.String filename)
          파일의 데이터를 String 형식의 데이터로 출력한다.
protected  void writeTimeValue(java.io.DataOutputStream out, java.util.Date value)
          시간을 가지는 Date 형식의 데이터를 출력한다.
protected  void writeValue(java.io.DataOutputStream out, java.math.BigDecimal value)
          BigDecimal 형식의 데이터를 출력한다.
protected  void writeValue(java.io.DataOutputStream out, boolean value)
          boolean 형식의 데이터를 출력한다.
protected  void writeValue(java.io.DataOutputStream out, byte[] value)
          byte 배열 형식의 데이터를 출력한다.
protected  void writeValue(java.io.DataOutputStream out, java.util.Date value)
          일자와 시간을 가지는 Date 형식의 데이터를 출력한다.
protected  void writeValue(java.io.DataOutputStream out, double value)
          double 형식의 데이터를 출력한다.
protected  void writeValue(java.io.DataOutputStream out, float value)
          float 형식의 데이터를 출력한다.
protected  void writeValue(java.io.DataOutputStream out, int value)
          int 형식의 데이터를 출력한다.
protected  void writeValue(java.io.DataOutputStream out, long value)
          long 형식의 데이터를 출력한다.
protected  void writeValue(java.io.DataOutputStream out, java.lang.String value)
          String 형식의 데이터를 출력한다.
protected  void writeVariable(java.io.DataOutputStream out, Variable var, DataTypeChanger dataTypeChanger)
          Variable을 Binary 형식으로 출력한다.
protected  void writeVariableList(java.io.DataOutputStream out, PlatformData data, DataTypeChanger dataTypeChanger)
          VariableList를 Binary 형식으로 출력한다.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PlatformBinaryDataSerializer

public PlatformBinaryDataSerializer()
기본 생성자이다.

Method Detail

setProperty

public void setProperty(java.lang.String key,
                        java.lang.Object value)
속성값을 설정한다.

Specified by:
setProperty in interface DataSerializer
Parameters:
key - 속성명
value - 속성값

writeData

public void writeData(java.io.OutputStream out,
                      PlatformData data,
                      DataTypeChanger dataTypeChanger,
                      java.lang.String charset)
               throws PlatformException
PlatformData를 Binary 형식으로 변환하여 OutputStream으로 출력한다.

Specified by:
writeData in interface DataSerializer
Parameters:
out - OutputStream
data - PlatformData
dataTypeChanger - DataTypeChanger
charset - 문자셋
Throws:
PlatformException

writeData

public void writeData(java.io.Writer out,
                      PlatformData data,
                      DataTypeChanger dataTypeChanger,
                      java.lang.String charset)
               throws PlatformException
PlatformData를 Binary 형식으로 변환하여 Writer으로 출력한다. 그러나, Binary 형식인 경우 Writer 출력은 지원하지 않는다.

Specified by:
writeData in interface DataSerializer
Parameters:
out - Writer
data - PlatformData
dataTypeChanger - DataTypeChanger
charset - 문자셋
Throws:
PlatformException

write

protected void write(java.io.OutputStream out,
                     PlatformData data,
                     DataTypeChanger dataTypeChanger)
              throws java.io.IOException
PlatformData를 Binary 형식으로 출력한다. 내부적으로 호출되는 메소드(method)의 순서는 다음과 같다.
순 서 메소드(method) 설 명
1 writeVariableList(DataOutputStream, PlatformData, DataTypeChanger) VariableList 출력
2 writeDataSetList(DataOutputStream, PlatformData, DataTypeChanger) DataSetList 출력

Parameters:
out - OutputStream
data - PlatformData
dataTypeChanger - DataTypeChanger
Throws:
java.io.IOException

writeVariableList

protected void writeVariableList(java.io.DataOutputStream out,
                                 PlatformData data,
                                 DataTypeChanger dataTypeChanger)
                          throws java.io.IOException
VariableList를 Binary 형식으로 출력한다.

Parameters:
out - DataOutputStream
data - PlatformData
dataTypeChanger - DataTypeChanger
Throws:
java.io.IOException

writeVariable

protected void writeVariable(java.io.DataOutputStream out,
                             Variable var,
                             DataTypeChanger dataTypeChanger)
                      throws java.io.IOException
Variable을 Binary 형식으로 출력한다.

Parameters:
out - DataOutputStream
var - Variable
dataTypeChanger - DataTypeChanger
Throws:
java.io.IOException

writeDataSetList

protected void writeDataSetList(java.io.DataOutputStream out,
                                PlatformData data,
                                DataTypeChanger dataTypeChanger)
                         throws java.io.IOException
DataSetList를 Binary 형식으로 출력한다.

Parameters:
out - DataOutputStream
data - PlatformData
dataTypeChanger - DataTypeChanger
Throws:
java.io.IOException

writeDataSet

protected void writeDataSet(java.io.DataOutputStream out,
                            PlatformData data,
                            DataSet ds,
                            DataTypeChanger dataTypeChanger)
                     throws java.io.IOException
DataSet을 Binary 형식으로 출력한다. 내부적으로 호출되는 메소드(method)의 순서는 다음과 같다.
순 서 메소드(method) 설 명
1 writeColumnHeaders(DataOutputStream, DataSet, int[]) 열(column)들 출력
2 writeRows(DataOutputStream, PlatformData, DataSet, int[]) 행(column)들 출력

Parameters:
out - DataOutputStream
data - PlatformData
ds - DataSet
dataTypeChanger - DataTypeChanger
Throws:
java.io.IOException

writeColumnHeaders

protected void writeColumnHeaders(java.io.DataOutputStream out,
                                  DataSet ds,
                                  int[] dataTypes)
                           throws java.io.IOException
DataSet의 열(column)들을 Binary 형식으로 출력한다.

Parameters:
out - DataOutputStream
ds - DataSet
dataTypes - DataSet 열(column)들의 변환될 데이터 형식(dataType)
Throws:
java.io.IOException

writeDefaultColumnHeaders

protected void writeDefaultColumnHeaders(java.io.DataOutputStream out,
                                         DataSet ds,
                                         int[] dataTypes)
                                  throws java.io.IOException
DataSet의 일반적인 ColumnHeader들을 Binary 형식으로 출력한다.

Parameters:
out - DataOutputStream
ds - DataSet
dataTypes - DataSet 열(column)들의 변환될 데이터 형식(dataType)
Throws:
java.io.IOException

writeConstantColumnHeaders

protected void writeConstantColumnHeaders(java.io.DataOutputStream out,
                                          DataSet ds,
                                          int[] dataTypes)
                                   throws java.io.IOException
DataSet의 상수값을 가진 ColumnHeader들을 Binary 형식으로 출력한다.

Parameters:
out - DataOutputStream
ds - DataSet
dataTypes - DataSet 열(column)들의 변환될 데이터 형식(dataType)
Throws:
java.io.IOException

writeRows

protected void writeRows(java.io.DataOutputStream out,
                         PlatformData data,
                         DataSet ds,
                         int[] dataTypes)
                  throws java.io.IOException
DataSet의 행(row)들을 Binary 형식으로 출력한다.

Parameters:
out - DataOutputStream
data - PlatformData
ds - DataSet
dataTypes - DataSet 열(column)들의 변환될 데이터 형식(dataType)
Throws:
java.io.IOException

writeRow

protected void writeRow(java.io.DataOutputStream out,
                        DataSet ds,
                        int[] dataTypes,
                        int row,
                        int saveType)
                 throws java.io.IOException
DataSet의 행(row)을 Binary 형식으로 출력한다.

Parameters:
out - DataOutputStream
ds - DataSet
dataTypes - DataSet 열(column)들의 변환될 데이터 형식(dataType)
row - 행의 위치(index)
saveType - 저장 방식
Throws:
java.io.IOException

writeSavedRow

protected void writeSavedRow(java.io.DataOutputStream out,
                             DataSet ds,
                             int[] dataTypes,
                             int row)
                      throws java.io.IOException
DataSet의 원본 데이터를 Binary 형식으로 출력한다.

Parameters:
out - DataOutputStream
ds - DataSet
dataTypes - DataSet 열(column)들의 변환될 데이터 형식(dataType)
row - 행의 위치(index)
Throws:
java.io.IOException

writeRemovedRow

protected void writeRemovedRow(java.io.DataOutputStream out,
                               DataSet ds,
                               int[] dataTypes,
                               int row)
                        throws java.io.IOException
DataSet의 삭제된 데이터를 Binary 형식으로 출력한다.

Parameters:
out - DataOutputStream
ds - DataSet
dataTypes - DataSet 열(column)들의 변환될 데이터 형식(dataType)
row - 행의 위치(index)
Throws:
java.io.IOException

writeValue

protected void writeValue(java.io.DataOutputStream out,
                          java.lang.String value)
                   throws java.io.IOException
String 형식의 데이터를 출력한다.

Parameters:
out - DataOutputStream
value - 데이터
Throws:
java.io.IOException

writeValue

protected void writeValue(java.io.DataOutputStream out,
                          int value)
                   throws java.io.IOException
int 형식의 데이터를 출력한다.

Parameters:
out - DataOutputStream
value - 데이터
Throws:
java.io.IOException

writeValue

protected void writeValue(java.io.DataOutputStream out,
                          boolean value)
                   throws java.io.IOException
boolean 형식의 데이터를 출력한다.

Parameters:
out - DataOutputStream
value - 데이터
Throws:
java.io.IOException

writeValue

protected void writeValue(java.io.DataOutputStream out,
                          long value)
                   throws java.io.IOException
long 형식의 데이터를 출력한다.

Parameters:
out - DataOutputStream
value - 데이터
Throws:
java.io.IOException

writeValue

protected void writeValue(java.io.DataOutputStream out,
                          float value)
                   throws java.io.IOException
float 형식의 데이터를 출력한다.

Parameters:
out - DataOutputStream
value - 데이터
Throws:
java.io.IOException

writeValue

protected void writeValue(java.io.DataOutputStream out,
                          double value)
                   throws java.io.IOException
double 형식의 데이터를 출력한다.

Parameters:
out - DataOutputStream
value - 데이터
Throws:
java.io.IOException

writeValue

protected void writeValue(java.io.DataOutputStream out,
                          java.math.BigDecimal value)
                   throws java.io.IOException
BigDecimal 형식의 데이터를 출력한다.

Parameters:
out - DataOutputStream
value - 데이터
Throws:
java.io.IOException

writeDateValue

protected void writeDateValue(java.io.DataOutputStream out,
                              java.util.Date value)
                       throws java.io.IOException
일자를 가지는 Date 형식의 데이터를 출력한다.

Parameters:
out - DataOutputStream
value - 데이터
Throws:
java.io.IOException

writeTimeValue

protected void writeTimeValue(java.io.DataOutputStream out,
                              java.util.Date value)
                       throws java.io.IOException
시간을 가지는 Date 형식의 데이터를 출력한다.

Parameters:
out - DataOutputStream
value - 데이터
Throws:
java.io.IOException

writeValue

protected void writeValue(java.io.DataOutputStream out,
                          java.util.Date value)
                   throws java.io.IOException
일자와 시간을 가지는 Date 형식의 데이터를 출력한다.

Parameters:
out - DataOutputStream
value - 데이터
Throws:
java.io.IOException

writeValue

protected void writeValue(java.io.DataOutputStream out,
                          byte[] value)
                   throws java.io.IOException
byte 배열 형식의 데이터를 출력한다.

Parameters:
out - DataOutputStream
value - 데이터
Throws:
java.io.IOException

writeEmptyValue

protected void writeEmptyValue(java.io.DataOutputStream out)
                        throws java.io.IOException
null 형식의 데이터를 출력한다.

Parameters:
out - DataOutputStream
Throws:
java.io.IOException

writeStringFromFile

protected void writeStringFromFile(java.io.DataOutputStream out,
                                   java.lang.String filename)
                            throws java.io.IOException
파일의 데이터를 String 형식의 데이터로 출력한다.

Parameters:
out - DataOutputStream
filename - 파일의 경로
Throws:
java.io.IOException

writeBlobFromFile

protected void writeBlobFromFile(java.io.DataOutputStream out,
                                 java.lang.String filename)
                          throws java.io.IOException
파일의 데이터를 byte 배열 형식의 데이터으로 출력한다.

Parameters:
out - DataOutputStream
filename - 파일의 경로
Throws:
java.io.IOException

writeLength

protected void writeLength(java.io.DataOutputStream out,
                           int length)
                    throws java.io.IOException
길이(length)를 출력한다.

Parameters:
out - DataOutputStream
length - 길이
Throws:
java.io.IOException

getTargetDataTypes

protected int[] getTargetDataTypes(DataSet ds,
                                   DataTypeChanger dataTypeChanger)
DataSet 열(column)들의 변환될 데이터 형식(dataType)을 반환한다.

Parameters:
ds - DataSet
dataTypeChanger - DataTypeChanger
Returns:
DataSet 열(column)들의 변환될 데이터 형식(dataType)

getColumnIndexes

protected int[] getColumnIndexes(DataSet ds)
DataSet 열(column)들을 식별자(name) 기준으로 정렬하여 위치(index)를 반환한다.

Parameters:
ds - DataSet
Returns:
DataSet 열(column)들의 위치(index)


Copyright © 2000-2011 TOBESOFT Co., Ltd.