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 ofIWorkflowElementWithDeserializedModelthat 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 TDatagetData()TElementgetElement()ElementKeygetKey()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:
getDatain 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:
getElementin interfaceIWorkflowElementWithDeserializedModel<TData,TElement>- Returns:
- The workflow element, i.e. a node or trigger.
-
getKey
public ElementKey getKey()
- Specified by:
getKeyin 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.
-
-