Interface IWorkflowEventHandler

    • Method Detail

      • getEfferentTransition

        WorkflowTransition getEfferentTransition()
        Get the efferent transition of this workflow event handler.
        Returns:
        The efferent transition, or null.
      • setEfferentTransition

        void setEfferentTransition​(WorkflowTransition p_wfTransition)
        Set the efferent transition of this workflow event handler.
        Parameters:
        p_wfTransition - The transition to be set.
      • isHandleExternalEvents

        boolean isHandleExternalEvents()
        Check if this workflow event handler is configured to handle external events, i.e. events that are not created by other workflows, or the workflow engine itself.

        The default value of this property is true.

        Returns:
        true if this event handler handles external events, or false otherwise.
      • setHandleExternalEvents

        void setHandleExternalEvents​(boolean p_bHandleExternalEvents)
        Set the external event handler property.
        Parameters:
        p_bHandleExternalEvents - The new value.
        See Also:
        isHandleExternalEvents()
      • isHandlerFor

        boolean isHandlerFor​(IWorkflowEvent p_evt,
                             de.uplanet.lucy.server.workflow.IWorkflowProcessingContext p_wfCtx)
        Check if this event handler may handle the given event.

        This method should return false if this event handler's state is inactive.

        Note: despite this method returns true the event handler is not required to return its efferent transition when process is being called.

        Parameters:
        p_evt - The event.
        p_wfCtx - The workflow processing context.
        Returns:
        true if this event handler may process this event, or false otherwise.
      • process

        WorkflowTransition process​(IWorkflowEvent p_evt,
                                   de.uplanet.lucy.server.workflow.IWorkflowProcessingContext p_wfCtx,
                                   de.uplanet.lucy.server.IProcessingContext p_ctx)
                            throws InterruptedException,
                                   Exception
        Process a workflow event in the given context.

        This method is called by the workflow engine if a call to isHandlerFor returned true. However this method is not required to return a non-null efferent transition in such cases.

        A workflow event handler must return null if it is not active.

        Parameters:
        p_evt - The event to be processed.
        p_wfCtx - The workflow processing context.
        p_ctx - The processing context.
        Returns:
        The efferent transition, or null.
        Throws:
        InterruptedException - If processing of this event handler has been interrupted.
        Exception - If an error occurred.