私は抽象クラスを継承するAbilityというクラスを持っていますCampaignObject
。JAXB marshals "non-field"
CampaignObject
には、getInfo()
という抽象的なメソッドがあります。
能力には独自の情報がありません。情報を求められた場合は、所有者の情報を提供する必要があります。
私はJAXB.marshal(...)
を使用してそれをマーシャリングすると、所有者の情報テキストがすべての能力にXmlElement
として含まれています。 Ability.getInfo()
に@XmlTransient
と注釈を付けることで違いはありません。
どうすればよいですか?
ありがとうございます。このような
コード:
は@XmlRootElement(name = "ability")
public class Ability extends CampaignObject {
private String val;
private Hero owner;
...
@Override
@XmlTransient
public String getInfo() {
return getOwner().getInfo();
}
@XmlAttribute
public String getVal() {
return val;
}
@XmlTransient
public Hero getOwner() {
return owner;
}
役に立たなかったどちらも反対ではなかった: 'XmlAccessType.FIELD' –
私は持っていた別のアイデアへの答えを変更しました。 –