1
Я использую beanio
для анализа содержимого фиксированной длины (строка с одной строкой). Я хочу использовать конфигурацию на основе аннотаций, но она не работает.Как анализировать записи фиксированной длины с помощью beanIO?
Что может быть неправильным при использовании следующего кода?
StreamBuilder builder = new StreamBuilder("s1").addRecord(MyRecord.class);
StreamFactory factory = StreamFactory.newInstance();
factory.define(builder);
Unmarshaller unmarshaller = factory.createUnmarshaller("s1");
unmarshaller.unmarshal("123ASD");
@Record(minOccurs = 1, maxOccurs = 1)
public class MyRecord {
@Field(at = 1, length = 3, minOccurs = 1)
private String number;
@Field(at = 4, length = 3, minOccurs = 1)
private String text;
}
org.beanio.InvalidRecordException: Invalid 'myRecord' record
==> Invalid 'number': Expected minimum 1 occurrences
==> Invalid 'text': Expected minimum 1 occurrences
at org.beanio.internal.parser.UnmarshallingContext.validate(UnmarshallingContext.java:200)
at org.beanio.internal.parser.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:204)
at org.beanio.internal.parser.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:89)