Итак, я использую BeanIO, и мне нужно написать обработчик типов, который будет присваивать null списку, если общий список пуст. Например, я импортирую адреса из XML-файла.
При наличии полной информации об адресе xml выглядит так:
<Address>
<Street1>aaaaaa</Street1>
<PostCode>00-000</PostCode>
<City>bbbbb</City>
<CountryCode>AA</CountryCode>
<PhoneNo>+00 00 00000000</PhoneNo>
<Email>[email protected]</Email>
</Address>
Если в xml-файле нет информации об адресе, это выглядит так:
<Address />
Отображение в классе java выглядит так — с аннотацией BeanIO @segment:
@Segment(xmlName = "Address", minOccurs = 0, maxOccurs = -1)
private List<Address> address;
По сути, тестовый класс ожидает, что если приведенный выше список пуст, обработчик типа должен присвоить ему значение null. Без какого-либо обработчика типов для списка назначаются пустые скобки:
address=[]
И вот мой вопрос, кто-нибудь знает, как обработчик должен искать типы коллекций, в данном случае список? Ранее я написал несколько обработчиков для строк, целых чисел и т. д. — вещи с аннотацией @Field и все работает хорошо. Теперь я изо всех сил пытаюсь писать для вещей с аннотациями @Segment. Любые подсказки? От какого класса наследовать?