Class WorkflowElementWithDeserializedModel<TData,TElement>
- java.lang.Object
-
- de.xima.fc.workflow.processor.model.WorkflowElementWithDeserializedModel<TData,TElement>
-
- Type Parameters:
TData
- Type of the workflow element's properties model.TElement
- Type of the workflow element, i.e. a node or trigger.
- All Implemented Interfaces:
IElementKeyProviding
,IWorkflowElementWithDeserializedModel<TData,TElement>
public final class WorkflowElementWithDeserializedModel<TData,TElement> extends Object implements IWorkflowElementWithDeserializedModel<TData,TElement>
Implementation ofIWorkflowElementWithDeserializedModel
that loads the data lazily when requested.- Since:
- 7.0.0
- Author:
- XIMA MEDIA GmbH
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description TData
getData()
TElement
getElement()
ElementKey
getKey()
static <TData,TElement>
IWorkflowElementWithDeserializedModel<TData,TElement>withCustomLocator(TElement element, ElementKey key, Function<TElement,TData> dataLocator, Mandant client)
Creates a new wrapped workflow element that retrieves the custom properties on demand by using the given locator.static <TData,TElement>
IWorkflowElementWithDeserializedModel<TData,TElement>withData(TElement element, ElementKey key, TData data, Mandant client)
Creates a new wrapped workflow element that uses the given custom properties.static <TData> IWorkflowElementWithDeserializedModel<TData,WorkflowNode>
withDataOnDemand(WorkflowNode node, Mandant client)
Creates a new wrapped workflow node that deserializes the custom properties on demand.static <TData> IWorkflowElementWithDeserializedModel<TData,WorkflowTrigger>
withDataOnDemand(WorkflowTrigger trigger, Mandant client)
Creates a new wrapped workflow trigger that deserializes the custom properties on demand.static <TData,TElement extends IWorkflowElementEntity>
IWorkflowElementWithDeserializedModel<TData,TElement>withDataOnDemand(TElement element, ElementKey key, Mandant client)
Creates a new wrapped workflow element that deserializes the custom properties on demand.
-
-
-
Method Detail
-
getData
public TData getData()
- Specified by:
getData
in interfaceIWorkflowElementWithDeserializedModel<TData,TElement>
- Returns:
- The custom data of the workflow element. This is passed for convenience, it the the same as
ICustomParametersProviding.getCustomParameters()
, but already deserialized and updated.
-
getElement
public TElement getElement()
- Specified by:
getElement
in interfaceIWorkflowElementWithDeserializedModel<TData,TElement>
- Returns:
- The workflow element, i.e. a node or trigger.
-
getKey
public ElementKey getKey()
- Specified by:
getKey
in interfaceIElementKeyProviding
- Returns:
- The key that identifies this instance.
-
withCustomLocator
public static <TData,TElement> IWorkflowElementWithDeserializedModel<TData,TElement> withCustomLocator(TElement element, ElementKey key, Function<TElement,TData> dataLocator, Mandant client)
Creates a new wrapped workflow element that retrieves the custom properties on demand by using the given locator.- Type Parameters:
TData
- Type of the workflow element's properties model.TElement
- Type of the workflow element, i.e. a node or trigger.- Parameters:
element
- The element to wrap.key
- Key of the element.dataLocator
- Function that can retrieve the data to associate with the element.client
- The current client context for locating client node or trigger plugins.- Returns:
- A new wrapped workflow element for the given element.
-
withData
public static <TData,TElement> IWorkflowElementWithDeserializedModel<TData,TElement> withData(TElement element, ElementKey key, TData data, Mandant client)
Creates a new wrapped workflow element that uses the given custom properties.- Type Parameters:
TData
- Type of the workflow element's properties model.TElement
- Type of the workflow element, i.e. a node or trigger.- Parameters:
element
- The element to wrap.key
- Key of the element.data
- The data to associate with the element.client
- The current client context for locating client node or trigger plugins.- Returns:
- A new wrapped workflow element for the given element.
-
withDataOnDemand
public static <TData,TElement extends IWorkflowElementEntity> IWorkflowElementWithDeserializedModel<TData,TElement> withDataOnDemand(TElement element, ElementKey key, Mandant client)
Creates a new wrapped workflow element that deserializes the custom properties on demand.- Type Parameters:
TData
- Type of the workflow element's properties model.TElement
- Type of the workflow element, i.e. a node or trigger.- Parameters:
element
- The element to wrap.key
- Key of the element.client
- The current client context for locating client node or trigger plugins.- Returns:
- A new wrapped workflow element for the given element.
-
withDataOnDemand
public static <TData> IWorkflowElementWithDeserializedModel<TData,WorkflowNode> withDataOnDemand(WorkflowNode node, Mandant client)
Creates a new wrapped workflow node that deserializes the custom properties on demand.- Type Parameters:
TData
- Type of the workflow node's properties model.- Parameters:
node
- The node to wrap.client
- The current client context for locating client node or trigger plugins.- Returns:
- A new wrapped workflow node for the given node.
-
withDataOnDemand
public static <TData> IWorkflowElementWithDeserializedModel<TData,WorkflowTrigger> withDataOnDemand(WorkflowTrigger trigger, Mandant client)
Creates a new wrapped workflow trigger that deserializes the custom properties on demand.- Type Parameters:
TData
- Type of the workflow trigger's properties model.- Parameters:
trigger
- The trigger to wrap.client
- The current client context for locating client node or trigger plugins.- Returns:
- A new wrapped workflow trigger for the given trigger.
-
-