У меня есть 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, используятам имя поля.У меня есть два требования:
- заполнять статические карты в A и B при чтении объектов A и B из XML.Карты будут содержать отображение A.name в A и B.name в B. соответственно.
- заполнение объектов C путем считывания A.name и B.name из тега XML и последующего использования карт, определенных вОбъекты A и B.
Я читал о некоторых средах Java, таких как JAXB, но я не могу придумать способ создания объектов такого типа из моего XML.Есть ли в Java фреймворк, который может сделать это из коробки или с минимальной логикой?
Редактировать:
Есть еще одно требование: мне нужно определить D и E объектыform
D
- Map<A, E>
Я бы определил объекты E подобно тому, как сервлеты определены в web.xml, т.е. сначала определил имя и класс для класса E, а затем использовал бы имя для E в другом месте.Кроме того, передайте параметры для создания экземпляров объектов E.Тег будет выглядеть так:
<E>
<name>queryProcessor</name>
<class>com.mydomain.QueryProcessor</class>
</E>
Теперь это будет использоваться при определении содержимого Map в 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 будет заполняться путем создания экземпляра класса baseтип E с параметрами, переданными ему, и объект A, обозначаемый его именем.