Базовое использование Simple мы рассмотрели, но есть одна особенность, которую хочется разобрать отдельно.
Иногда просто аннотаций бывает недостаточно. Бывает, что в объектной модели есть поля таких типов, к которым мы либо не можем написать маппинги, либо там нужна более сложная логика, чем просто отображение узлов и атрибутов. Обычный пример — любые классы для работы с датами: что стандартный Calendar
, что более приятный DateTime
из библиотеки joda-time. Дата в XML может представляться миллисекундами, секундами, отформатированной строкой и чем угодно ещё. Задать правила разбора не всегда предоставляется возможным.
В Simple подобные задачи предусмотрены, и для них существует концепция Matcher-ов.