Pre-processing


Interface IPluginFormPreProcess

Use cases

Allows you to add a custom check whether workflow processing should start or not. When a plugin aborts workflow processing, no actions will be executed and the form will remain in the system state Received. Use this plugin when you wish to cancel the default workflow actions, but still keep and save the form data to the database.

When multiple pre-processing plugins are installed, their order of execution is arbitrary. You should not rely on a certain fixed order.

The form PreProcess implementations are always executed before each form call in the respective application area (system or client plug-in) in which they were installed. It is therefore recommended to first check in the implementation logic whether the PreProcess implementation should be executed for the respective form processing. This can be made configurable, for example, by using Plugin-Properties.

Placement of the PreProcess plug-in in the process chain of Xima® Formcycle

Method signature

IPluginFormPreProcessRetVal execute(IPluginFormPreProcessParams params) throws FCPluginException

Parameters

An object of type IPluginFormPrePersistParams will be passed to the execute method, providing access to an object of type IFormRequestContext. A form request context provides you with access to many properties of the submitted form, including:

  • the current project (getProjekt())
  • the current client ((getMandant())
  • the current form record (getVorgang())
  • the current version of the form and all form fields (getFormVersion())
  • session attributes (getSessionAttributes())
  • the current user context for access to the database (getUserContext())

Return value

The return value must be of type IPluginFormPreProcessRetVal s. A reference implementation is provided by the class PluginGenericFormProcessingRetVal.

When instantiating a corresponding object, a boolean flag is expected. If this has the value true, further processing is continued in Xima® Formcycle. If false, processing is aborted.