Plugin-Typen - IFCPlugin - Plugin Basic Interface

Page / - last modified by fse on 20.07.2021, 10:39

IFCPlugin - Plugin Basic Interface

last modified by fse

on 20.07.2021, 10:39

Table of Contents

IFCPlugin

Meaning

Method signatures

Interface IPluginDefaultLifecycleData

IFCPlugin

Meaning

The interface IFCPlugin provides general functions to control the plugin life cycle. The interface does not need to be included directly when developing your own plugins, as it is referenced as a "base interface" in all other plugin interfaces.

Method signatures

String getName()

Returns the name of the plugin: this must be unique within the Xima® Formcycle system.

default String getDisplayName(Locale locale)

6.4.0+ Returns the display name of the plugin depending on the given Locale. This method does not need to be implemented, but allows the internationalisation of the plugin. If this method is not implemented, the display name corresponds to the name of the plug-in.

default String getDescription(Locale locale)

6.4.0+ Returns the description of the plugin depending on the given Locale. The implementation of this method is optional.

default String getDescription()

As of FORMCYCLE version 6.4.0, the getDescription(Locale locale) method should be used.A description of the plugin, which is displayed on the plugin bundle registration pages and in the case of promotion plugins in the configuration panel.

default void install(IPluginInstallData installData) throws FCPluginException

This method is called by Xima® Formcycle during the plugin installation process and allows functionality to be executed, which should only be executed once, when the plugin is newly registered in the system.

IPluginInstallData installData

implements the interface IPluginDefaultLifecycleData

default void initialize(IPluginInitializeData initializeData) throws FCPluginException

This method is executed by Xima® Formcycle whenever the plugin object is newly instantiated. This can happen at different times:

when an existing plugin is updated, or when changes to bundle properties are saved.

when the FORMCYCLE system is restarted

if the plugin should be registered in the client scope, the momentary failure and the associated recovery of the database connection can also trigger a re-initialisation

IPluginInitializeData initializeData

implements the interface IPluginDefaultLifecycleData

default void shutdown(IPluginShutdownData shutdownData) throws FCPluginException

This method is called when a plugin is shut down.

when an existing plugin is updated, or when changes to bundle properties are saved.

when the FORMCYCLE system is restarted

if the plugin should be registered in the client scope, the temporary loss of the database connection can also trigger a call of the method

if an existing plugin is deleted from the system.

IPluginShutdownData shutdownData

Implements the interface IPluginDefaultLifecycleData

default uninstall(IPluginUninstallData uninstallData) throws FCPluginException

This method is called by Xima® Formcycle when the plugin is uninstalled and allows it to perform functionality, which should only be executed once when the plugin is removed from the system.IPluginUninstallData uninstallData

Implements the interface IPluginDefaultLifecycleData

Interface IPluginDefaultLifecycleData

The interface provides the following methods:

getScopeKey().

Returns information about the scope in which the plugin was installed. (The UUID of the client if registered in the client scope, otherwise "system" if plugin was registered in the system scope).

getRuntimeKey()

Returns the UUID under which the plugin was stored in the database.

getClient().

Returns the current client object, or null if plugin was not registered in the scope of a client.

getProperties()

Enables access to the properties stored on the plug-in bundle.

getFileHelper().

Returns a helper object to support the work with plug-in files.

getResourceHelper().

Returns a helper object to work with language-specific resources.

getFrontendServer().

Returns the frontend server where the plugin is installed, or null if it was installed on the master server.