IPluginEntities
Schnittstelle IPluginEntities
Die Schnittstelle für ein Entity-Plugin. Mit dieser Art von Plugin können Sie benutzerdefinierte JPA (Java Persistence API) Entitäten zu Xima® Formcycle hinzufügen. Sie können diese Entitäten dann in anderen Plugins verwenden, wie z. B. IPluginPortal oder IPluginFormPreRender. Ein häufiger Anwendungsfall sind Portal-Plugins mit oder ohne IPluginMenuEntries, die Konfigurationsdaten oder eine Liste von Elementen in der Datenbank speichern müssen. Bitte beachten Sie, dass Plugin-Entities auf einem Frontend-Server nicht unterstützt werden - sie funktionieren nur auf einem Master-Server.
Jedes Entity-Plugin besteht aus den folgenden Komponenten:
- einer oder mehreren Entitätsklassen, die die Entity Annotation haben müssen
- einem Liquibase-Skript, das die erforderlichen Datenbanktabellen erstellt und für Updates verwendet werden kann, und
- eine DataSource mit den Verbindungsdetails zu einer Datenbank (standardmäßig die FORMCYCLE-Datenbank)
Die Entitätsklassen werden automatisch übernommen, sofern sie mit der Annotation Entity versehen sind.
Anwendungsfälle
- Speichern von Konfigurationsdaten durch ein Portal oder ein anderes Plugin
- Speichern von Elementen, die für eine Portalansicht benötigt werden
Methodensignaturen
default IPluginEntitiesConnectionRetVal getConnectionDetails()
- Rückgabewert
- Die Verbindungsdetails zu der Datenbank, in der die Plugin-Entitäten gespeichert werden sollen. Wenn null, wird die Systemdatenbank von Xima® Formcycle verwendet.
default List<String> getLiquibaseScripts()
- Rückgabewert
- Eine Liste von Liquibase-Skripten zum Initialisieren oder Aktualisieren der Datenbank. Kann eine leere Liste sein, falls Sie die Datenbank einrichten müssen. Jeder Eintrag muss ein Pfad zu einer Liquibase-XML-Datei sein, in dem Format, das von ClassLoader#getResources akzeptiert wird.
void onDatabaseReady(IPluginEntitiesParams params) throws FCPluginException
// Entitätskontext mit einem DAO verwenden
// dies holt alle vorhandenen MyEntity
new AbstractDao(MyEntity.class) {}.all(null, new QueryCriteriaManager());
}
- Parameter
- Diese Methode nimmt die folgenden Parameter entgegen:
- params
- Die Parameter, von denen diese Methode Gebrauch machen kann. Enthält die EntityManagerFactory für die Arbeit mit den Entitäten, sowie den IPluginEmManager, um diese Arbeit zu erleichtern.
- Throws
- Diese Methode darf die folgenden Exceptions werfen:
- FCPluginException
- Wenn diese Methode eine Ersteinrichtung durchführt, z. B. das Erstellen neuer Entitäten, und diese Einrichtung fehlschlägt. Wenn diese Ausnahme ausgelöst wird, wird dieses Plugin deaktiviert und nicht in Betrieb genommen.