Я делаю маршалинг и демаршалинг сообщений.У меня есть тип XML, такой как:
@XMLAccesorType(AccesorType.FIELD)
@XMLType(name="Header")
public class Header{
@XMLElement(name="messageId")
private String messageId;
//getters and setters
}
, и у меня есть тип сообщения:
<Message>
<messageId>1111</messageId>
</Message>
Я хочу выделить тип MessageId для класса независимости, потому что я использую его многоразные сообщения:
@XMLAccesorType(AccesorType.FIELD)
@XMLType(name="MessageIdType")
public class MessageIdClass{
@XMLElement(name="messageId")
private String messageId;
//getters and setters
}
Но тогда у меня есть нежелательный тег, который оборачивает MessageId.Я хочу:
<Message>
<MessageId>1111</MessageId>
</Message>
Но получил:
<Message>
<MessageIdType>
<MessageId>1111</MessageId>
</MessageIdType>
</Message>
Также сообщения не могут наследовать некоторый базовый класс с полем messageId.Могу ли я написать что-то вроде этого:
//inside Message
@SomeAnnotation(useOnlyChildFields=true)
MessageIdClass msgId;