У меня супер абстрактный класс:
@XmlSeeAlso({AndQuery.class, OrQuery.class, NotQuery.class, PropertyQuery.class, MultiQuery.class})
@XmlRootElement
public abstract class Query {
Этот класс имеет подкласс:
public abstract class MultiQuery extends Query {
и этот последний суперкласс также имеет два подкласса: AndQuery и OrQuery с аннотацией @ XmlRootNode.
У меня также есть класс PropertyQuery, который расширяет суперкласс Query.
Все нормально, когда я делаю пост, подобный этому:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<orQuery>
<query xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="propertyQuery">
<propertyName>SenderContractNumber</propertyName>
<propertyValue>D*</propertyValue>
</query>
<query xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="propertyQuery">
<propertyName>SenderContractNumber</propertyName>
<propertyValue>A*</propertyValue>
</query>
<query xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="andQuery">
<query xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="propertyQuery">
<propertyName>documentNumber</propertyName>
<propertyValue>222</propertyValue>
</query>
<query xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="propertyQuery">
<propertyName>documentNumber</propertyName>
<propertyValue>222</propertyValue>
</query>
</query>
</orQuery>
То, что я хочу, это разместить XML как это:
<orQuyery>
<query>...</query>
<andQuery>
<query>...</query>
</andQuery>
</orQuery>
вместо того, что я положил выше.
Подскажите, пожалуйста, что я должен аннотировать, потому что мой класс OrQuery ожидает, что не будут видеть только узлы запроса!
Пожалуйста, помогите ...
Большое спасибо