G
Guest
Gast
Hallo,
ich habe eine Frage zu folgendem Quellcode. Es existieren die Klassen "Oberklasse" und "URLKlasse". Die Klasse "URLKlasse" ist von der Klasse "Oberklasse" abgeleitet. "Oberklasse" hat das Klassenattribut "title". "URLKLasse" hat das Klassenattribut "URL".
Der Anwender kann eine XML-Datei erstellen in der er angibt welche Objekte mit welchen Eigenschaften erstellt werden können. Die Methode "Objekt erstellen" erhält als Parameter den String "ObjekttypAusXMLAttribut". "ObjekttypAusXMLAttribut" könnte als Wert beispielsweise "URLKlasse" besitzen. Von der Anwendung kann ich mir mit Hilfe der Methode "getClass()" den Objekttyp der zu erstellenden Klasse zurückgeben lassen. Da allerdings erst zur Laufzeit klar ist, dass es sich bei dem zu erstellenden Objekt um ein Objekt vom Typ "URLKlasse" handelt muß ich das von der Methode "getClass" zurückgegebene URL Objekt zunächst in ein Objekt vom Typ "Oberklasse" packen. Wenn nun das Attribut "title" der Oberklasse gesetzt werden soll geht das folgendermaßen:
Das klappt auch. Folgendes klappt allerdings nicht:
Mir ist schon klar das das nicht klappen kann, da die Variable "objektTyp" vom Typ Oberklasse und nicht vom Typ "URLKlasse" ist. Was kann ich denn tun um dieses Problem zu lösen?
ich habe eine Frage zu folgendem Quellcode. Es existieren die Klassen "Oberklasse" und "URLKlasse". Die Klasse "URLKlasse" ist von der Klasse "Oberklasse" abgeleitet. "Oberklasse" hat das Klassenattribut "title". "URLKLasse" hat das Klassenattribut "URL".
Code:
class Oberklasse
{
static final String title;
}
Code:
class URLKlasse extends Oberklasse
{
static final String URL;
}
Code:
public void ObjektErstellen(String ObjekttypAusXMLAttribut, String attributAusXML, String attributValueAusXML)
{
Oberklasse objektTyp = session.getClass(ObjekttypAusXMLAttribut);
Properties objektPrototype = objektTyp.createPrototype();
objektPrototype.setPropValue(attributAusXML, attributValueAusXML);
}
Der Anwender kann eine XML-Datei erstellen in der er angibt welche Objekte mit welchen Eigenschaften erstellt werden können. Die Methode "Objekt erstellen" erhält als Parameter den String "ObjekttypAusXMLAttribut". "ObjekttypAusXMLAttribut" könnte als Wert beispielsweise "URLKlasse" besitzen. Von der Anwendung kann ich mir mit Hilfe der Methode "getClass()" den Objekttyp der zu erstellenden Klasse zurückgeben lassen. Da allerdings erst zur Laufzeit klar ist, dass es sich bei dem zu erstellenden Objekt um ein Objekt vom Typ "URLKlasse" handelt muß ich das von der Methode "getClass" zurückgegebene URL Objekt zunächst in ein Objekt vom Typ "Oberklasse" packen. Wenn nun das Attribut "title" der Oberklasse gesetzt werden soll geht das folgendermaßen:
Code:
objektPrototype.setPropValue("title", "Test");
Das klappt auch. Folgendes klappt allerdings nicht:
Code:
objektPrototype.setPropValue("URL", "www.google.de");
Mir ist schon klar das das nicht klappen kann, da die Variable "objektTyp" vom Typ Oberklasse und nicht vom Typ "URLKlasse" ist. Was kann ich denn tun um dieses Problem zu lösen?