Interfaces mit XML & Co beschreiben?

Status
Nicht offen für weitere Antworten.

pocketom

Bekanntes Mitglied
Hi,

ich habe mit XSD Schemas eine Menge Klassen erzeugt, hauptsächlich abstrakte Klassen. Nun möchte ich irgedwie ebenso platformunabhängig beschreiben welche Interfaces eine Klasse implementieren muss. um verwendet werden zu können. Gibt es da eine Beschreibungssprache? Eine die am besten mit den XSD Schema "kooperiert" :)
 

Wildcard

Top Contributor
Kannst du mal näher beschreiben was du erreichen willst, darunter kann ich mir erstmal nicht viel vorstellen.
 

pocketom

Bekanntes Mitglied
Ganz einfach, so wie man Datenstrukturen mit XSD beschreibt, so müsste es doch auch möglich sein Methoden (ohne Inhalt, nur Interfacemethoden) mittels eines XML Standards als Interface Schema zu beschreiben. Der jeweilige Konsument des Schemas muss diese dann implementieren nachdem er sich die Klassen von einem Generator (hier z.B. JAXB xjc) hat automatisch erstellen lassen. Geht das mit irgendeiner XML Sprache? Bis jetzt habe ich so etwas in der Art nur in Verbindung mit WSDL erlebt, dort muss man ja die "Business Logic" an den dafür vorgesehenen Stellen im ServiceStub Code implementieren...
 

Wildcard

Top Contributor
Schau dir mal EMF an. Damit wird die EMOF Spezifikation umgesetzt. Im Ecore Modell können neben normalen Properties auch Vererbungshierarchien und eOperations (Methoden) verankert werden.
Daraus lässt sich dann direkt mit EMF Code erzeugen und die übriggebliebenen Stubs - also alle eOperations und Methoden die von einem externen Interface definiert wurden - müssen ausimplementiert werden (und beim erneuten generieren werden sie sogar automatisch gemerged, es geht also nichts verloren).
 

pocketom

Bekanntes Mitglied
Danke für den Tipp. Klingt prinzipiell genau nach dem was ich gesucht habe, aber ist es auch kompatibel zu anderen Sprachen wie C, Delphi, .net, usw?
 

Wildcard

Top Contributor
Ja und nein. EMOF/Ecore ist sprachunabhängig (also die Modelldefinition selbst), der Codegenerator und die Runtime aber nicht für jede Sprache verfügbar. Es gibt einen C# Port und solange es nur um das generieren von Klassen geht, kannst du auch die verwendeten Emitter Templates austauschen und dann Code für jede beliebige Zielsprache erzeugen.
 

pocketom

Bekanntes Mitglied
Emitter Templates? Wo würde ich so eins z.B. für Delphi finden? Google liess mich hier im Stich :-/
 

Wildcard

Top Contributor
Der EMF Codegenerator verwendet Java Emitter Templates (JET)um aus dem Modell Java Klassen zu erzeugen.
Die Technik ist vergleichbar mit JSP und im Prinzip einfach eine textuelle Transformation. Wenn du weißt wie den Delphi Code aussehen soll, kannst du ein JET Template schreiben das ein Modell entsprechend transformiert.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben