Xml speichern - müssen alle Klassen deklariert werden?

Diskutiere Xml speichern - müssen alle Klassen deklariert werden? im XML und Co. Bereich.
B

beta20

Hallo,

ich möchte gerne eine XML Struktur speichern, die aus mehreren Klassen besteht.

Meine Frage ist nun, ob ich alle Klasse annotieren muss, mit:
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)

oder reicht es, wenn ich die Root - Klasse annotiere?
 
mrBrown

mrBrown

Die Root-Klasse solltest du mit XmlRootElement annotieren, in allen anderen anderen halt so wie es notwendig ist.
Annotation werden aber nicht an Kind-Elemente vererbt, falls du darauf hinaus wolltest.
 
B

beta20

Ja, meine Frage ist:
Ich möchte die folgende Klassen von Primefaces (JSF Lib) bei mir als XML Struktur speichern (meine Diagrammstruktur):

Die Frage ist nun, ob ich all diese Klassen bei mir in mein Projekt kopieren muss und diese dann mit den XML - Annotationen versehen muss, sodass das mit dem Abspeichern des XML´s funktioniert?
 
T

thecain

Because fuck layering ;)

Ich würde sowieso neue Objekte erstellen, die deine Domäne abbilden. Sonst bist du an die Implementierung von Primefaces gebunden und alle Änderungen.
 
B

beta20

Hm, gibt es keine Möglichkeit ohne die Annotation die Klassen als XML zu speichern?
 
mrBrown

mrBrown

Spricht denn was dagegen, einfach direkt den richtigen Weg zu nehmen?
 
B

beta20

ich habe das gerade mal probiert...
Das sind leider zig Stellen, die ich bearbeiten muss, ebenfalls auch die "Componenten" ansich...
 
mrBrown

mrBrown

Wenn du zig Stellen bearbeiten musst, nur wenn du das zum Speichern in ein sinnvolles Model konvertierst, spricht das eigentlich noch mehr dafür, es richtig zu machen o_O
 
B

beta20

Nein...
Ich nutze diese JSF Komponente hier:

Nun möchte ich eben alle Objekte (Position, StyleClass etc.) in eine XML speichern.
Das Objekt von "DiagramModel" wäre dann eben perfekt...
 
T

thecain

XML -> Dein Model -> DiagramModel

DiagramModel ist schon rein aus Architektur-Sicht nicht zu empfehlen. Noch weniger würde ich eine Klasse zu einem XML Serialisieren, die ich nicht selber kontrolliere. So bist du an fixe Versionen von Primefaces gebunden und hast keine Chance einmal ein anderes Framework oder auch nur eine andere Kompenente zu verwenden, wenn sich die Anforderung ändert. Ausser natürlich du passt den ganzen Code an, inkl aller deiner XMLs.


 
mihe7

mihe7

Hallo,

ich möchte gerne eine XML Struktur speichern, die aus mehreren Klassen besteht.

Meine Frage ist nun, ob ich alle Klasse annotieren muss, mit:
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)

oder reicht es, wenn ich die Root - Klasse annotiere?
Mal unabhängig vom (Un)Sinn des Vorhabens: man benötigt gar keine Annotationen, die machen das Leben nur leichter.
 
B

beta20

Danke, habe es aber nun so gelöst, wie vorgeschlagen und eine eigene Struktur erstellt
 
Thema: 

Xml speichern - müssen alle Klassen deklariert werden?

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben