Я пытаюсь разобрать XML, возвращенный из вызова rest, в Java Bean с помощью простого JAXB / OXM. Но один из элементов зависит от значения другого, как показано ниже:
Клиенты типа "INT" имеют имя клиента, доступное в теге organizationName.long
<client>
<type>INT</type>
<organizationName>
<long>Exemplo de client Int</long>
</organizationName>
</client>
Клиенты типа«NON-INT» имеет имя клиента, доступное в теге organizationName.legal
<client>
<type>NON-INT</type>
<organizationName>
<legal>Exemplo de client Int</legal>
</organizationName>
</client>
Поскольку я довольно новичок в этой среде, я не смог найти способ создания экземпляра имени клиента в зависимости отпо своему типу. Вот как я сейчас загружаю свой Java-бин для OrganizationName, который работает, только когда у меня есть тег «Legal» внутри OrganizationName:
@Embeddable
@XmlRootElement(name="organizationName")
@XmlAccessorType(XmlAccessType.FIELD)
public class OrganizationName {
@Column
@XmlElement(name="legal")
@Size(max = 80, message = "Invalid size for Name")
private String NAME;
}