0
My Enum型のProductTypeがXMLに正しく保存されていますが、ファイルを開くときに非整列化したくありません。 Java JAXB非整列列挙型
は私がEnumAdapter製:public class EnumAdapter extends XmlAdapter<String, ProductType>
{
@Override
public ProductType unmarshal(String value) throws Exception {
try {
return ProductType.valueOf(value);
}
catch(Exception e) {
throw new JAXBException(e);
}
}
@Override
public String marshal(ProductType value) {
return value.toString();
}
}
マイProductクラス:
public class Product {
private final IntegerProperty ilosc; //quantity
private final StringProperty nazwa; //name
private final ObjectProperty<ProductType> typ; //type
private final BooleanProperty dostepnosc;
public Product()
{
this(null, 0, ProductType.ALKOHOL, true);
}
public Product(String nazwa, int ilosc, ProductType typ, boolean dostepnosc) {
this.nazwa = new SimpleStringProperty(nazwa);
this.ilosc = new SimpleIntegerProperty(ilosc);
this.typ = new SimpleObjectProperty<>(typ);
this.dostepnosc = new SimpleBooleanProperty(dostepnosc);
}
.
.
.
@XmlJavaTypeAdapter(EnumAdapter.class)
public ProductType getTyp() {
return typ.get();
}
私のアプリの列挙型でXMLを開いた後、常にI場合は、アルコールである(デフォルトコンストラクタからの値に設定されますそれを変更すると、列挙型は何でも設定されます)。私はまた、EnumAdapterからのマーシャリングが正しく動作することを知っています。私はそれを私が望むものに変更できます。助けてください。