Hi zusammen,
ich habe wieder eine Frage:
Ich erzeuge aus einem XML-Dokument Objekte vom Typ MainObject.
Nun möchte ich ein neues Object erstellen MyObject, welches von MainObject ableitet und dieses um weitere Attribute ergänzt.
Die Routine in der ich aus dem XML-Dokument meine MainObject's erstelle wollte ich nicht ändern.
Dies sieht in etwa so aus:
Im Konstruktor von MainObject werden alle Parameter aus dem XML-Dokument für das MainObject gesetzt.
Hier könnte ich also feststellen ob ich mein Element im XML-Dokument vom Typ MainObject oder vom Typ MyObject ist.
Welche Möglichkeiten hätte ich an dieser Stelle?
Möglichkeit 1:
Ich könnte vorab testen ob mein Node ein bestimmtes ZUSÄTZLICHES (OPTIONALES) Element besitzt.
Falls ja -> erzeuge MyObject
Falls nein -> erzeuge MainObject
Und noch eine Möglichkeit?
Möglichkeit 2:
ich habe wieder eine Frage:
Ich erzeuge aus einem XML-Dokument Objekte vom Typ MainObject.
Nun möchte ich ein neues Object erstellen MyObject, welches von MainObject ableitet und dieses um weitere Attribute ergänzt.
Die Routine in der ich aus dem XML-Dokument meine MainObject's erstelle wollte ich nicht ändern.
Dies sieht in etwa so aus:
Java:
void loadXMLFile() throws Exception {
// xml file wird gelesen eine NodeList wird erstellt
NodeList nodeList = readXMLFile(...);
for (int i = 0; i < nodeList.size(); i++) {
// Im Konstruktor werden die Attribute aus dem Node ausgelesen
MainObject object = new MainObject(nodeList.get(i));
}
}
}
Im Konstruktor von MainObject werden alle Parameter aus dem XML-Dokument für das MainObject gesetzt.
Hier könnte ich also feststellen ob ich mein Element im XML-Dokument vom Typ MainObject oder vom Typ MyObject ist.
Welche Möglichkeiten hätte ich an dieser Stelle?
Java:
// Im Konstruktor werden die Attribute aus dem Node ausgelesen
MainObject object = new MainObject(nodeList.get(i));
Möglichkeit 1:
Ich könnte vorab testen ob mein Node ein bestimmtes ZUSÄTZLICHES (OPTIONALES) Element besitzt.
Falls ja -> erzeuge MyObject
Falls nein -> erzeuge MainObject
Und noch eine Möglichkeit?
Möglichkeit 2:
Zuletzt bearbeitet: