Можно ли игнорировать класс-оболочку во время сортировки JAXB
Я пытаюсь заставить JAXB игнорировать класс-оболочку во время процесса Mashalling, имеет смысл иметь этот класс-оболочку в коде, поскольку он хранит всю связанную информацию вместе, однако мне нужно избавиться от нее во время процесса маршалинга. Ниже приведен соответствующий код.
@XmlType(name = "root")
@XmlRootElement(name = "root")
public class Root {
@XmlElementRef
private List<Resource> resources = new ArrayList<>();
public void addResource(Resource resource) {
resources.add(resource);
}
}
@XmlRootElement(name = "", namespace = "")
@XmlAccessorType(XmlAccessType.NONE)
public class Resource {
@XmlElementRef
private Element element;
@XmlElementRef
private FieldType fieldType;
@XmlElementRef
private ListType listType;
}
Корень - это основной объект, а Ресурс - это объект-оболочка, для которого я не хотел бы создавать узел. Однако я все еще хочу, чтобы Element, FieldType и ListType в Resource отображались.
Вот что у меня сейчас есть:
<root>
<>
<element name="resource1"/>
<fieldType name="resource1--type">
</fieldType>
<listType name="resource--list">
</listType>
</>
<>
<element name="resource2"/>
<fieldType name="resource2--type">
</fieldType>
<listType name="resource2--list">
</listType>
</>
</root>
То, чего я хотел бы достичь, это следующее:
<root>
<element name="resource1"/>
<fieldType name="resource1--type">
</fieldType>
<listType name="resource--list">
</listType>
<element name="resource2"/>
<fieldType name="resource2--type">
</fieldType>
<listType name="resource2--list">
</listType>
</root>
Я не знаю, возможно ли это, но любая помощь будет принята с благодарностью.
Благодарю.