Interface IPluginWorkflowNode

  • All Superinterfaces:
    IFCPlugin, INamedUiElement, INameProviding, IPluginGenericCustomGUI<IPluginWorkflowNodeBean>, ITransferable, Serializable
    All Known Subinterfaces:
    IPluginActionNodeHandler<TData>, IPluginConditionNodeHandler<TData>
    All Known Implementing Classes:
    APluginActionNodeHandler, APluginConditionNodeHandler

    public interface IPluginWorkflowNode
    extends IFCPlugin, IPluginGenericCustomGUI<IPluginWorkflowNodeBean>
    Interface for workflow node plugins. This plugin lets you add a custom workflow action or control node to the workflow designer. This is a low-level interface that allows for fine-tuned control of all aspects of a workflow node, and can be used, for example, to implement a custom try-catch block or loop flow control node.

    In case you only wish to add an action that executes some business logic, consider using de.xima.fc.workflow.mixin.IPluginActionNodeHandler or de.xima.fc.workflow.mixin.APluginActionNodeHandler if you do not need a custom super class. You can also use de.xima.fc.workflow.mixin.IPluginConditionNodeHandler or de.xima.fc.workflow.mixin.APluginConditionNodeHandler to implement a simple custom condition.

    On the server side, the main method to implement is execute. On the client side, the main method to implement is getJavaScript, which needs to return a JavaScript file that calls Flowchart.registerNode(nodeType: string, nodeHandler: Object) to register the client side node handler.

    This plugin can be installed as both a system as well as a client plugin.

    Since:
    7.0.0
    Author:
    XIMA MEDIA GmbH
    • Method Detail

      • getNodeHandler

        INodeHandler<?> getNodeHandler()
        Returns:
        The node handler that implements all the logic required by the workflow node. This lets you customize all features available to built-in workflow nodes.
      • getXhtmlView

        default URL getXhtmlView()
        Description copied from interface: IPluginGenericCustomGUI
        This method must return the path to the XHTML page for the custom user interface. Usually the XHTML file is part of the classpath resources of the plugin. In this case, simply return an URL to resource (jar:file:/...) like so:
         @Override
         public URL getXhtmlView() {
           return getClass().getResource("/path/to/view.xhtml");
         }
         
        Specified by:
        getXhtmlView in interface IPluginGenericCustomGUI<IPluginWorkflowNodeBean>
        Returns:
        Path to the Facelet view. Must not return null. May return null to indicate that no custom view is available. Whether a custom view is required depends on the type of the plugin.