Как получить доступ к полевым аннотациям из пользовательского конвертера с помощью Simple?
Я использую библиотеку Simple (http://simple.sourceforge.net/) для маршалинга / демаршаллизации XML-данных в Java. Для некоторых из моих более сложных структур данных мне нужно написать свои собственные конвертеры. Например, скажем, у меня естьList<List<String>>
что мне нужно маршал. Я написал следующее:
class WorldObject {
@Element(name="vector-names")
@Convert(ListListConverter.class)
private List<List<String>> vectorNames;
/** Constructor and other details ... **/
}
Наряду с ListListConverter (на данный момент я оставил демаршаллер):
class ListListConverter implements Converter<List<List<String>>> {
@Override
public List<List<String>> read(InputNode node) throws Exception {
// stub
return null;
}
@Override
public void write(OutputNode node, List<List<String>> value)
throws Exception {
node.setName("list-list-string");
for (List<String> list : value) {
OutputNode subList = node.getChild("list-string");
for (String str : list) {
OutputNode stringNode = subList.getChild("string");
stringNode.setValue(str);
}
subList.commit();
}
node.commit();
}
}
Эта настройка работает нормально, и выдает XML, который я хочу. Я хотел бы, однако, иметь доступ к@Element
аннотация-хname
поле, чтобы я мог дать тегам указанное имя (в этом случае,"vector-names"
) вместо имени по умолчанию ("list-list-string"
). Вот как маршаллинг работает для всех типов, которые Simple обрабатывает из коробки, поэтому должен быть способ доступа к этим данным из пользовательского конвертера.
Как я могу сделать это?