Class GlueAbstractFixedLengthMessageLayout
java.lang.Object
com.poscoict.glueframework.message.layout.GlueAbstractFixedLengthMessageLayout
- All Implemented Interfaces:
GlueMessageLayout,DisposableBean,InitializingBean
- Direct Known Subclasses:
GlueDBMessageLayout,GlueXmlMessageLayout
public abstract class GlueAbstractFixedLengthMessageLayout
extends Object
implements GlueMessageLayout, InitializingBean, DisposableBean
GlueMessageLayout 의 추상 클래스.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidabstract GlueMessagecreateMessageObject(String message) voiddestroy()getAttributes(String key) 해당 Msg Layout의 Attribute 정보를 추출하는 Method 처음 호출시 Attribute의 정보를 Cache에 저장하고, 재 호출시 Cache를 통해 정보를 추출하여 제공abstract List<GlueMessageAttributeDefinition> Message Parsing Type을 가져온다.makeMessageParsing(GlueMessageDefinition messageDefinition, String tc) Message Layout 항목 정보에 따 Message를 파싱하여 GlueMessage 객체에 담는다.makeMessageString(GlueMessageDefinition messageDefinition, GlueMessage message) Message Layout에 따라 해당 Message를 생성한다.voidsetCacheManager(GlueCacheManager cacheManager) setter method for DI.voidsetCharset(Charset charset) setter method for DI.voidsetMsgParsingRule(Set<String> msgParsingRule) voidsetMsgParsingType(String msgParsingType) setter method for DI.
-
Field Details
-
MSG_TYPE_BYTE
- See Also:
-
MSG_TYPE_STRING
- See Also:
-
RULE_NUMBER_NULL_TO_ZERO
- See Also:
-
RULE_STRING_ZERO_TO_SPACE
- See Also:
-
logger
protected org.slf4j.Logger loggerlogger
-
-
Constructor Details
-
GlueAbstractFixedLengthMessageLayout
public GlueAbstractFixedLengthMessageLayout()
-
-
Method Details
-
getCacheManager
-
setCacheManager
setter method for DI.- Parameters:
cacheManager-
-
getMsgParsingType
Message Parsing Type을 가져온다. -현재 두가지 방식 제공 -Byte 파싱은 MES에 Byte 파싱규칙이 적용됨- Returns:
- message parsing type : byte, String
-
setMsgParsingType
setter method for DI. Message Parsing Type을 저장한다.- Parameters:
msgParsingType- message Parsing Type, byte or String
-
getMsgParsingRule
-
setMsgParsingRule
-
getCharset
- Returns:
- Charset
-
setCharset
setter method for DI.- Parameters:
charset-
-
makeMessageString
Description copied from interface:GlueMessageLayoutMessage Layout에 따라 해당 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만큼 공백 생성- Specified by:
makeMessageStringin interfaceGlueMessageLayout- Parameters:
messageDefinition- Message Layout의 Attribute항목 Listmessage- GlueMessage 객체- Returns:
- 생성된 Message 문자열
-
makeMessageParsing
public GlueMessage makeMessageParsing(GlueMessageDefinition messageDefinition, String tc) throws GlueMessageParserException Description copied from interface:GlueMessageLayoutMessage Layout 항목 정보에 따 Message를 파싱하여 GlueMessage 객체에 담는다.[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 - Specified by:
makeMessageParsingin interfaceGlueMessageLayout- Parameters:
messageDefinition- Objecttc- Message 문자열- Returns:
- GlueMessage
- Throws:
GlueMessageParserException
-
createMessageObject
- Returns:
- GlueMessage
-
getAttributes
Description copied from interface:GlueMessageLayout해당 Msg Layout의 Attribute 정보를 추출하는 Method 처음 호출시 Attribute의 정보를 Cache에 저장하고, 재 호출시 Cache를 통해 정보를 추출하여 제공- Specified by:
getAttributesin interfaceGlueMessageLayout- Parameters:
key- Message ID- Returns:
- GlueMessageDefinition
- Throws:
GlueMessageDefinitionException
-
getAttributesDefinition
- Parameters:
id-- Returns:
- GlueMessageAttributeDefinition List
-
afterPropertiesSet
- Specified by:
afterPropertiesSetin interfaceInitializingBean- Throws:
Exception
-
destroy
- Specified by:
destroyin interfaceDisposableBean- Throws:
Exception
-