У меня есть XML, в котором есть теги, соответствующие трем типам объектов Java, которые будут созданы из XML.Объекты имеют форму:
A
- static Map<String, A>
- String name
- String aInfo1
- String aInfo2
B
- static Map<String, B>
- String name
- String bInfo1
- String bInfo2
C
- A aObject
- B bObject
Теперь в моем XML я определяю список тегов для объектов A и B, а затем я определяю теги для объектов C, которые относятся к объектам A и B, используя поле имени. У меня два требования:
Я читал о некоторых фреймворках Java, таких как JAXB, но я не могу придумать способ создания такого типа объектов из моего XML. Есть ли в Java фреймворк, который может сделать это из коробки или с минимальной логикой?
Редактировать:
Есть еще одно требование: Мне нужно определить объекты D и E формы
D
- Map<A, E>
. Я бы определил объекты E аналогично тому, как сервлеты определены в web.xml, т.е. сначала определите имя и класс для класса E, а затем используйте имя для E в каком-то другом место. Кроме того, передайте параметры для создания экземпляров объектов E. Тег будет выглядеть так:
<E>
<name>queryProcessor</name>
<class>com.mydomain.QueryProcessor</class>
</E>
Теперь он будет использоваться при определении содержимого карты в D
<D>
<map>
<A>name_of_some_A_object</A>
<E name="queryProcessor">
<param1>name_of_some_B_object</param1>
<param2>name_of_some_B_object</param2>
</E>
<A>name_of_some_A_object</A>
<E name="queryProcessor">
<param1>name_of_some_B_object</param1>
<param2>name_of_some_B_object</param2>
</E>
</map>
</D>
По сути, карта в D будет заполнена путем создания экземпляра класса базового типа E с переданными ему параметрами и объектом A, упоминается по его имени.