com.tobesoft.xplatform.tx.impl
Class PlatformBinaryDataDeserializer

java.lang.Object
  extended bycom.tobesoft.xplatform.tx.impl.PlatformBinaryDataDeserializer
All Implemented Interfaces:
DataDeserializer

public class PlatformBinaryDataDeserializer
extends java.lang.Object
implements DataDeserializer

InputStream으로부터 XPlatform에서 정의된 Binary 형식의 데이터(stream)를 읽고, PlatformData으로 변환한다.

Author:
Choi, Jongkwan

Constructor Summary
PlatformBinaryDataDeserializer()
          기본 생성자이다.
 
Method Summary
protected  int columnTypeToDataType(short type)
          입력받은 열(column)의 형식(type)을 X-API의 데이터 형식(type)으로 변환한다.
protected  int[] getColumnIndexes(DataSet ds)
          DataSet 열(column)들을 식별자(name) 기준으로 정렬하여 위치(index)를 반환한다.
protected  int[] getSourceDataTypes(DataSet ds, DataTypeChanger dataTypeChanger)
          DataSet 열(column)들의 변환전 데이터 형식(dataType)을 반환한다.
protected  PlatformData read(java.io.InputStream in, DataTypeChanger dataTypeChanger)
          Binary 형식의 데이터(stream)를 읽고, PlatformData으로 변환한다.
protected  byte[] readBytes(java.io.DataInputStream in, int count)
          byte 배열을 입력받는다.
protected  void readConstantColumnHeaders(java.io.DataInputStream in, DataSet ds)
          Binary 형식의 데이터(stream)를 읽고, 상수값을 가진 ColumnHeader들로 변환한다.
 PlatformData readData(java.io.InputStream in, DataTypeChanger dataTypeChanger, java.lang.String charset)
          InputStream로부터 Binary 형식의 데이터(stream)를 읽고, PlatformData으로 변환한다.
 PlatformData readData(java.io.Reader in, DataTypeChanger dataTypeChanger, java.lang.String charset)
          Reader로부터 Binary 형식의 데이터(stream)를 읽고, PlatformData으로 변환한다.
protected  void readDataRows(java.io.DataInputStream in, DataSet ds, int[] dataTypes)
          Binary 형식의 데이터(stream)를 읽고, 행(row)들로 변환한다.
protected  void readDataSet(java.io.DataInputStream in, PlatformData data, DataTypeChanger dataTypeChanger, int index)
          Binary 형식의 데이터(stream)를 읽고, DataSet으로 변환한다.
protected  void readDefaultColumnHeaders(java.io.DataInputStream in, DataSet ds)
          Binary 형식의 데이터(stream)를 읽고, 일반적인 ColumnHeader들로 변환한다.
protected  int readLength(java.io.DataInputStream in)
          길이(length)를 입력받는다.
protected  java.lang.Object readValue(java.io.DataInputStream in)
          Variant의 데이터를 입력받는다.
protected  java.lang.Object readValue(java.io.DataInputStream in, short type)
          Variant의 데이터를 입력받는다.
protected  void readValueToFile(java.io.DataInputStream in, java.io.File file)
          Variant의 데이터를 파일로 출력한다.
protected  void readValueToFile(java.io.DataInputStream in, short type, java.io.File file)
          Variant의 데이터를 파일로 출력한다.
protected  void readVariable(java.io.DataInputStream in, PlatformData data, DataTypeChanger dataTypeChanger, int index)
          Binary 형식의 데이터(stream)를 읽고, Variable으로 변환한다.
protected  void readVariableList(java.io.DataInputStream in, PlatformData data, DataTypeChanger dataTypeChanger)
          Binary 형식의 데이터(stream)를 읽고, VariableList으로 변환한다.
 void setProperty(java.lang.String key, java.lang.Object value)
          속성값을 설정한다.
protected  int variantTypeToDataType(short type)
          입력받은 Variant의 형식(type)을 X-API의 데이터 형식(type)으로 변환한다.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PlatformBinaryDataDeserializer

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

Method Detail

setProperty

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

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

readData

public PlatformData readData(java.io.InputStream in,
                             DataTypeChanger dataTypeChanger,
                             java.lang.String charset)
                      throws PlatformException
InputStream로부터 Binary 형식의 데이터(stream)를 읽고, PlatformData으로 변환한다.

Specified by:
readData in interface DataDeserializer
Parameters:
in - InputStream
dataTypeChanger - DataTypeChanger
charset - 문자셋
Returns:
PlatformData
Throws:
PlatformException

readData

public PlatformData readData(java.io.Reader in,
                             DataTypeChanger dataTypeChanger,
                             java.lang.String charset)
                      throws PlatformException
Reader로부터 Binary 형식의 데이터(stream)를 읽고, PlatformData으로 변환한다. 그러나, Binary 형식인 경우 Reader 입력은 지원하지 않는다.

Specified by:
readData in interface DataDeserializer
Parameters:
in - Reader
dataTypeChanger - DataTypeChanger
charset - 문자셋
Returns:
PlatformData
Throws:
PlatformException

read

protected PlatformData read(java.io.InputStream in,
                            DataTypeChanger dataTypeChanger)
                     throws java.io.IOException
Binary 형식의 데이터(stream)를 읽고, PlatformData으로 변환한다. 내부적으로 호출되는 메소드(method)의 순서는 다음과 같다.
순 서 메소드(method) 설 명
1 readVariableList(DataInputStream, PlatformData, DataTypeChanger) VariableList 입력
2 readDataSet(DataInputStream, PlatformData, DataTypeChanger) DataSet 입력

Parameters:
in - InputStream
dataTypeChanger - DataTypeChanger
Returns:
PlatformData
Throws:
java.io.IOException

readVariableList

protected void readVariableList(java.io.DataInputStream in,
                                PlatformData data,
                                DataTypeChanger dataTypeChanger)
                         throws java.io.IOException
Binary 형식의 데이터(stream)를 읽고, VariableList으로 변환한다.

Parameters:
in - DataInputStream
data - PlatformData
dataTypeChanger - DataTypeChanger
Throws:
java.io.IOException

readVariable

protected void readVariable(java.io.DataInputStream in,
                            PlatformData data,
                            DataTypeChanger dataTypeChanger,
                            int index)
                     throws java.io.IOException
Binary 형식의 데이터(stream)를 읽고, Variable으로 변환한다.

Parameters:
in - DataInputStream
data - PlatformData
dataTypeChanger - DataTypeChanger
index - 위치
Throws:
java.io.IOException

readDataSet

protected void readDataSet(java.io.DataInputStream in,
                           PlatformData data,
                           DataTypeChanger dataTypeChanger,
                           int index)
                    throws java.io.IOException
Binary 형식의 데이터(stream)를 읽고, DataSet으로 변환한다. 내부적으로 호출되는 메소드(method)의 순서는 다음과 같다.
순 서 메소드(method) 설 명
1 readConstantColumnHeaders(DataInputStream, DataSet) 상수값을 가진 ColumnHeader들 입력
2 readDefaultColumnHeaders(DataInputStream, DataSet) 일반적인 ColumnHeader들 입력
3 readDataRows(DataInputStream, DataSet, int[]) DataSet의 행(row)들 입력

Parameters:
in - DataInputStream
data - PlatformData
dataTypeChanger - DataTypeChanger
index - 위치
Throws:
java.io.IOException

readDefaultColumnHeaders

protected void readDefaultColumnHeaders(java.io.DataInputStream in,
                                        DataSet ds)
                                 throws java.io.IOException
Binary 형식의 데이터(stream)를 읽고, 일반적인 ColumnHeader들로 변환한다.

Parameters:
in - DataInputStream
ds - DataSet
Throws:
java.io.IOException

readConstantColumnHeaders

protected void readConstantColumnHeaders(java.io.DataInputStream in,
                                         DataSet ds)
                                  throws java.io.IOException
Binary 형식의 데이터(stream)를 읽고, 상수값을 가진 ColumnHeader들로 변환한다.

Parameters:
in - DataInputStream
ds - DataSet
Throws:
java.io.IOException

readDataRows

protected void readDataRows(java.io.DataInputStream in,
                            DataSet ds,
                            int[] dataTypes)
                     throws java.io.IOException
Binary 형식의 데이터(stream)를 읽고, 행(row)들로 변환한다.

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

readValue

protected java.lang.Object readValue(java.io.DataInputStream in)
                              throws java.io.IOException
Variant의 데이터를 입력받는다.

Parameters:
in - DataInputStream
Returns:
Variant의 데이터
Throws:
java.io.IOException

readValue

protected java.lang.Object readValue(java.io.DataInputStream in,
                                     short type)
                              throws java.io.IOException
Variant의 데이터를 입력받는다.

Parameters:
in - DataInputStream
type - Variant의 형식
Returns:
Variant의 데이터
Throws:
java.io.IOException

readValueToFile

protected void readValueToFile(java.io.DataInputStream in,
                               java.io.File file)
                        throws java.io.IOException
Variant의 데이터를 파일로 출력한다.

Parameters:
in - DataInputStream
file - 파일
Throws:
java.io.IOException

readValueToFile

protected void readValueToFile(java.io.DataInputStream in,
                               short type,
                               java.io.File file)
                        throws java.io.IOException
Variant의 데이터를 파일로 출력한다.

Parameters:
in - DataInputStream
type - Variant의 형식
file - 파일
Throws:
java.io.IOException

readLength

protected int readLength(java.io.DataInputStream in)
                  throws java.io.IOException
길이(length)를 입력받는다.

Parameters:
in - DataInputStream
Returns:
길이(length)
Throws:
java.io.IOException

readBytes

protected byte[] readBytes(java.io.DataInputStream in,
                           int count)
                    throws java.io.IOException
byte 배열을 입력받는다.

Parameters:
in - DataInputStream
count - 길이
Returns:
byte 배열
Throws:
java.io.IOException

getSourceDataTypes

protected int[] getSourceDataTypes(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)

variantTypeToDataType

protected int variantTypeToDataType(short type)
입력받은 Variant의 형식(type)을 X-API의 데이터 형식(type)으로 변환한다.

Parameters:
type - Variant의 형식(type)
Returns:
X-API의 데이터 형식(type)

columnTypeToDataType

protected int columnTypeToDataType(short type)
입력받은 열(column)의 형식(type)을 X-API의 데이터 형식(type)으로 변환한다.

Parameters:
type - 열(column)의 형식(type)
Returns:
X-API의 데이터 형식(type)


Copyright © 2000-2011 TOBESOFT Co., Ltd.