Stellen ich Enum wie folgt definiert haben:Kann JAXB/MOXy Enums auf dieselbe Weise serialisieren wie normale Klassen (Nicht-Enums)?
public enum ArchiveStatus implements Serializable {
CANDIDATE (0, "CANDIDATE", "Candidate for archival"),
IN_LIBRARY (1, "IN-LIBRARY", ".."),
FROM_LIBRARY (2, "FROM-LIBRARY", "..");
private int id;
private String shortName;
private String longName;
public ArchiveStatus(int id, String shortName, String longName) {
..
}
public int getId() { .. }
public String getShortName() { .. }
public String getLongName() { .. }
}
standardmäßig moxy wird serialisiert es zu JSON wie folgt aus:
{
..
"archiveStatus": "CANDIDATE",
..
}
Gibt es eine Möglichkeit zu konfigurieren moxy (in der Mapping-Datei) eNUM wie eine normale Klasse serialisiert werden:
{
..
"archiveStatus": { "id" : 0, "shortName": "CANDIDATE", "longName": "Candidate for archival" },
..
}
Was ist der Sinn, dies zu tun? Die _only_-Information, die Sie benötigen, um ein Aufzählungselement eindeutig zu identifizieren, ist der Name. –
Der einzige Grund besteht darin, die API beizubehalten, die JSON zurückgibt. Ich untersuche, ob wir mit MOXy den JSON-Serializer ersetzen können. – Waldek