Hallo,
ich habe gerade folgendes Problem:
Ich habe ein "Share Projekt", dass ich quasi als Lib nutzen möchte, sodass es andere Projekte nutzen kann.
In diesem Projekt habe ich eine XML "Condition":
Hier habe ich zusätzlich ein Object "ActionGeneralComponentInterface".
Das soll ein Interface sein, da hier dann verschiedene "Aktionen" abgeleitet werden soll.
Allerdings werden die Aktionen nicht nur in diesem "SharedProjekt" implementiert, sodass die Klassen "MyClass3", "MyClass4"... aus anderen Projekten kommen sollen. Diese Klasse kennt allerdings das "SharedProjekt" nicht.
Gebe ich die Klassen nicht explizit an, sondern ohne @XmlElements, und nutze nur das Interface, bekomme ich diese Fehlermeldung:
Wie könnte ich das entsprechend implementieren?
Meiner Meinung müsste dieser Code dann im jeweiligen Projekt implementiert werden?
Die Frage ist dann aber welche Klasse ich bei "Condition" verwende?
Also was nutze ich dann bei Condition anstatt "private ActionGeneralComponentInterface actionGeneralComponentInterface" ?
ich habe gerade folgendes Problem:
Ich habe ein "Share Projekt", dass ich quasi als Lib nutzen möchte, sodass es andere Projekte nutzen kann.
In diesem Projekt habe ich eine XML "Condition":
Hier habe ich zusätzlich ein Object "ActionGeneralComponentInterface".
Das soll ein Interface sein, da hier dann verschiedene "Aktionen" abgeleitet werden soll.
Allerdings werden die Aktionen nicht nur in diesem "SharedProjekt" implementiert, sodass die Klassen "MyClass3", "MyClass4"... aus anderen Projekten kommen sollen. Diese Klasse kennt allerdings das "SharedProjekt" nicht.
Gebe ich die Klassen nicht explizit an, sondern ohne @XmlElements, und nutze nur das Interface, bekomme ich diese Fehlermeldung:
Code:
ActionComponentInterface ist eine Schnittstelle, und JAXB kann keine Schnittstellen verarbeiten.
Java:
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Condition {
@XmlElements({
@XmlElement(name = "MyClass1", type = MyClass1.class),
@XmlElement(name = "MyClass2", type = MyClass2.class),
})
private ActionGeneralComponentInterface actionGeneralComponentInterface;
Wie könnte ich das entsprechend implementieren?
Meiner Meinung müsste dieser Code dann im jeweiligen Projekt implementiert werden?
Code:
@XmlElements({
@XmlElement(name = "MyClass1", type = MyClass1.class),
@XmlElement(name = "MyClass2", type = MyClass2.class),
})
private ActionGeneralComponentInterface actionGeneralComponentInterface;
Die Frage ist dann aber welche Klasse ich bei "Condition" verwende?
Also was nutze ich dann bei Condition anstatt "private ActionGeneralComponentInterface actionGeneralComponentInterface" ?