49.9. 6. KeyValuePairField
KeyValuePairField 주석은 키 값 쌍 필드의 속성을 정의합니다. 각 KeyValuePairField는 태그(= 키) 및 연결된 값, 유형(문자열, int, date, …)로 식별되며, 패턴 및 필드가 필요한 경우입니다.
주석 이름 | 레코드 유형 | level |
---|---|---|
KeyValuePairField | 키 값 쌍 - 수정 | 속성 |
매개변수 이름 | type | 정보 |
---|---|---|
tag | int | 필수 - 메시지의 필드를 식별하는 숫자 번호 - 고유해야 합니다. |
패턴 | string | 선택 사항 - 기본값 = "" - Decimal, Date, … 형식을 사용하는 데 사용됩니다. |
Precision | int | 선택 사항 - 10진수 형식이 지정/parsed될 때 사용할 전체 비율을 나타냅니다. |
position | int | 선택 사항 - FIX 메시지의 키/태그 위치가 달라야 하는 경우 사용해야 합니다. |
필수 항목 | boolean | 선택 사항 - 기본값 = "false" |
impliedDecimalSeparator | boolean | Camel 2.11: 선택 사항 - 기본값 = "false" - 지정된 위치에 임박한 소수점이 있는지 나타냅니다. |
케이스 1 : 태그
이 매개변수는 메시지에 있는 필드의 키를 나타냅니다.
FIX 메시지 - 태그
@Message(keyValuePairSeparator = "=", pairSeparator = "\u0001", type="FIX", version="4.1") public class Order { @Link Header header; @Link Trailer trailer; @KeyValuePairField(tag = 1) // Client reference private String Account; @KeyValuePairField(tag = 11) // Order reference private String ClOrdId; @KeyValuePairField(tag = 22) // Fund ID type (Sedol, ISIN, ...) private String IDSource; @KeyValuePairField(tag = 48) // Fund code private String SecurityId; @KeyValuePairField(tag = 54) // Movement type ( 1 = Buy, 2 = sell) private String Side; @KeyValuePairField(tag = 58) // Free text private String Text; }
case 2 : 출력의 다른 위치
FIX 메시지에 배치할 태그/키를 사전 정의 순서에 따라 정렬해야 하는 경우 @KeyValuePairField 주석의 'position' 속성을 사용합니다.
FIX 메시지 - 태그 - 정렬
@Message(keyValuePairSeparator = "=", pairSeparator = "\\u0001", type = "FIX", version = "4.1", isOrdered = true) public class Order { @Link Header header; @Link Trailer trailer; @KeyValuePairField(tag = 1, position = 1) // Client reference private String account; @KeyValuePairField(tag = 11, position = 3) // Order reference private String clOrdId; }