Class NodeTransferredControlException
java.lang.Object
java.lang.Throwable
java.lang.Exception
de.xima.fc.exceptions.AbstractXfcException
de.xima.fc.exceptions.WorkflowProcessingException
de.xima.fc.exceptions.AbstractAbruptCompletionException
de.xima.fc.exceptions.AbstractSuccessAbruptCompletionException
de.xima.fc.exceptions.NodeTransferredControlException
- All Implemented Interfaces:
de.xima.cmn.i18n.ILocalizedMessageProvider, IXfcException, IBaseCompletionResult, IControlTransferringCompletionResult, ISuccessResultData, Serializable
public final class NodeTransferredControlException
extends AbstractSuccessAbruptCompletionException
implements IControlTransferringCompletionResult
Used by a
node to indicate that the node completed abruptly by issuing a control transfer
statement.
As implied by its name, a node that issues a control transfer statement transfers control to another node upon completion; instead of proceeding with the next node. Typical examples for control transfer statement are break and continue statements, which transfer control to either the end of a loop or to the next iteration of a loop.
A NodeTransferredControlException must be caught by some parent node in the syntax tree of workflow nodes that
knows how to handle the control transfer. If no such parent node exists, the exception will bubble up to the workflow
engine, which will log a warning, but otherwise treat the processing chain execution as
successful.
- Since:
- 8.2.0
- Author:
- XIMA MEDIA GmbH
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classA simple builder for configuring aNodeTransferredControlException. -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new exception that should be thrown when a node wishes to transfer control. -
Method Summary
Methods inherited from class AbstractSuccessAbruptCompletionException
getSoftErrors, getSuccessValueMethods inherited from class AbstractAbruptCompletionException
getAlwaysValue, getAttachmentValue, getFileValue, getNodeMethods inherited from class WorkflowProcessingException
getDefaultErrorCode, getDefaultMessageKeyMethods inherited from class AbstractXfcException
getErrorCode, getExceptionData, getLocalizedMessage, getMessageKey, getMessageParamsMethods inherited from class Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface IBaseCompletionResult
getAlwaysValue, getAttachmentValue, getFileValue, getNodeMethods inherited from interface ISuccessResultData
getSoftErrors, getSuccessValue
-
Constructor Details
-
NodeTransferredControlException
Creates a new exception that should be thrown when a node wishes to transfer control.- Parameters:
builder- Builder with the data to set.
-
-
Method Details
-
getControlTransferType
- Specified by:
getControlTransferTypein interfaceIControlTransferringCompletionResult- Returns:
- The type of control transfer, see
EStandardControlTransferTypefor a list of built-in transfer types.
-
getTargetNode
- Specified by:
getTargetNodein interfaceIControlTransferringCompletionResult- Returns:
- Optional
node keyof the node which is targeted by the control transfer. Whennull, the closest node is targeted.
-
builder
- Parameters:
node- The node that did finish execution.- Returns:
- A new builder for a
NodeTransferredControlException.
-