55장. Bindy
이 구성 요소의 목표는 구조화되지 않은 데이터(또는 더 정확한 비 XML 데이터)에서 주석에 바인딩된 매핑이 있는 Java Beans에 이르기까지 구문 분석/바인딩을 허용하는 것입니다. Bindy를 사용하면 다음과 같은 소스의 데이터를 바인딩할 수 있습니다.
- CSV 레코드
- 고정 길이 레코드,
- FIX 메시지,
- 또는 거의 비정형되지 않은 데이터
POJO(Plain Old Java Object) 중 하나 이상 Bindy는 java 속성의 유형에 따라 데이터를 변환합니다. POJO는 일부 경우에 사용 가능한 일대다 관계와 함께 연결할 수 있습니다. 또한 Date, Double, Float, Integer, Short, Long and BigDecimal와 같은 데이터 형식의 경우 속성을 포맷하는 동안 적용할 패턴을 제공할 수 있습니다.
BigDecimal 숫자의 경우 전체 자릿수와 소수 또는 그룹화 구분 기호도 정의할 수 있습니다.For the Big decimal numbers, you can also define the precision and the decimal or grouping separators.
유형 | 형식 유형 | 패턴 예 | link |
---|---|---|---|
날짜 |
|
| https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/text/SimpleDateFormat.html |
decimal* |
|
| https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/text/DecimalFormat.html |
여기서 Decimal = double, Integer, Float, Short, Long
지원되는 형식
이 첫 번째 릴리스에서는 쉼표로 구분된 값 필드와 키 값 쌍 필드(예: FIX 메시지)만 지원합니다.
comel-bindy를 사용하려면 먼저 패키지(예: com.acme.model)에서 모델을 정의하고 각 모델 클래스(예: Order, Client, Instrument, behind)에 필요한 주석을 클래스 또는 필드에 추가해야 합니다.
여러 모델
패키지 이름 대신 클래스 이름을 사용하여 bindy를 구성할 때 동일한 패키지에 여러 모델을 배치할 수 있습니다.
55.1. 옵션
Bindy dataformat은 아래에 나열된 5 가지 옵션을 지원합니다.
이름 | 기본값 | Java Type | 설명 |
---|---|---|---|
type |
| Csv, Fixed 또는 KeyValue를 사용할지 여부입니다. 열거형 값:
| |
classType |
| 사용할 모델 클래스의 이름입니다. | |
locale |
| 단위 상태를 위해 us와 같이 사용할 기본 로케일을 구성하려면 다음을 수행합니다. JVM 플랫폼 기본 로케일을 사용하려면 이름 default를 사용합니다. | |
unwrapSingleInstance |
| unmarshalling이 단일 인스턴스를 래핑하지 않고 java.util.List로 래핑하지 않아야 할 때. | |
allowEmptyStream |
| unmarshal 프로세스에서 빈 스트림을 허용할지 여부입니다. true인 경우 레코드가 없는 본문이 제공될 때 예외가 throw되지 않습니다.If true, no exception will be thrown when a body without records is provided. |