|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface GlueMessageLayout

Message를 Create 및 parsing를 처리하기 위한 Interface Class. Layout을 XML, DB등으로 여러 형태로 처리가능함
| Method Summary | |
|---|---|
GlueMessageDefinition |
getAttributes(String messageId)
해당 Msg Layout의 Attribute 정보를 추출하는 Method 처음 호출시 Attribute의 정보를 Cache에 저장하고, 재 호출시 Cache를 통해 정보를 추출하여 제공 |
GlueMessage |
makeMessageParsing(GlueMessageDefinition messageDefinition,
String message)
Message Layout 항목 정보에 따 Message를 파싱하여 GlueMessage 객체에 담는다. |
String |
makeMessageString(GlueMessageDefinition messageDefinition,
GlueMessage message)
Message Layout에 따라 해당 Message를 생성한다. |
| Method Detail |
|---|
String makeMessageString(GlueMessageDefinition messageDefinition,
GlueMessage message)
[Message Byte 생성 규칙]
1. Data Type : String
DataType : STRING, CHAR, VARCHAR2 모두 동일하게 String으로 간주
String Data가 Layout의 Length보다 작을때 : Length만큼 오른쪽 공백 추가
String Data가 Layout의 Length보다 클때 : Length만큼 왼쪽 기준으로 자름
단, String이 Null, ""(zero Length) 일 경우 : Length만큼 공백 생성
단, String을 Byte Length 생성시 String 중간절삭일 경우 깨진 String 그대로 처리함.
예) 123한(Length:4) : 123?
2. Data Type : Number
1) Truncate처리
2) 오른쪽 Shift
3) Cut
Number Data가 Layout의 Length보다 작을때 : Length만큼 왼쪽으로 '0' 추가
예) -123(Length:5) : -0123
Number Data가 Layout의 Length보다 클때 : Length만큼 왼쪽 기준으로 자름
단, '-', '.'도 1 Byte로 간주한다.
단, Number가 Null, ""(zero Length) 일 경우 : Length만큼 공백 생성
3. Data Type : Date
Date객체에서 해당 Length에 맞춰 값을 가져옴.
[지원하는 Date Type]
Length(14) : yyyyMMddHHmmss
Length(12) : yyyyMMddHHmm
Length(10) : yyyyMMddHH
Length(8) : yyyyMMdd
Length(6) : yyyyMM
Length(4) : yyyy
단, Date가 Null, ""(zero Length) 일 경우 : Length만큼 공백 생성
messageDefinition - Message Layout의 Attribute항목 Listmessage - GlueMessage 객체
GlueMessage makeMessageParsing(GlueMessageDefinition messageDefinition,
String message)
throws GlueMessageParserException
[Message Byte 파싱 규칙]
1. Data Type : String
-DataType : STRING, CHAR, VARCHAR2 모두 동일하게 String으로 간주
-String Data를 자른후 Rigth Trim처리하여 Message 객체에 저장
단, String 파싱시 String 중간 절삭이 될 경우 깨진상태로 생성.
예) 123한글1 : 앞 String(Length:4) -> 123?
뒤 String(Length:4) -> ?글1
단, Message 공백시 -> ""(Empty String)
2. Data Type : Number
1) Cut
단, '-', '.'도 1 Byte로 간주한다.
2) Right Trim
3) 왼쪽으로 Shift
4) Number 생성후 Message 객체에 저장
단, Number일때 잘못된 파싱으로 String 중간 절삭시 Exception처리
단, Message 공백시 -> null(Default)
Number Message 공백시 처리 Option
1) Message 값이 Zero -> null
2) Message 값이 Space -> Zero
3) 1,2 동시
Message 값이 Zero -> null
Message 값이 Space -> Zero
3. Data Type : Date
1) Length만큼 Cut
2) Date Type에 맞춰 Date 객체 생성후 Message 객체에 저장
[지원하는 Date Type]
Length(14) : yyyyMMddHHmmss
Length(12) : yyyyMMddHHmm
Length(10) : yyyyMMddHH
Length(8) : yyyyMMdd
Length(6) : yyyyMM
Length(4) : yyyy
단, Date일때 잘못된 파싱으로 String 중간 절삭시 Exception처리
단, Message 공백시 -> null
messageDefinition - Objectmessage - Message 문자열
GlueMessageParserException
GlueMessageDefinition getAttributes(String messageId)
throws GlueMessageDefinitionException
messageId - Message ID
GlueMessageDefinitionException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||