まず第一に、私の下手な英語で申し訳ありません。次のクラスを非整列化してから整列化したいと思います。
@XmlSeeAlso({B1.class, C1.class})
public abstract class A1 implements Serializable {
private String parameterName;
public A1 () {
}
public A1 (String parameterName) {
this.parameterName = parameterName;
}
public String getParameterName() {
return parameterName;
}
}
サブクラス
public class B1 extends A1{
@SuppressWarnings("rawtypes")
private Collection dataSource = new ArrayList();
public B1 () {
}
@SuppressWarnings("rawtypes")
public B1 (String parameterName, Collection dataSource) {
super(parameterName);
this.dataSource = dataSource;
}
@SuppressWarnings("rawtypes")
public B1 (Collection dataSource) {
super("B");
this.dataSource = dataSource;
}
@SuppressWarnings("rawtypes")
public Collection getDataSource() {
return dataSource;
}
と
public class C1 extends A1 {
private String imagePath;
public C1() {
}
protected C1(String parameterName) {
super(parameterName);
}
public C1 (String parameterName, String imagePath) {
super(parameterName);
this.imagePath = imagePath;
}
public String getImagePath() {
return imagePath;
}
サブクラスはコレクション内にあります
List<? extends A1>
アンマーシャリングおよびマーシャリング後、フィールドは null になります (例: parameterName)。アプリケーションは例外をスローしません。