ちょっと調査をしたので忘れないようにメモをしておきます。
基本
XmlAccessTypeはjavaクラス中のフィールドやプロパティを
デフォルトでXMLにマッピングする対象とするかを指定する。
FIELD - フィールドが対象
PROPERTY - プロパティ(getter)が対象
PUBLIC_MEMBER - publicなフィールドとプロパティが対象
NONE - 対象にしない
※指定しないときは"PUBLIC_MEMBER"が指定されたものとされる。
使い方
"@XmlAccessorType(XmlAccessType.FIELD)"などを
クラスにアノテーションとして付ける。
@XmlAccessorType(XmlAccessType.PROPERTY) public class Hoge extends Base { public String test = "hogehoge"; 以下略
調べたこと
1. 継承されたクラスの内容もXmlAccessorTypeでXMLの要素となる
Baseクラスを継承したHogeクラスがあるとする。
HogeクラスにXmlAccessorTypeを指定した場合、
継承されたBaseクラスのフィールドとプロパティも
XMLの要素として含まれる。
2. XMLの要素に入る値
"FIELD"を使った場合はgetterに関係なくフィールドの値がXML要素の値として入る。
"PROPERTY"を使った場合はgetterを通した値がXML要素の値として入る。