Hallo,
ich habe da auch mal wieder eine Frage. Und zwar Frage ich mich und hiermit euch, wie man am sinnvollsten vorgehen sollte, wenn man einem Programm die Möglichkeit geben will, dass andere Entwickler für dieses Programm Plugins schreiben können.
Am besten ohne direkten Zugang zum eigendlichen Sourcecode zu haben.
Ein simples Beispiel was mir da so in etwa vorschwebt:
Ich habe ein GUI, das in seiner Menubar irgendwo das MenuItem "Plugins" enthält.
Dieses MenuItem Plugins soll nun sämtliche "Plugins" enthalten, die in form eines z.b. JARs in dem ordner /plugins/ liegen.
Bei einem Klick auf das jeweilige Plugin soll dann logischer weise das JAR ausgeführt werden, am besten mit gewissen übergabeparametern/daten aus dem eigendlichen GUI und dann auf die "Antwort" des Plugins gewartet werden, also am Ende des Plugins sollen ver/bearbeitete Daten an das GUI zurückgeliefert werden.
Hoffe es ist klar was ich in etwa meine.
Mein erster Ansatz wäre dazu bei Programmstart (ehe das GUI gebaut wird) den Ordner zu scannen und für jedes dort gefundene JAR ein MenuItem zu erzeugen.
Anschließend würde ich bei einem Klick auf das Item das jeweilige JAR executen lassen. Nur wie kann ich an dieser Stelle dann z.B. auf die Rückgabe warten? (das können ettliche hundert MB an daten werden theoretisch!).
Falls der Ansatz totaler Mist ist und es dafür bessere Bordmittel oder ähnliches gibt, bin ich für jeden Hinweis natürlich dankbar .
ich habe da auch mal wieder eine Frage. Und zwar Frage ich mich und hiermit euch, wie man am sinnvollsten vorgehen sollte, wenn man einem Programm die Möglichkeit geben will, dass andere Entwickler für dieses Programm Plugins schreiben können.
Am besten ohne direkten Zugang zum eigendlichen Sourcecode zu haben.
Ein simples Beispiel was mir da so in etwa vorschwebt:
Ich habe ein GUI, das in seiner Menubar irgendwo das MenuItem "Plugins" enthält.
Dieses MenuItem Plugins soll nun sämtliche "Plugins" enthalten, die in form eines z.b. JARs in dem ordner /plugins/ liegen.
Bei einem Klick auf das jeweilige Plugin soll dann logischer weise das JAR ausgeführt werden, am besten mit gewissen übergabeparametern/daten aus dem eigendlichen GUI und dann auf die "Antwort" des Plugins gewartet werden, also am Ende des Plugins sollen ver/bearbeitete Daten an das GUI zurückgeliefert werden.
Hoffe es ist klar was ich in etwa meine.
Mein erster Ansatz wäre dazu bei Programmstart (ehe das GUI gebaut wird) den Ordner zu scannen und für jedes dort gefundene JAR ein MenuItem zu erzeugen.
Anschließend würde ich bei einem Klick auf das Item das jeweilige JAR executen lassen. Nur wie kann ich an dieser Stelle dann z.B. auf die Rückgabe warten? (das können ettliche hundert MB an daten werden theoretisch!).
Falls der Ansatz totaler Mist ist und es dafür bessere Bordmittel oder ähnliches gibt, bin ich für jeden Hinweis natürlich dankbar .