JaxB - speichern vom Typ "Object"

B

beta20

Top Contributor
Hallo,

ich möchte gerne in meiner XML jegliche Dateitypen speichern.

Hierzu verwende ich derzeit:

Java:
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Condition {

   private Object valueObject;
    
}

Nun habe ich aber Probleme zB bei LocalDate, da ich hier scheinbar einen Converter benötige, denn hier bekomme ich bspw. diese Meldung:
Caused by: java.lang.NoSuchMethodError: java.time.LocalDate.<init>()

Die Frage ist nun also, wie kann ich jegliche Dateitypen hier reinschreiben?
 
L

LimDul

Top Contributor
Bekommst du ein Problem wenn du das XML scheiben willst oder wenn du es lesen willst? Beim schreiben müsste es gehen, allerdings kommt da natürlich je nach Objekt grober Unfug raus, weil maximal die toString Methode aufgerufen werden kann.
 
B

beta20

Top Contributor
Bekommst du ein Problem wenn du das XML scheiben willst oder wenn du es lesen willst? Beim schreiben müsste es gehen, allerdings kommt da natürlich je nach Objekt grober Unfug raus, weil maximal die toString Methode aufgerufen werden kann.
Korrekt. Schreiben geht...
Beim Lesen kommt dann eben das folgende Problem:
Caused by: java.lang.NoSuchMethodError: java.time.LocalDate.<init>()

Wie kann ich das lösen?
 
L

LimDul

Top Contributor
Konverter defnieren für jeden Datentyp, der da drinstecken. Das kann anders nicht funktionieren. Du bekommst String reins - wie die auf den konkreten Objekt-Datentyp mappen, dafür brauchst einen Converter, das kann nicht magisch von selber klappen.
 
B

beta20

Top Contributor
Du meinst sowas hier, welches ich für LocalDateTime habe

Java:
public class LocalDateTimeAdapter extends XmlAdapter<String, LocalDateTime> {

    public LocalDateTime unmarshal(String v) throws Exception {
        return LocalDateTime.parse(v);
    }

    public String marshal(LocalDateTime v) throws Exception {
        return v.toString();
    }
}


also dann sowas:
Java:
public class Object extends XmlAdapter<String, Object> {

    public Object unmarshal(Object v) throws Exception {
???????     

  if(v instanceof String)
      return v;

  if(v instanceof LocalDateTime)
        return LocalDateTime.parse(v);
    }

    public String marshal(Object v) throws Exception {
        return v.toString();
    }
}

Alternativ habe versucht mehrere Adapter zu nehmen, das geht aber nicht, man kann nur einen Adapter definieren...
Java:
    // Values
    @XmlJavaTypeAdapter(LocalDateTimeAdapter.class, LocalDateTimeAdapter.class)
    private Object valueObject;
 
Zuletzt bearbeitet:
L

LimDul

Top Contributor
Das kann grundsätzlich doch eh nicht funktionieren, was du willst - du musst schon mit mehr Typ Informationen arbeiten. Wenn du zwei Klassen hast, die die selbe String Darstellung haben, woher soll JAXB wissen, welche Klasse die richtige ist, beim unmarshallen?
 
B

beta20

Top Contributor
Das kann grundsätzlich doch eh nicht funktionieren, was du willst - du musst schon mit mehr Typ Informationen arbeiten. Wenn du zwei Klassen hast, die die selbe String Darstellung haben, woher soll JAXB wissen, welche Klasse die richtige ist, beim unmarshallen?

hm, verstehe nicht so ganz wie ich das mache?
 
L

LimDul

Top Contributor
Die Adapter kann man übrigens in der package-info definieren:

Java:
@javax.xml.bind.annotation.adapters.XmlJavaTypeAdapters({ //
        @javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter(value = LocalDateAdapter.class), //
        @javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter(value = LocalDateTimeAdapter.class), //
        @javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter(value = MonthDayAdapter.class), //
})
Allerdings muss jede Klasse, die du in das XML stecken willst, dann auch entsprechend mit XML-Annotationen versehen sein - sonst klappt der Ansatz nicht.

Der Ansatz bei einem DTO Modell ist in der Regel ja nicht nicht mit "Objekt" zu arbeiten, sondern mit konkreten Typen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B JaxB und Interfaces? Java Basics - Anfänger-Themen 2
B JAXB und LocalTime / LocalDate / LocalDateTime Java Basics - Anfänger-Themen 1
I JAXB und Enum Java Basics - Anfänger-Themen 7
D JAXB - flexibles Mappen von Elementen Java Basics - Anfänger-Themen 12
L Input/Output XML Datei einlesen (JAXB?) Java Basics - Anfänger-Themen 10
U JAXB - List wird nicht ausgefüllt Java Basics - Anfänger-Themen 1
U JAXB Unmarshalling Java Basics - Anfänger-Themen 1
M Input/Output JAXB XML Output von Objekt-Listen? Java Basics - Anfänger-Themen 2
G jaxb compiler Java Basics - Anfänger-Themen 2
G JAXB Installation Java Basics - Anfänger-Themen 2
H Daten aus einer Datei in eine Liste speichern Java Basics - Anfänger-Themen 23
GermanPie Nachrichten Speichern Java Basics - Anfänger-Themen 2
M Objekte in Array speichern und ausgeben Java Basics - Anfänger-Themen 17
C Wo Defaultpfad speichern? Java Basics - Anfänger-Themen 2
M Integer aus aus einer Klasse in andere speichern Java Basics - Anfänger-Themen 12
Dimax stream in string[] speichern Java Basics - Anfänger-Themen 6
H Liste speichern. Was lässt sich verbessern? Java Basics - Anfänger-Themen 7
C Fehler beim Speichern (Build projekt) Java Basics - Anfänger-Themen 42
J Ich brauche Hilfe bei einem Code (Variablen speichern) Java Basics - Anfänger-Themen 29
C Verschiedene Objekte in einer Liste speichern Java Basics - Anfänger-Themen 6
D Input/Output Input von zwei Koordinaten validieren und anschließend Werte speichern Java Basics - Anfänger-Themen 7
N Speichern von Werten in Variablen nach Schließen des Programms Java Basics - Anfänger-Themen 3
G Problem beim Speichern von Objekten in einer Datei Java Basics - Anfänger-Themen 7
I ArrayList - Methode zum Speichern eines Eintrags in einer Datei Java Basics - Anfänger-Themen 17
H Objekt im Array speichern Java Basics - Anfänger-Themen 2
H Objekt als Attribut speichern Java Basics - Anfänger-Themen 11
B Text-Datei nur in Stream speichern und dann ausgeben Java Basics - Anfänger-Themen 3
M JTextField in ArrayList speichern Java Basics - Anfänger-Themen 4
L Nur Bestimmte Werte aus einem Array in ein anderes Speichern Java Basics - Anfänger-Themen 11
S Zweidimensionales Array in ein eindimensionales Array speichern Java Basics - Anfänger-Themen 6
A Wie zwei zahlen in einer Variable speichern? Java Basics - Anfänger-Themen 7
C ResultSet in Array speichern Java Basics - Anfänger-Themen 5
S Byte-Array kann chars speichern? Java Basics - Anfänger-Themen 3
J Kann man files in einer Klasse speichern. Java Basics - Anfänger-Themen 2
B Infos zu Attribute in einer Klasse speichern Java Basics - Anfänger-Themen 3
M Input/Output JTextField Eingabe in String Variable speichern Java Basics - Anfänger-Themen 15
A Kann man eine Methode als Variable speichern und danach noch verändern? Java Basics - Anfänger-Themen 6
D Werte aus einem BinärBaum in einem Array speichern Java Basics - Anfänger-Themen 1
I Datei in Programm speichern Java Basics - Anfänger-Themen 3
A .txt-Datei mit Java speichern Java Basics - Anfänger-Themen 2
M Speichern unter. Java Basics - Anfänger-Themen 11
S Java Daten in Excel speichern Java Basics - Anfänger-Themen 1
S Daten speichern, ohne Datenbank Java Basics - Anfänger-Themen 8
L Objekt aus Textdatei in ArrayList speichern Java Basics - Anfänger-Themen 4
L Kommandozeileneinträge in Array speichern Java Basics - Anfänger-Themen 4
B HTML Code in XML speichern Java Basics - Anfänger-Themen 3
G Benutzereingaben durch Zeilenumbruch trennen und in Array individueller Größe speichern Java Basics - Anfänger-Themen 20
G JTextField per Button speichern und an andere Klasse übergeben Java Basics - Anfänger-Themen 2
Shallty Daten speichern und ändern? Java Basics - Anfänger-Themen 32
R Objekte aus Array als String + kommasepariert speichern Java Basics - Anfänger-Themen 12
N Best Practice Rückgabe eines Terminal Befehls in eine Variable speichern Java Basics - Anfänger-Themen 27
B XML in DB speichern -> Regelkonzept Java Basics - Anfänger-Themen 2
T Daten von Objekten speichern Java Basics - Anfänger-Themen 7
A Einträge aus Tupeln nach Regeln in Liste speichern Java Basics - Anfänger-Themen 8
void19 Methoden Binärbaum Inorder Traversierung in Array speichern Java Basics - Anfänger-Themen 1
X TextField-Inhalt mit Button in .txt-Datei speichern Java Basics - Anfänger-Themen 16
C Methoden Problem beim Speichern von Variablen Java Basics - Anfänger-Themen 1
J Geld speichern und wieder auslesen Java Basics - Anfänger-Themen 10
K Geburtsdaten von Mehreren Personen speichern und Alter ausgeben Java Basics - Anfänger-Themen 11
F Beste Datenstruktur zum Speichern? Java Basics - Anfänger-Themen 1
Dimax Programme ,als Text in MySql speichern Java Basics - Anfänger-Themen 7
C Erste Schritte ArrayIndexOutOfBoundsException beim Speichern im Array Java Basics - Anfänger-Themen 2
D Datei auslesen & Werte in Variable speichern Java Basics - Anfänger-Themen 12
D Erste Schritte Projekt in Ecplise in einer .zip Datei speichern Java Basics - Anfänger-Themen 8
L Speichern und Laden Java Basics - Anfänger-Themen 7
I Projekt als .jar Datei speichern - Bilder werden nicht mehr angezeigt Java Basics - Anfänger-Themen 4
H MouseListener begrenzen und Speichern Java Basics - Anfänger-Themen 1
M Wie kann ich im JAVA-GUI im Textfeld ein Array speichern Java Basics - Anfänger-Themen 4
N Veränderungen dauerhaft speichern Java Basics - Anfänger-Themen 3
M Int und Double in Array speichern Java Basics - Anfänger-Themen 1
M Speichern von Werten in Array Java Basics - Anfänger-Themen 1
S Mit FileReader lesen, in ArrayList speichern Java Basics - Anfänger-Themen 4
F Zahlen aus Datei einlesen und in Array speichern Java Basics - Anfänger-Themen 2
S Binärbaum in PreOrder in ArrayList speichern Java Basics - Anfänger-Themen 0
H Interface Objekte speichern und laden (serialisieren/deserialisieren) Java Basics - Anfänger-Themen 1
J Best Practice [Code Verbesserung] TXT einlesen und in Arrayliste speichern Java Basics - Anfänger-Themen 5
das_leon txt Datei speichern Java Basics - Anfänger-Themen 8
B String: suche nach Wörter und in List<String> speichern Java Basics - Anfänger-Themen 3
C Zeilen aus einer Datei in Array speichern Java Basics - Anfänger-Themen 4
F Arrays Sätze speichern und einzelne Worte mit Index Angabe auslesen Java Basics - Anfänger-Themen 4
S Daten lesen und speichern Java Basics - Anfänger-Themen 26
K Klassenmethode mit übergebenen Parameter speichern Java Basics - Anfänger-Themen 7
K Eingabe in Array speichern und Ausgeben Java Basics - Anfänger-Themen 9
P Liste auslesen und in Variablen speichern Java Basics - Anfänger-Themen 7
B Mehrere Zahlen speichern Java Basics - Anfänger-Themen 60
S Input/Output Nur Änderungen speichern Java Basics - Anfänger-Themen 21
J Methoden Binärbaum, Traversierung in Array speichern Java Basics - Anfänger-Themen 18
L Graphen: Anzahl Knoten // Knoten in Array speichern Java Basics - Anfänger-Themen 4
J Auslesen/speichern und wieder einlesen Java Basics - Anfänger-Themen 7
O Ausgabe als .txt Datei speichern mit FileWriter Java Basics - Anfänger-Themen 2
J Elemente in Array speichern, löschen, ... Java Basics - Anfänger-Themen 3
M bestehendes Projekt als Applet speichern Java Basics - Anfänger-Themen 2
B String in Array speichern Java Basics - Anfänger-Themen 4
K String einlesen und als Variable speichern Java Basics - Anfänger-Themen 8
M Erste Schritte Speichern von mehreren Daten Java Basics - Anfänger-Themen 3
N Collections Werte aus .txt in einer Collection speichern Java Basics - Anfänger-Themen 11
F Klasse speichern Java Basics - Anfänger-Themen 5
I Texte mit Absätzen in Dateien speichern und auslesen Java Basics - Anfänger-Themen 1
K Gescanntes in Array speichern Java Basics - Anfänger-Themen 14
JavaNewbie2.0 eclipse - Als ausführbare Datei speichern Java Basics - Anfänger-Themen 16

Ähnliche Java Themen

Anzeige

Neue Themen


Oben