IFCPlugin - Plugin Basis-Schnittstelle


IFCPlugin

Bedeutung

Die Schnittstelle IFCPlugin stellt allgemeine Funktionen zur Steuerung des Plugin-Lebenszyklus bereit. Die Schnittstelle muss bei der Entwicklung eigener Plugins nicht direkt eingebunden werden, da sie als "Basis-Schnittstelle" in allen anderen Plugin-Schnittstellen referenziert wird.

Methodensignaturen

String getName()

Liefert den Namen des Plugins: Dieser muss innerhalb des Xima® Formcycle-Systems eindeutig sein.

default String getDisplayName(Locale locale)

Liefert den Anzeigenamen des Plugins in Abhängigkeit des gegebenen Locale. Diese Methode muss nicht implementiert werden, ermöglicht jedoch die Internationalisierung des Plugins. Ist diese Methode nicht implementiert, entspricht der Anzeigename dem Namen des Plugins.

default String getDescription(Locale locale)

Liefert die Beschreibung des Plugins in Abhängigkeit des gegebenen Locale. Die Implementierung dieser Methode ist optional.

default String getDescription()

Deprecated, die Methode getDescription(Locale locale) sollte verwendet werden.Eine Beschreibung des Plugin, welche auf den Seiten der Plugin-Bundle Registrierung und bei Aktions-Plugins in der Konfigurationsoberfläche angezeigt wird.

default void install(IPluginInstallData installData) throws FCPluginException

Diese Methode wird durch Xima® Formcycle während des Plugin-Installations-Prozesses aufgerufen und ermöglicht es Funktionalität auszuführen, welche nur einmalig, wenn das Plugin neu im System registriert wird, ausgeführt werden soll.
IPluginInstallData installData
Implementiert die Schnittstelle IPluginDefaultLifecycleData

default void initialize(IPluginInitializeData initializeData) throws FCPluginException

Diese Methode wird durch Xima® Formcycle immer dann ausgeführt, wenn das Plugin-Objekt neu instanziiert wird. Dies kann zu unterschiedlichen Zeitpunkten passieren:
  • wenn ein bestehendes Plugin aktualisiert wird, bzw. wenn Änderungen an Bundle-Properties gespeichert werden
  • wenn das FORMCYCLE-System neu gestartet wird
  • sollte das Plugin im Mandant-Scope registriert werden, so kann auch der kurzzeitige Ausfall und die damit verbundene Wiederherstellung der Datenbankverbindung eine Neu-Initialisierung auslösen
IPluginInitializeData initializeData
Implementiert die Schnittstelle IPluginDefaultLifecycleData 

default void shutdown(IPluginShutdownData shutdownData) throws FCPluginException

Diese Methode wird beim Beenden eines Plugins aufgerufen.
  • wenn ein bestehendes Plugin aktualisiert wird, bzw. wenn Änderungen an Bundle-Properties gespeichert werden
  • wenn das FORMCYCLE-System neu gestartet wird
  • sollte das Plugin im Mandant-Scope registriert werden, so kann auch der kurzzeitige Ausfall der Datenbankverbindung einen Aufruf der Methode auslösen
  • wenn ein bestehendes Plugin aus dem System gelöscht wird.
IPluginShutdownData shutdownData
Implementiert die Schnittstelle IPluginDefaultLifecycleData 

default uninstall(IPluginUninstallData uninstallData) throws FCPluginException

Diese Methode wird durch Xima® Formcycle beim Deinstallieren des Plugins aufgerufen und ermöglicht es Funktionalität auszuführen, welche nur einmalig, wenn das Plugin wieder aus dem System entfernt wird, ausgeführt werden soll.
IPluginUninstallData uninstallData
Implementiert die Schnittstelle IPluginDefaultLifecycleData

Schnittstelle IPluginDefaultLifecycleData

Die Schnittstelle stellt folgende Methoden zur Verfügung:

getScopeKey()
Liefert Informationen zum Scope in welchem das Plugin installiert wurde. (Die UUID des Mandanten, wenn im Mandant-Scope registriert, sonst "system" wenn Plugin im System-Scope registriert wurde.)
getRuntimeKey()
Liefert die UUID, unter welcher das Plugin in der Datenbank abgespeichert wurde.
getClient()
Liefert das aktuelle Mandant-Objekt zurück, oder null, wenn Plugin nicht im Scope eines Mandanten registriert wurde.
getProperties()
Ermöglicht den Zugriff auf die am Plugin-Bundle hinterlegten Properties.
getFileHelper()
Liefert ein Hilfs-Objekt zur Unterstützung der Arbeit mit Plugin-Dateien.
getResourceHelper()
Liefert ein Hilfs-Objekt zur Arbeit mit den sprachspezifischen Ressourcen.
getFrontendServer()
Liefert den Frontend-Server wo das Plugin installiert ist, oder null, wenn es auf dem Master-Server installiert wurde.