com.tobesoft.xplatform.tx
Class PlatformRequest

java.lang.Object
  extended bycom.tobesoft.xplatform.tx.PlatformTransaction
      extended bycom.tobesoft.xplatform.tx.PlatformRequest
Direct Known Subclasses:
HttpPlatformRequest

public class PlatformRequest
extends com.tobesoft.xplatform.tx.PlatformTransaction

InputStream 또는 Reader로부터 데이터(PlatformData)를 수신받는다. InputStream 또는 Reader로부터 읽은 데이터(stream)는 ProtocolDecoder에 의해 압축 해제, 복호화 등이 수행된 후 DataDeserializer에 의해 PlatformData으로 변환된다.

ProtocolDecoder는 프로토콜 형식(protocolType)에 의해 적용되며, DataDeserializer는 송수신 형식(contentType)에 의해 적용된다. 그리고, ProtocolDecoder는 복수개의 적용이 가능하다.

Author:
Choi, Jongkwan

Constructor Summary
PlatformRequest()
          기본 생성자이다.
PlatformRequest(java.io.InputStream in)
          InputStream을 가지는 생성자이다.
PlatformRequest(java.io.InputStream in, java.lang.String contentType)
          InputStream과 송수신 형식(contentType)을 가지는 생성자이다.
PlatformRequest(java.io.InputStream in, java.lang.String contentType, java.lang.String charset)
          InputStream, 송수신 형식(contentType)과 문자셋(charset)을 가지는 생성자이다.
PlatformRequest(java.io.Reader reader)
          Reader를 가지는 생성자이다.
PlatformRequest(java.io.Reader reader, java.lang.String contentType)
          Reader와 송수신 형식(contentType)을 가지는 생성자이다.
PlatformRequest(java.io.Reader reader, java.lang.String contentType, java.lang.String charset)
          Reader, 송수신 형식(contentType)과 문자셋(charset)을 가지는 생성자이다.
PlatformRequest(java.lang.String contentType)
          송수신 형식(contentType)을 가지는 생성자이다.
PlatformRequest(java.lang.String contentType, java.lang.String charset)
          송수신 형식(contentType)과 문자셋(charset)을 가지는 생성자이다.
 
Method Summary
 void addProtocolType(java.lang.String protocolType)
          프로토콜 형식(protocolType)을 추가한다.
 void clearProtocolTypes()
          모든 프로토콜 형식(protocolType)을 삭제한다.
 boolean containsProtocolType(java.lang.String protocolType)
          프로토콜 형식(protocolType)의 포함 여부를 검사한다.
 java.lang.String getCharset()
          문자셋(charset)을 반환한다.
 java.lang.String getContentType()
          송수신 형식(contentType)을 반환한다.
protected  java.lang.String getCurrentCharset()
          현재 문자셋(charset)을 반환한다.
protected  java.lang.String getCurrentContentType()
          현재 송수신 형식(contentType)을 반환한다.
 PlatformData getData()
          데이터를 반환한다.
 DataTypeChanger getDataTypeChanger()
          DataTypeChanger를 반환한다.
protected  java.lang.String getDefaultCharset()
          기본 문자셋(charset)을 반환한다.
protected  java.lang.String getDefaultContentType()
          기본 송수신 형식(contentType)을 반환한다.
 java.lang.Object getProperty(java.lang.String key)
          속성값을 반환한다.
 java.lang.String getProtocolType(int index)
          프로토콜 형식(protocolType)을 반환한다.
 int getProtocolTypeCount()
          프로토콜 형식(protocolType)의 갯수를 반환한다.
 java.lang.String getStreamLogDir()
          예외발생시 수신받은 데이터(stream)를 저장할 위치를 반환한다.
 int getStreamLogMaxSize()
          isStreamLogEnabled가 "true" 인 경우 수신받을 데이터(stream)를 저장할 최대 버퍼 크기를 반환한다.
 java.lang.String getStreamLogPrefix()
          isStreamLogEnabled가 "true" 인 경우 수신받은 데이터(stream)를 저장할 파일의 접두어(prefix)를 반환한다.
 java.lang.String getStreamLogSuffix()
          isStreamLogEnabled가 "true" 인 경우 수신받은 데이터(stream)를 저장할 파일의 접미어(suffix)를 반환한다.
protected  boolean isCurrentVerbose()
          현재 INFO 로그의 출력 여부를 검사한다.
 boolean isStreamLogEnabled()
          예외발생시 수신받은 데이터(stream)의 저장 여부를 검사한다.
 boolean isVerbose()
          INFO 로그의 출력 여부를 검사한다.
 void receiveData()
          InputStream 또는 Reader로부터 데이터를 수신받는다.
 void removeProtocolType(int index)
          프로토콜 형식(protocolType)을 삭제한다.
 void removeProtocolType(java.lang.String protocolType)
          프로토콜 형식(protocolType)을 삭제한다.
 void setCharset(java.lang.String charset)
          문자셋(charset)을 설정한다.
 void setContentType(java.lang.String contentType)
          송수신 형식(contentType)을 설정한다.
 void setData(PlatformData data)
          데이터를 설정한다.
 void setDataTypeChanger(DataTypeChanger dataTypeChanger)
          DataTypeChanger를 설정한다.
 void setProperty(java.lang.String key, java.lang.Object value)
          속성값을 설정한다.
 void setStreamLogDir(java.lang.String streamLogDir)
          예외발생시 수신받은 데이터(stream)를 저장할 위치를 설정한다.
 void setStreamLogEnabled(boolean isStreamLogEnabled)
          예외발생시 수신받은 데이터(stream)의 저장 여부를 설정한다.
 void setStreamLogMaxSize(int streamLogMaxSize)
          isStreamLogEnabled가 "true" 인 경우 수신받을 데이터(stream)를 저장할 최대 버퍼 크기를 설정한다.
 void setStreamLogPrefix(java.lang.String streamLogPrefix)
          isStreamLogEnabled가 "true" 인 경우 수신받은 데이터(stream)를 저장할 파일의 접두어(prefix)를 설정한다.
 void setStreamLogSuffix(java.lang.String streamLogSuffix)
          isStreamLogEnabled가 "true" 인 경우 수신받은 데이터(stream)를 저장할 파일의 접미어(suffix)를 설정한다.
 void setVerbose(boolean verbose)
          INFO 로그의 출력 여부를 설정한다.
 void storeStreamLog()
          isStreamLogEnabled가 "true" 인 경우 수신받은 데이터(stream)를 저장한다.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PlatformRequest

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


PlatformRequest

public PlatformRequest(java.lang.String contentType)
송수신 형식(contentType)을 가지는 생성자이다.

Parameters:
contentType - 송수신 형식
See Also:
PlatformType.CONTENT_TYPE_XML, PlatformType.CONTENT_TYPE_BINARY

PlatformRequest

public PlatformRequest(java.lang.String contentType,
                       java.lang.String charset)
송수신 형식(contentType)과 문자셋(charset)을 가지는 생성자이다.

Parameters:
contentType - 송수신 형식
charset - 문자셋
See Also:
PlatformType.CONTENT_TYPE_XML, PlatformType.CONTENT_TYPE_BINARY

PlatformRequest

public PlatformRequest(java.io.InputStream in)
InputStream을 가지는 생성자이다.

Parameters:
in - InputStream

PlatformRequest

public PlatformRequest(java.io.InputStream in,
                       java.lang.String contentType)
InputStream과 송수신 형식(contentType)을 가지는 생성자이다.

Parameters:
in - InputStream
contentType - 송수신 형식
See Also:
PlatformType.CONTENT_TYPE_XML, PlatformType.CONTENT_TYPE_BINARY

PlatformRequest

public PlatformRequest(java.io.InputStream in,
                       java.lang.String contentType,
                       java.lang.String charset)
InputStream, 송수신 형식(contentType)과 문자셋(charset)을 가지는 생성자이다.

Parameters:
in - InputStream
contentType - 송수신 형식
charset - 문자셋
See Also:
PlatformType.CONTENT_TYPE_XML, PlatformType.CONTENT_TYPE_BINARY

PlatformRequest

public PlatformRequest(java.io.Reader reader)
Reader를 가지는 생성자이다.

Parameters:
reader - Reader

PlatformRequest

public PlatformRequest(java.io.Reader reader,
                       java.lang.String contentType)
Reader와 송수신 형식(contentType)을 가지는 생성자이다.

Parameters:
reader - Reader
contentType - 송수신 형식
See Also:
PlatformType.CONTENT_TYPE_XML, PlatformType.CONTENT_TYPE_BINARY

PlatformRequest

public PlatformRequest(java.io.Reader reader,
                       java.lang.String contentType,
                       java.lang.String charset)
Reader, 송수신 형식(contentType)과 문자셋(charset)을 가지는 생성자이다.

Parameters:
reader - Reader
contentType - 송수신 형식
charset - 문자셋
See Also:
PlatformType.CONTENT_TYPE_XML, PlatformType.CONTENT_TYPE_BINARY
Method Detail

getProperty

public java.lang.Object getProperty(java.lang.String key)
속성값을 반환한다. 설정가능한 속성값은 다음과 같다.
속성명 데이터 형식 유효한 값 기본값 설 명
deserializer.data.emptytonull String true 또는 false false 데이터 형식(dataType)이 DataTypes.STRING 인 경우 빈 문자열의 null 변환 여부

Parameters:
key - 속성명
Returns:
속성값
See Also:
setProperty(String, Object)

setProperty

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

Parameters:
key - 속성명
value - 속성값
See Also:
getProperty(String)

receiveData

public void receiveData()
                 throws PlatformException
InputStream 또는 Reader로부터 데이터를 수신받는다. 송수신 형식(contentType)이 설정되지 않은 경우 PlatformType.DEFAULT_CONTENT_TYPE이 적용된다.

Throws:
PlatformException

isStreamLogEnabled

public boolean isStreamLogEnabled()
예외발생시 수신받은 데이터(stream)의 저장 여부를 검사한다. Debug 용으로 메모리를 많이 사용하므로, 필요한 경우에만 사용한다.

Returns:
저장 여부
See Also:
setStreamLogEnabled(boolean), getStreamLogDir()

setStreamLogEnabled

public void setStreamLogEnabled(boolean isStreamLogEnabled)
예외발생시 수신받은 데이터(stream)의 저장 여부를 설정한다. 수신받은 데이터(stream)의 저장을 원하는 경우 반드시 설정되어야 한다. Debug 용으로 메모리를 많이 사용하므로, 필요한 경우에만 사용한다.

Parameters:
isStreamLogEnabled - 저장 여부
See Also:
isStreamLogEnabled(), getStreamLogDir()

getStreamLogDir

public java.lang.String getStreamLogDir()
예외발생시 수신받은 데이터(stream)를 저장할 위치를 반환한다. Debug 용으로 메모리를 많이 사용하므로, 필요한 경우에만 사용한다.

Returns:
저장 위치
See Also:
isStreamLogEnabled(), setStreamLogDir(String)

setStreamLogDir

public void setStreamLogDir(java.lang.String streamLogDir)
예외발생시 수신받은 데이터(stream)를 저장할 위치를 설정한다. 수신받은 데이터(stream)의 저장을 원하는 경우 반드시 설정되어야 한다. Debug 용으로 메모리를 많이 사용하므로, 필요한 경우에만 사용한다.

Parameters:
streamLogDir - 저장 위치
See Also:
isStreamLogEnabled(), getStreamLogDir()

getStreamLogMaxSize

public int getStreamLogMaxSize()
isStreamLogEnabled가 "true" 인 경우 수신받을 데이터(stream)를 저장할 최대 버퍼 크기를 반환한다. 기본값은 4MB 이다. Debug 용으로 메모리를 많이 사용하므로, 필요한 경우에만 사용한다.

Returns:
최대 버퍼 크기
See Also:
isStreamLogEnabled(), setStreamLogMaxSize(int)

setStreamLogMaxSize

public void setStreamLogMaxSize(int streamLogMaxSize)
isStreamLogEnabled가 "true" 인 경우 수신받을 데이터(stream)를 저장할 최대 버퍼 크기를 설정한다. Debug 용으로 메모리를 많이 사용하므로, 필요한 경우에만 사용한다.

Parameters:
streamLogMaxSize - 최대 버퍼 크기
See Also:
isStreamLogEnabled(), getStreamLogMaxSize()

getStreamLogPrefix

public java.lang.String getStreamLogPrefix()
isStreamLogEnabled가 "true" 인 경우 수신받은 데이터(stream)를 저장할 파일의 접두어(prefix)를 반환한다. Debug 용으로 메모리를 많이 사용하므로, 필요한 경우에만 사용한다.

저장되는 파일명의 규칙은 "prefix_yyyyMMdd_HHmmssSSS.suffix" 이며, 접두어(prefix)와 접미어(suffix)의 기본값은 "xapi"와 "req" 이다. 즉, 기본적으로 저장되는 파일명은 "xapi_yyyyMMdd_HHmmssSSS.req" 으로 저장된다.

Returns:
파일의 접두어
See Also:
isStreamLogEnabled(), setStreamLogPrefix(String)

setStreamLogPrefix

public void setStreamLogPrefix(java.lang.String streamLogPrefix)
isStreamLogEnabled가 "true" 인 경우 수신받은 데이터(stream)를 저장할 파일의 접두어(prefix)를 설정한다. Debug 용으로 메모리를 많이 사용하므로, 필요한 경우에만 사용한다.

Parameters:
streamLogPrefix - 파일의 접두어
See Also:
isStreamLogEnabled(), getStreamLogPrefix()

getStreamLogSuffix

public java.lang.String getStreamLogSuffix()
isStreamLogEnabled가 "true" 인 경우 수신받은 데이터(stream)를 저장할 파일의 접미어(suffix)를 반환한다. Debug 용으로 메모리를 많이 사용하므로, 필요한 경우에만 사용한다.

저장되는 파일명의 규칙은 "prefix_yyyyMMdd_HHmmssSSS.suffix" 이며, 접두어(prefix)와 접미어(suffix)의 기본값은 "xapi"와 "req" 이다. 즉, 기본적으로 저장되는 파일명은 "xapi_yyyyMMdd_HHmmssSSS.req" 으로 저장된다.

Returns:
파일의 접미어
See Also:
isStreamLogEnabled(), setStreamLogSuffix(String)

setStreamLogSuffix

public void setStreamLogSuffix(java.lang.String streamLogSuffix)
isStreamLogEnabled가 "true" 인 경우 수신받은 데이터(stream)를 저장할 파일의 접미어(suffix)를 설정한다. Debug 용으로 메모리를 많이 사용하므로, 필요한 경우에만 사용한다.

Parameters:
streamLogSuffix - 파일의 접미어
See Also:
isStreamLogEnabled(), getStreamLogSuffix()

storeStreamLog

public void storeStreamLog()
                    throws java.io.IOException
isStreamLogEnabled가 "true" 인 경우 수신받은 데이터(stream)를 저장한다. Debug 용으로 메모리를 많이 사용하므로, 필요한 경우에만 사용한다.

Throws:
java.io.IOException

getContentType

public java.lang.String getContentType()
송수신 형식(contentType)을 반환한다. 송수신 형식은 XML, Binary 등 데이터의 표현 형식을 의미한다.

Returns:
송수신 형식
See Also:
PlatformType.CONTENT_TYPE_XML, PlatformType.CONTENT_TYPE_BINARY, PlatformType.CONTENT_TYPE_SSV

setContentType

public void setContentType(java.lang.String contentType)
송수신 형식(contentType)을 설정한다. 송수신 형식은 XML, Binary 등 데이터의 표현 형식을 의미한다.

Parameters:
contentType - 송수신 형식
See Also:
PlatformType.CONTENT_TYPE_XML, PlatformType.CONTENT_TYPE_BINARY, PlatformType.CONTENT_TYPE_SSV

getCharset

public java.lang.String getCharset()
문자셋(charset)을 반환한다.

Returns:
문자셋

setCharset

public void setCharset(java.lang.String charset)
문자셋(charset)을 설정한다.

Parameters:
charset - 문자셋

getProtocolType

public java.lang.String getProtocolType(int index)
프로토콜 형식(protocolType)을 반환한다. 프로토콜 형식은 압축, 암호화 등 데이터의 변형 형식을 의미한다.

Parameters:
index - 위치
See Also:
PlatformType.PROTOCOL_TYPE_ZLIB

addProtocolType

public void addProtocolType(java.lang.String protocolType)
프로토콜 형식(protocolType)을 추가한다. 프로토콜 형식은 압축, 암호화 등 데이터의 변형 형식을 의미한다.

Parameters:
protocolType - 프로토콜 형식
Throws:
java.lang.IllegalArgumentException - 프로토콜 형식(protocolType) 중복 추가시
See Also:
PlatformType.PROTOCOL_TYPE_ZLIB

removeProtocolType

public void removeProtocolType(int index)
프로토콜 형식(protocolType)을 삭제한다.

Parameters:
index - 위치

removeProtocolType

public void removeProtocolType(java.lang.String protocolType)
프로토콜 형식(protocolType)을 삭제한다.

Parameters:
protocolType - 프로토콜 형식

containsProtocolType

public boolean containsProtocolType(java.lang.String protocolType)
프로토콜 형식(protocolType)의 포함 여부를 검사한다.

Parameters:
protocolType - 프로토콜 형식
Returns:
프로토콜 형식의 포함 여부

clearProtocolTypes

public void clearProtocolTypes()
모든 프로토콜 형식(protocolType)을 삭제한다.


getProtocolTypeCount

public int getProtocolTypeCount()
프로토콜 형식(protocolType)의 갯수를 반환한다.

Returns:
프로토콜 형식의 갯수

getData

public PlatformData getData()
데이터를 반환한다.


setData

public void setData(PlatformData data)
데이터를 설정한다.


getDataTypeChanger

public DataTypeChanger getDataTypeChanger()
DataTypeChanger를 반환한다.

Returns:
DataTypeChanger

setDataTypeChanger

public void setDataTypeChanger(DataTypeChanger dataTypeChanger)
DataTypeChanger를 설정한다.

Parameters:
dataTypeChanger - DataTypeChanger

isVerbose

public boolean isVerbose()
INFO 로그의 출력 여부를 검사한다. 기본값은 "false" 이며, 로깅 컴퍼넌트의 INFO 로그가 출력되도록 설정되어 있고, verbose가 "true" 인 경우에만 로그가 출력된다.

Returns:
INFO 로그의 출력 여부
See Also:
PlatformTransaction.setVerbose(boolean)

setVerbose

public void setVerbose(boolean verbose)
INFO 로그의 출력 여부를 설정한다.

Parameters:
verbose - INFO 로그의 출력 여부
See Also:
PlatformTransaction.isVerbose()

getCurrentContentType

protected java.lang.String getCurrentContentType()
현재 송수신 형식(contentType)을 반환한다.

Returns:
송수신 형식

getCurrentCharset

protected java.lang.String getCurrentCharset()
현재 문자셋(charset)을 반환한다.

Returns:
문자셋

isCurrentVerbose

protected boolean isCurrentVerbose()
현재 INFO 로그의 출력 여부를 검사한다.

Returns:
INFO 로그의 출력 여부
See Also:
PlatformTransaction.isVerbose()

getDefaultContentType

protected java.lang.String getDefaultContentType()
기본 송수신 형식(contentType)을 반환한다.

Returns:
기본 송수신 형식
See Also:
PlatformType.DEFAULT_CONTENT_TYPE

getDefaultCharset

protected java.lang.String getDefaultCharset()
기본 문자셋(charset)을 반환한다.

Returns:
기본 문자셋
See Also:
PlatformType.DEFAULT_CHAR_SET


Copyright © 2000-2011 TOBESOFT Co., Ltd.