Package de.xima.fc.plugin.interfaces
Interface IFCPlugin
-
- All Superinterfaces:
INamedUiElement
,INameProviding
,ITransferable
,Serializable
- All Known Subinterfaces:
IDescriptionProvidingPlugin
,IFCRemoteSyncPlugin
,IFormLifecyclePlugin
,IPluginAccessProperties
,IPluginActionNodeHandler<TData>
,IPluginAuthenticationLogic
,IPluginAuthenticatorType
,IPluginBackendTheme
,IPluginClientDashboard
,IPluginConditionNodeHandler<TData>
,IPluginConfigParamList
,IPluginCustomGUI
,IPluginDataSource
,IPluginDoUntilLoopNodeHandler<TData,TState>
,IPluginEntities
,IPluginFormDesignerResource
,IPluginFormElementCatalogue
,IPluginFormElementPropertiesExtension
,IPluginFormElementTemplate
,IPluginFormElementTemplateStatic
,IPluginFormElementWidget
,IPluginFormPrePersist
,IPluginFormPreProcess
,IPluginFormPreRender
,IPluginFormPreRespond
,IPluginFormPreview
,IPluginFormPropertiesExtension
,IPluginFormRenderCallback
,IPluginFormReplacer
,IPluginFormResource
,IPluginGeneric
,IPluginMailEncryption
,IPluginMalwareScanner
,IPluginMenuEntries
,IPluginMonitor
,IPluginPortal
,IPluginProcessing
,IPluginProjectMenu
,IPluginProjectTemplate
,IPluginScopeClient
,IPluginScopeSystem
,IPluginServletAction
,IPluginSessionReplacer
,IPluginShutdown
,IPluginStaticResourceServletAction
,IPluginSystemReplacer
,IPluginTemplateReplacer
,IPluginTriggerHandler<TData>
,IPluginValidationRule
,IPluginWhileLoopNodeHandler<TData,TState>
,IPluginWorkflowElementPrototypes
,IPluginWorkflowNode
,IPluginWorkflowTrigger
- All Known Implementing Classes:
AFCPlugin
,APluginActionNodeHandler
,APluginConditionNodeHandler
,APluginDoUntilLoopNodeHandler
,APluginStaticResourceServletAction
,APluginTriggerHandler
,APluginWhileLoopNodeHandler
public interface IFCPlugin extends ITransferable, INameProviding, INamedUiElement
Base interface that all formcycle plugins must implement. This interface also contains the callback methods for the plugin lifecycle, which is as follows:install(IPluginInstallData)
: When a user upload a plugin for the first time, it is installed and the install method is invoked once.initialize(IPluginInitializeData)
: After the plugin was installed, it may be activated and deactivated multiple times. The initialize method is called each time the plugin is activated.shutdown(IPluginShutdownData)
: Similarly, the shutdown method is called each time the plugin is deactivated.uninstall(IPluginUninstallData)
: Finally, when the plugin is deleted from the system, the shutdown method is called once.
IPluginDefaultLifecycleData.getProperties()
, the plugin is deactivated and then activated again. This also means that while a plugin is active, its configuration cannot change and must not be modified.- Author:
- XIMA MEDIA GmbH
-
-
Field Summary
Fields Modifier and Type Field Description static String
CONFIG_FILENAME
Deprecated.-
Fields inherited from interface de.xima.fc.interfaces.INamedUiElement
ATTR_DISPLAY_NAME
-
Fields inherited from interface de.xima.fc.entities.interfaces.INameProviding
ATTR_NAME, COL_NAME
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description default String
getDescription()
Deprecated.default String
getDescription(Locale locale)
Getter for the description of this plugin.default String
getDisplayName(Locale locale)
The display name of this element in the given locale.String
getName()
Getter for the name of this plugin.default void
initialize(IPluginInitializeData initializeData)
Callback method that is invoked when this plugin is initialized.default void
initPlugin()
Deprecated.default void
install(IPluginInstallData installData)
Callback method that is invoked when this plugin is installed.default void
shutdown()
Deprecated.default void
shutdown(IPluginShutdownData shutdownData)
Callback method that is invoked when this plugin is shut down.default void
uninstall(IPluginUninstallData uninstallData)
Callback method that is invoked when this plugin is uninstalled.default IPluginInitializeValidationResult
validateConfigurationData(IPluginValidationData configData)
Callback method that is invoked when a plugin is initialized, such as when the plugin is installed or when the formcycle server is started.
-
-
-
Field Detail
-
CONFIG_FILENAME
@Deprecated static final String CONFIG_FILENAME
Deprecated.Name of the properties file containing the plugin configuration.- See Also:
- Constant Field Values
-
-
Method Detail
-
initialize
default void initialize(IPluginInitializeData initializeData) throws FCPluginException
Callback method that is invoked when this plugin is initialized.- Parameters:
initializeData
-IPluginInitializeData
- Throws:
FCPluginException
- May be thrown when an error occurred during the initialization process. When an error is thrown, this plugin will be deactivated and not put into service.
-
shutdown
default void shutdown(IPluginShutdownData shutdownData) throws FCPluginException
Callback method that is invoked when this plugin is shut down.- Parameters:
shutdownData
-IPluginShutdownData
- Throws:
FCPluginException
- May be throw when an error occurred during the shutdown process. Note that throwing an error will not prevent the plugin from being shut down.
-
uninstall
default void uninstall(IPluginUninstallData uninstallData) throws FCPluginException
Callback method that is invoked when this plugin is uninstalled.- Parameters:
uninstallData
-IPluginUninstallData
- Throws:
FCPluginException
- May be thrown when an error occurred during the uninstall process. Note that throwing an error will not prevent the plugin from being uninstalled.
-
install
default void install(IPluginInstallData installData) throws FCPluginException
Callback method that is invoked when this plugin is installed.- Parameters:
installData
-IPluginInstallData
- Throws:
FCPluginException
- May be thrown when an error occurred during the installation process. When an error is thrown, the plugin will be deactivated and not put into service.
-
getName
String getName()
Getter for the name of this plugin. This is a technical name that should not appear on the user interface. ImplementgetDisplayName(Locale)
for the name that should be shown to the user.- Specified by:
getName
in interfaceINameProviding
- Returns:
String
The name of this plugin.
-
getDescription
default String getDescription(Locale locale)
Getter for the description of this plugin. This description is shown on the user interface. This description may contain HTML markup.- Parameters:
locale
- The locale for which to get the description.- Returns:
- An HTML markup string with the description for this plugin, or
null
if no description is available.
-
getDisplayName
default String getDisplayName(Locale locale)
Description copied from interface:INamedUiElement
The display name of this element in the given locale.- Specified by:
getDisplayName
in interfaceINamedUiElement
- Parameters:
locale
- The locale to get the display name for.- Returns:
- The display name of this element in the given locale.
-
validateConfigurationData
default IPluginInitializeValidationResult validateConfigurationData(IPluginValidationData configData)
Callback method that is invoked when a plugin is initialized, such as when the plugin is installed or when the formcycle server is started. This method lets you perform custom validation logic on the plugin configuration, such as checking whether a configured URL is reachable.If validation fails, the plugin will not be installed, saved, or updated. The user must correct the invalid configuration before the plugin can be installed, saved, or updated.
- Parameters:
configData
- Configuration data of the plugin- Returns:
- The validation result, including whether the plugin configuration is valid and a list of validation error
messages.
null
indicates no errors. - Throws:
RuntimeException
- When an unexpected error occurred during validation. If this method throws an exception, this is treated as if an invalid validation result had been returned.
-
getDescription
@Deprecated default String getDescription()
Deprecated.- Returns:
- An HTML markup string with the description for this plugin, or
null
if no description is available.
-
initPlugin
@Deprecated default void initPlugin() throws FCPluginException
Deprecated.- Throws:
FCPluginException
- May be thrown when an error occurred during the initialization process. When an error is thrown, this plugin will be deactivated and not put into service.
-
shutdown
@Deprecated default void shutdown()
Deprecated.
-
-