Class WorkflowNodeFactory
- java.lang.Object
-
- de.xima.fc.workflow.processor.factory.WorkflowNodeFactory
-
public final class WorkflowNodeFactory extends Object
Factory methods for creating various kinds ofWorkflowNode
s.- Since:
- 7.0.0
- Author:
- XIMA MEDIA GmbH
-
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected static List<WorkflowNode>
asList(WorkflowNode... nodes)
static WorkflowNode
breakStatement()
Creates a new workflow node for aEWorkflowNodeType.FC_BREAK
that issues a control transfer via a break statement, targeting the closest control flow node.static WorkflowNode
breakStatement(WorkflowNode breakTarget)
Creates a new workflow node for aEWorkflowNodeType.FC_BREAK
that issues a control transfer via a break statement.static WorkflowNode
breakStatement(NodeKey breakTarget)
Creates a new workflow node for aEWorkflowNodeType.FC_BREAK
that issues a control transfer via a break statement.static WorkflowNode
changeFormAvailability(EChangeFormAvailabilityType changeType)
Creates a new workflow node for aEWorkflowNodeType.FC_CHANGE_FORM_AVAILABILITY
that changes the availability of a form.static IChangeFormValuesBuilder
changeFormValue()
Creates a builder for workflow node for aEWorkflowNodeType.FC_CHANGE_FORM_VALUE
that modifies the value of one or more form elements.static WorkflowNode
changeFormValue(Map<String,String> formValues)
Deprecated.Use thebuilder
.static WorkflowNode
changeState(WorkflowState state)
Creates a new workflow node for aEWorkflowNodeType.FC_CHANGE_STATE
that changes the current form record to the given state.static WorkflowNode
compressAsZip(MultiFile multiFile, String compressedFileName)
Creates a new workflow node for aEWorkflowNodeType.FC_COMPRESS_AS_ZIP
that creates a ZIP file form the input files.static WorkflowNode
compressAsZip(MultiFile multiFile, String compressedFileName, boolean attachToFormRecord)
Creates a new workflow node for aEWorkflowNodeType.FC_COMPRESS_AS_ZIP
that creates a ZIP file form the input files.static WorkflowNode
compressAsZip(MultiFile multiFile, String compressedFileName, boolean attachToFormRecord, ECompressAsZipNamingScheme namingScheme)
Creates a new workflow node for aEWorkflowNodeType.FC_COMPRESS_AS_ZIP
that creates a ZIP file form the input files.static WorkflowNode
continueStatement()
Creates a new workflow node for aEWorkflowNodeType.FC_CONTINUE
that issues a control transfer via a continue statement,targeting the closest loop.static WorkflowNode
continueStatement(WorkflowNode continueTarget)
Creates a new workflow node for aEWorkflowNodeType.FC_CONTINUE
that issues a control transfer via a continue statement.static WorkflowNode
continueStatement(NodeKey continueTarget)
Creates a new workflow node for aEWorkflowNodeType.FC_CONTINUE
that issues a control transfer via a continue statement.static WorkflowNode
copyFormRecord(boolean anonymizeUserMetadata)
Creates a new workflow node for aEWorkflowNodeType.FC_COPY_FORM_RECORD
that moves the current form record to the given inbox.static WorkflowNode
copyFormRecord(boolean anonymizeUserMetadata, WorkflowTrigger triggerToInvoke, Postfach targetInbox)
Creates a new workflow node for aEWorkflowNodeType.FC_COPY_FORM_RECORD
that moves the current form record to the given inbox.static WorkflowNode
counter(ClientCounter counter, ECounterActionType actionType, String step)
Creates a new workflow node for aEWorkflowNodeType.FC_COUNTER
that modifies a certain client counter.static WorkflowNode
counter(String counterName, ECounterActionType actionType, String step)
Creates a new workflow node for aEWorkflowNodeType.FC_COUNTER
that modifies a certain client counter.static WorkflowNode
counterDecrement(ClientCounter counter, String step)
Creates a new workflow node for aEWorkflowNodeType.FC_COUNTER
that decrements a client counter.static WorkflowNode
counterDecrement(String counterName, String step)
Creates a new workflow node for aEWorkflowNodeType.FC_COUNTER
that decrements a client counter.static WorkflowNode
counterIncrement(ClientCounter counter, String step)
Creates a new workflow node for aEWorkflowNodeType.FC_COUNTER
that increments a client counter.static WorkflowNode
counterIncrement(String counterName, String step)
Creates a new workflow node for aEWorkflowNodeType.FC_COUNTER
that increments a client counter.static WorkflowNode
counterReset(ClientCounter counter)
Creates a new workflow node for aEWorkflowNodeType.FC_COUNTER
that resets a client counter.static WorkflowNode
counterReset(String counterName)
Creates a new workflow node for aEWorkflowNodeType.FC_COUNTER
that resets a client counter.static ICreateTextFileNodeBuilder
createTextFile()
Creates a new builder for configuring a workflow node for aEWorkflowNodeType.FC_CREATE_TEXT_FILE
that creates a text file with the given content and the default encoding.static WorkflowNode
createTextFile(String fileName, String fileContent)
Creates a new workflow node for aEWorkflowNodeType.FC_CREATE_TEXT_FILE
that creates a text file with the given content and the default encoding.static WorkflowNode
createTextFile(String fileName, String fileContent, ETextFileContentType contentType)
Deprecated.UsecreateTextFile()
.static WorkflowNode
createTextFile(String fileName, String fileContent, ETextFileContentType contentType, Charset charset)
Deprecated.UsecreateTextFile()
.static WorkflowNode
createTextFile(String fileName, String fileContent, ETextFileContentType contentType, Charset charset, EByteOrderMarkMode bomMode)
Deprecated.static WorkflowNode
custom(IWorkflowElementTypeProviding type)
Creates a new workflow node for the given type and no data.static WorkflowNode
custom(IWorkflowElementTypeProviding type, Object data, Mandant client)
Creates a new workflow node for the given type and data.static WorkflowNode
custom(EWorkflowNodeType type)
Creates a new workflow node for the given type and no data.static WorkflowNode
custom(EWorkflowNodeType type, Object data, Mandant client)
Creates a new workflow node for the given type and data.static WorkflowNode
custom(String type)
Creates a new workflow node for the given type and with no data.static WorkflowNode
custom(String type, Object data, Mandant client)
Creates a new workflow node for the given type and data.static WorkflowNode
databaseQuery(DatenbankZugriff databaseConnection, String sqlStatement)
Creates a new workflow node for aEWorkflowNodeType.FC_SQL_STATEMENT
with a SQL statement.static WorkflowNode
databaseQuery(Datenquelle databaseQuery)
Creates a new workflow node for aEWorkflowNodeType.FC_SQL_STATEMENT
that uses a preconfigured database query.static WorkflowNode
databaseQuery(Datenquelle databaseQuery, Iterable<Map.Entry<String,String>> queryParameters)
Creates a new workflow node for aEWorkflowNodeType.FC_SQL_STATEMENT
that uses a preconfigured database query.static WorkflowNode
databaseQuery(Datenquelle databaseQuery, Map<String,String> queryParameters)
static WorkflowNode
decodeBase64(String value)
Creates a new workflow node for aEWorkflowNodeType.FC_ENCODE_BASE64
that converts a binary file to base64.static WorkflowNode
decodeBase64(String value, String exportName, boolean attachToFormRecord)
Creates a new workflow node for aEWorkflowNodeType.FC_ENCODE_BASE64
that converts a binary file to base64.static WorkflowNode
deleteAttachment(MultiAttachment attachmentsToDelete)
Creates a new workflow node for aEWorkflowNodeType.FC_DELETE_ATTACHMENT
that deletes an attachment from the form record.static WorkflowNode
deleteFormRecord()
Creates a new workflow node for aEWorkflowNodeType.FC_DELETE_FORM_RECORD
that deletes the current form record when executed.static WorkflowNode
doiInit(String from, Iterable<String> to, String subject, String htmlBody, String plainTextBody, Textbaustein doiFailTemplate)
Creates a new workflow node for aEWorkflowNodeType.FC_DOI_INIT
that initializes the double opt-in process.static WorkflowNode
doiInitHtml(String from, Iterable<String> to, String subject, String body)
Creates a new workflow node for aEWorkflowNodeType.FC_DOI_INIT
that initializes the double opt-in process.static WorkflowNode
doiInitHtml(String from, Iterable<String> to, String subject, String body, Textbaustein doiFailTemplate)
Creates a new workflow node for aEWorkflowNodeType.FC_DOI_INIT
that initializes the double opt-in process.static WorkflowNode
doiInitPlain(String from, Iterable<String> to, String subject, String body)
Creates a new workflow node for aEWorkflowNodeType.FC_DOI_INIT
that initializes the double opt-in process.static WorkflowNode
doiInitPlain(String from, Iterable<String> to, String subject, String body, Textbaustein doiFailTemplate)
Creates a new workflow node for aEWorkflowNodeType.FC_DOI_INIT
that initializes the double opt-in process.static WorkflowNode
doUntilLoop()
Creates a new workflow node for aEWorkflowNodeType.FC_DO_UNTIL_LOOP
that executes its child until the loop condition is not satisfied anymore, depending on the result of a logical test that may consist of multiple conditions.static WorkflowNode
doUntilLoop(FcDoUntilLoopProps props)
Creates a new workflow node for aEWorkflowNodeType.FC_DO_UNTIL_LOOP
that executes its child until the loop condition is not satisfied anymore, depending on the result of a logical test that may consist of multiple conditions.static WorkflowNode
doUntilLoop(FcDoUntilLoopProps props, WorkflowNode loopBody)
Creates a new workflow node for aEWorkflowNodeType.FC_DO_UNTIL_LOOP
that executes its child until the loop condition is not satisfied anymore, depending on the result of a logical test that may consist of multiple conditions.static IEmailNodeBuilder
email(String from)
Creates a builder for a new workflow node for aEWorkflowNodeType.FC_EMAIL
that sends an email to a given list of recipients.static WorkflowNode
email(String from, Iterable<String> to, String subject, String htmlBody, String plainTextBody)
Creates a new workflow node for aEWorkflowNodeType.FC_EMAIL
that sends an email to one or more recipients.static WorkflowNode
email(String from, Iterable<String> to, String subject, String htmlBody, String plainTextBody, MultiFile attachments)
Creates a new workflow node for aEWorkflowNodeType.FC_EMAIL
that sends an email to one or more recipients.static WorkflowNode
emailHtml(String from, Iterable<String> to, String subject, String body)
Creates a new workflow node for aEWorkflowNodeType.FC_EMAIL
that sends an HTML email to one or more recipients.static WorkflowNode
emailHtml(String from, Iterable<String> to, String subject, String body, MultiFile attachments)
Creates a new workflow node for aEWorkflowNodeType.FC_EMAIL
that sends an HTML email to one or more recipients.static WorkflowNode
emailPlainText(String from, Iterable<String> to, String subject, String body)
Creates a new workflow node for aEWorkflowNodeType.FC_EMAIL
that sends a plain text email to one or more recipients.static WorkflowNode
emailPlainText(String from, Iterable<String> to, String subject, String body, MultiFile attachments)
Creates a new workflow node for aEWorkflowNodeType.FC_EMAIL
that sends a plain text email to one or more recipients.static WorkflowNode
empty()
Creates a new workflow node for aEWorkflowNodeType.FC_EMPTY
that represents a no-op.static WorkflowNode
encodeBase64(SingleFile file)
Creates a new workflow node for aEWorkflowNodeType.FC_ENCODE_BASE64
that converts a binary file to base64.static WorkflowNode
experiment()
Creates a new workflow node for aEWorkflowNodeType.FC_EXPERIMENT
that catches exception that occur while the block is executed.static WorkflowNode
experiment(WorkflowNode block)
Deprecated.You should always have at least a handler or finalizer block.static WorkflowNode
experiment(WorkflowNode block, WorkflowNode handler)
Deprecated.static WorkflowNode
experiment(WorkflowNode block, WorkflowNode handler, WorkflowNode finalizer)
Creates a new workflow node for aEWorkflowNodeType.FC_EXPERIMENT
that catches exception that occur while the block is executed, and moves to the finalizer block afterwards.static WorkflowNode
experimentTryCatch(WorkflowNode block, WorkflowNode handler)
Creates a new workflow node for aEWorkflowNodeType.FC_EXPERIMENT
that catches exception that occur while the block is executed.static WorkflowNode
experimentTryFinally(WorkflowNode block, WorkflowNode finalizer)
Creates a new workflow node for aEWorkflowNodeType.FC_EXPERIMENT
that moves to the finally block after the block was executed.static WorkflowNode
exportToPersistence()
Creates a new workflow node for aEWorkflowNodeType.FC_EXPORT_TO_PERSISTENCE
that creates a persistence file with the submitted form data.static WorkflowNode
exportToPersistence(String exportName)
Creates a new workflow node for aEWorkflowNodeType.FC_EXPORT_TO_PERSISTENCE
that creates a persistence file with the submitted form data.static WorkflowNode
exportToPersistence(String exportName, boolean attachToFormRecord)
Creates a new workflow node for aEWorkflowNodeType.FC_EXPORT_TO_PERSISTENCE
that creates a persistence file with the submitted form data.static WorkflowNode
exportToXml()
Creates a new workflow node for aEWorkflowNodeType.FC_EXPORT_TO_PERSISTENCE
that creates a persistence file with the submitted form data.static WorkflowNode
exportToXml(String exportName)
Creates a new workflow node for aEWorkflowNodeType.FC_EXPORT_TO_PERSISTENCE
that creates a persistence file with the submitted form data.static WorkflowNode
exportToXml(String exportName, boolean attachToFormRecord)
Creates a new workflow node for aEWorkflowNodeType.FC_EXPORT_TO_PERSISTENCE
that creates a persistence file with the submitted form data.static WorkflowNode
exportToXml(String exportName, boolean attachToFormRecord, Iterable<EExportToXmlField> exportFields, Textbaustein xslTemplate)
Creates a new workflow node for aEWorkflowNodeType.FC_EXPORT_TO_PERSISTENCE
that creates a persistence file with the submitted form data.static IFillPdfNodeBuilder
fillPdf()
Creates a builder for a new workflow node for aEWorkflowNodeType.FC_FILL_PDF
that fills a PDF document with the submitted form data.static WorkflowNode
fillPdf(SingleFile pdfDocument)
Creates a new workflow node for aEWorkflowNodeType.FC_FILL_PDF
that fills a PDF document with the submitted form data.static WorkflowNode
fillPdf(SingleFile pdfDocument, String exportName, boolean attachToFormRecord, String font)
Creates a new workflow node for aEWorkflowNodeType.FC_FILL_PDF
that fills a PDF document with the submitted form data.static WorkflowNode
fillWord(SingleFile wordDocument)
Creates a new workflow node for aEWorkflowNodeType.FC_FILL_WORD
that fills a Word document with the submitted form data.static WorkflowNode
fillWord(SingleFile wordDocument, String exportName, boolean attachToFormRecord)
Creates a new workflow node for aEWorkflowNodeType.FC_FILL_WORD
that fills a Word document with the submitted form data.static WorkflowNode
forEachLoop()
Creates a new workflow node for aEWorkflowNodeType.FC_FOR_EACH_LOOP
that executes its child once for each item as provided by the selected item source.static WorkflowNode
forEachLoop(FcForEachLoopProps props)
Creates a new workflow node for aEWorkflowNodeType.FC_FOR_EACH_LOOP
that executes its child once for each item as provided by the selected item source.static WorkflowNode
forEachLoop(FcForEachLoopProps props, WorkflowNode loopBody)
Creates a new workflow node for aEWorkflowNodeType.FC_FOR_EACH_LOOP
that executes its child once for each item as provided by the selected item source.static IHttpRequestNodeBuilder
httpRequest(EHttpVerb httpVerb, String endpointUrl)
Creates a builder for a new workflow node for aEWorkflowNodeType.FC_POST_REQUEST
that sends an HTTP request to the given URL.static IHttpRequestNodeBuilder
httpRequest(String httpVerb, String endpointUrl)
Creates a builder for a new workflow node for aEWorkflowNodeType.FC_POST_REQUEST
that sends an HTTP request to the given URL.static WorkflowNode
importFormValueFromXml(SingleFile xmlDocument, Map<String,String> xPathMapping)
Creates a new workflow node for aEWorkflowNodeType.FC_IMPORT_FORM_VALUE_FROM_XML
that changes the value of form elements based on the data of an XML document.static WorkflowNode
importFormValueFromXml(SingleFile xmlDocument, Map<String,String> xPathMapping, Textbaustein xslTemplate)
Creates a new workflow node for aEWorkflowNodeType.FC_IMPORT_FORM_VALUE_FROM_XML
that changes the value of form elements based on the data of an XML document.static WorkflowNode
ldapQuery(LDAPAbfrage ldapQuery)
Creates a new workflow node for aEWorkflowNodeType.FC_LDAP_QUERY
that uses a preconfigured LDAP query.static WorkflowNode
ldapQuery(LDAPAbfrage ldapQuery, Iterable<Map.Entry<String,String>> queryParameters)
Creates a new workflow node for aEWorkflowNodeType.FC_LDAP_QUERY
that uses a preconfigured LDAP query.static WorkflowNode
ldapQuery(LDAPAbfrage ldapQuery, Map<String,String> queryParameters)
Creates a new workflow node for aEWorkflowNodeType.FC_LDAP_QUERY
that uses a preconfigured LDAP query.static WorkflowNode
ldapQuery(LDAPZugriff ldapConnection, String searchFilter)
Creates a new workflow node for aEWorkflowNodeType.FC_LDAP_QUERY
with a custom search filter.static WorkflowNode
ldapQuery(LDAPZugriff ldapConnection, String searchFilter, String baseDn)
Creates a new workflow node for aEWorkflowNodeType.FC_LDAP_QUERY
with a custom search filter.static WorkflowNode
ldapQuery(LDAPZugriff ldapConnection, String searchFilter, String baseDn, Iterable<String> resultFilter)
Creates a new workflow node for aEWorkflowNodeType.FC_LDAP_QUERY
with a custom search filter.static WorkflowNode
logEntry(ELogEntryActionLogLevel level, String comments)
Creates a new workflow node for aEWorkflowNodeType.FC_LOG_ENTRY
with a given level and comments.static WorkflowNode
moveFormRecordToInbox(Postfach targetInbox)
Creates a new workflow node for aEWorkflowNodeType.FC_MOVE_FORM_RECORD_TO_INBOX
that moves the current form record to the given inbox.static WorkflowNode
moveFormRecordToInbox(UuidEntityRef targetInbox)
Creates a new workflow node for aEWorkflowNodeType.FC_MOVE_FORM_RECORD_TO_INBOX
that moves the current form record to the given inbox.static WorkflowNode
moveFormRecordToInbox(String targetInboxName)
Creates a new workflow node for aEWorkflowNodeType.FC_MOVE_FORM_RECORD_TO_INBOX
that moves the current form record to the inbox with the given name.static WorkflowNode
multipleCondition()
Creates a new workflow node for aEWorkflowNodeType.FC_MULTIPLE_CONDITION
that executes one of its children depending on the result of a logical test that may consist of multiple conditions.static WorkflowNode
multipleCondition(FcMultipleConditionProps props)
Creates a new workflow node for aEWorkflowNodeType.FC_MULTIPLE_CONDITION
that executes one of its children depending on the result of a logical test that may consist of multiple conditions.static WorkflowNode
multipleCondition(FcMultipleConditionProps props, WorkflowNode consequent, WorkflowNode alternate)
Creates a new workflow node for aEWorkflowNodeType.FC_MULTIPLE_CONDITION
that executes one of its children depending on the result of a logical test that may consist of multiple conditions.static IMultipleConditionBuilder
multipleConditionBuilder()
Creates a builder for workflow node of typeEWorkflowNodeType.FC_MULTIPLE_CONDITION
that executes one of its children depending on the result of a logical test that may consist of multiple conditions.protected static WorkflowNode
ofType(EWorkflowNodeType action)
protected static WorkflowNode
ofType(EWorkflowNodeType type, Object data, Mandant client)
protected static WorkflowNode
ofType(String kind)
protected static WorkflowNode
ofType(String type, Object data, Mandant client)
static WorkflowNode
processLogPdf(String fileName)
Creates a new workflow node for aEWorkflowNodeType.FC_PROCESS_LOG_PDF
that creates a PDF document with the history of the current form record.static WorkflowNode
provideResource(SingleFile singleFile, String exportName)
Creates a new workflow node for aEWorkflowNodeType.FC_PROVIDE_RESOURCE
that provides the given resource.static WorkflowNode
provideResource(SingleFile singleFile, String exportName, boolean attachToFormRecord)
Creates a new workflow node for aEWorkflowNodeType.FC_PROVIDE_RESOURCE
that provides the given resource.static WorkflowNode
queueTask(WorkflowTrigger triggerToInvoke)
Creates a new workflow node for aEWorkflowNodeType.FC_QUEUE_TASK
that invokes the given task immediately after the current task ends.static WorkflowNode
queueTask(WorkflowTrigger triggerToInvoke, boolean addToEnd)
Creates a new workflow node for aEWorkflowNodeType.FC_QUEUE_TASK
that invokes the given task.static WorkflowNode
redirect(Textbaustein url)
Creates a new workflow node for aEWorkflowNodeType.FC_REDIRECT
that redirects the HTTP request to the given URL.static WorkflowNode
redirect(Textbaustein url, Map<String,List<String>> queryParameters)
Creates a new workflow node for aEWorkflowNodeType.FC_REDIRECT
that redirects the HTTP request to the given URL.static WorkflowNode
redirect(UuidEntityRef url)
Creates a new workflow node for aEWorkflowNodeType.FC_REDIRECT
that redirects the HTTP request to the given URL.static WorkflowNode
redirect(UuidEntityRef url, Map<String,List<String>> queryParameters)
Creates a new workflow node for aEWorkflowNodeType.FC_REDIRECT
that redirects the HTTP request to the given URL.static WorkflowNode
redirect(String url)
Creates a new workflow node for aEWorkflowNodeType.FC_REDIRECT
that redirects the HTTP request to the given URL.static WorkflowNode
redirect(String url, Map<String,List<String>> queryParameters)
Creates a new workflow node for aEWorkflowNodeType.FC_REDIRECT
that redirects the HTTP request to the given URL.static WorkflowNode
renewProcessId()
Creates a new workflow node for aEWorkflowNodeType.FC_RENEW_PROCESS_ID
that generates a new UUID for the form record.static WorkflowNode
returnFile(MultiFile files)
Creates a new workflow node for aEWorkflowNodeType.FC_RETURN_FILE
that sends the given files as the HTTP response.static WorkflowNode
returnFile(MultiFile files, boolean forceDownload)
Creates a new workflow node for aEWorkflowNodeType.FC_RETURN_FILE
that sends the given files as the HTTP response.static WorkflowNode
returnStatement()
Creates a new workflow node for aEWorkflowNodeType.FC_RETURN
that ends the current workflow task.static WorkflowNode
saveToFileSystem(MultiFile files, String directory)
Creates a new workflow node for aEWorkflowNodeType.FC_SAVE_TO_FILE_SYSTEM
that saves the given file to a directory on the file system.static WorkflowNode
saveToFileSystem(MultiFile files, String directory, boolean allowPathInPlaceholder)
Creates a new workflow node for aEWorkflowNodeType.FC_SAVE_TO_FILE_SYSTEM
that saves the given file to a directory on the file system.static WorkflowNode
saveToWebDav(MultiFile files, WebDavAccess conn, String path)
Creates a new workflow node for aEWorkflowNodeType.FC_SAVE_TO_WEB_DAV
that gives the given file to a directory on a chosen WebDAV.static WorkflowNode
saveToWebDav(MultiFile files, WebDavAccess conn, String path, boolean allowPathInPlaceholder)
Creates a new workflow node for aEWorkflowNodeType.FC_SAVE_TO_WEB_DAV
that gives the given file to a directory on a chosen WebDAV.static ISendFormRecordMessageBuilder
sendFormRecordMessage()
Creates a builder for a new workflow node for aEWorkflowNodeType.FC_SEND_FORM_RECORD_MESSAGE
that sends a message to an end user.static WorkflowNode
sequence(WorkflowNode... blocks)
Creates a new workflow node for aEWorkflowNodeType.SEQUENCE
that executes it children in order.static WorkflowNode
sequence(Iterable<WorkflowNode> blocks)
Creates a new workflow node for aEWorkflowNodeType.SEQUENCE
that executes it children in order.static WorkflowNode
setSavedFlag()
Creates a new workflow node for aEWorkflowNodeType.FC_SET_SAVED_FLAG
that marks the form record as saved or unsaved.static WorkflowNode
showTemplate(Textbaustein htmlTemplate)
Creates a new workflow node for aEWorkflowNodeType.FC_SHOW_TEMPLATE
that responds to an HTTP request with the given text template.static WorkflowNode
switchAction()
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH
that check a value against several conditions and executes all its matching cases.static WorkflowNode
switchAction(FcSwitchProps props)
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH
that check a value against several conditions and executes all its matching cases.static WorkflowNode
switchAction(FcSwitchProps props, WorkflowNode defaultCase, WorkflowNode... otherCases)
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH
that check a value against several conditions and executes all its matching cases.static WorkflowNode
switchAction(FcSwitchProps props, WorkflowNode defaultCase, Iterable<WorkflowNode> otherCases)
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH
that check a value against several conditions and executes all its matching cases.static WorkflowNode
switchAction(String switchValue)
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH
that check a value against several conditions and executes all its matching cases.static WorkflowNode
switchAction(String switchValue, WorkflowNode defaultCase, WorkflowNode... otherCases)
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH
that check a value against several conditions and executes all its matching cases.static WorkflowNode
switchAction(String switchValue, WorkflowNode defaultCase, Iterable<WorkflowNode> otherCases)
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH
that check a value against several conditions and executes all its matching cases.static WorkflowNode
switchCase()
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH_CASE
that is executed when it matches the value of a switch.static WorkflowNode
switchCase(EMatchCondition operator, String caseValue, WorkflowNode... nodes)
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH_CASE
with a single condition that is executed when it matches the value of a switch.static WorkflowNode
switchCase(EMatchCondition operator, String caseValue, Iterable<WorkflowNode> nodes)
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH_CASE
with a single condition that is executed when it matches the value of a switch.static WorkflowNode
switchCase(FcSwitchCaseProps props, WorkflowNode... nodes)
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH_CASE
that is executed when it matches the value of a switch.static WorkflowNode
switchCase(FcSwitchCaseProps props, Iterable<WorkflowNode> nodes)
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH_CASE
that is executed when it matches the value of a switch.static WorkflowNode
switchDefault(WorkflowNode... nodes)
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH_DEFAULT
that is executed when no other switch cases match.static WorkflowNode
switchDefault(FcSwitchDefaultProps props, WorkflowNode... nodes)
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH_DEFAULT
that is executed when no other switch cases match.static WorkflowNode
switchDefault(FcSwitchDefaultProps props, Iterable<WorkflowNode> nodes)
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH_DEFAULT
that is executed when no other switch cases match.static WorkflowNode
switchDefault(Iterable<WorkflowNode> nodes)
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH_DEFAULT
that is executed when no other switch cases match.static WorkflowNode
throwException(String errorType)
Creates a new workflow node for aEWorkflowNodeType.FC_THROW_EXCEPTION
that throws an exception when executed.static WorkflowNode
throwException(String errorType, String errorMessage)
Creates a new workflow node for aEWorkflowNodeType.FC_THROW_EXCEPTION
that throws an exception when executed.static WorkflowNode
throwException(String errorType, String errorMessage, Object errorData)
Creates a new workflow node for aEWorkflowNodeType.FC_THROW_EXCEPTION
that throws an exception when executed.protected static WorkflowNode[]
toArray(Iterable<WorkflowNode> nodes)
static WorkflowNode
whileLoop()
Creates a new workflow node for aEWorkflowNodeType.FC_WHILE_LOOP
that executes its child as long as the loop condition holds true depending on the result of a logical test that may consist of multiple conditions.static WorkflowNode
whileLoop(FcWhileLoopProps props)
Creates a new workflow node for aEWorkflowNodeType.FC_WHILE_LOOP
that executes its child as long as the loop condition holds true depending on the result of a logical test that may consist of multiple conditions.static WorkflowNode
whileLoop(FcWhileLoopProps props, WorkflowNode loopBody)
Creates a new workflow node for aEWorkflowNodeType.FC_WHILE_LOOP
that executes its child as long as the loop condition holds true depending on the result of a logical test that may consist of multiple conditions.static WorkflowNode
writeFormRecordAttributes(Map<String,String> attributes)
Creates a new workflow node for aEWorkflowNodeType.FC_WRITE_FORM_RECORD_ATTRIBUTES
that sets custom attributes on the form record.
-
-
-
Method Detail
-
breakStatement
public static WorkflowNode breakStatement() throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_BREAK
that issues a control transfer via a break statement, targeting the closest control flow node.- Returns:
- The workflow node for a break action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
breakStatement
public static WorkflowNode breakStatement(NodeKey breakTarget) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_BREAK
that issues a control transfer via a break statement.- Parameters:
breakTarget
- Optional target for the break statement to which to transfer control. If not given, the target is the closest node that supportsbreak
control transfers.- Returns:
- The workflow node for a break action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
breakStatement
public static WorkflowNode breakStatement(WorkflowNode breakTarget) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_BREAK
that issues a control transfer via a break statement.- Parameters:
breakTarget
- Optional target for the break statement to which to transfer control. If not given, the target is the closest node that supportsbreak
control transfers.- Returns:
- The workflow node for a continue action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
changeFormAvailability
public static WorkflowNode changeFormAvailability(EChangeFormAvailabilityType changeType) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_CHANGE_FORM_AVAILABILITY
that changes the availability of a form.- Parameters:
changeType
- How to modify the form's availability state.- Returns:
- The workflow node for a change form availability action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
changeFormValue
public static IChangeFormValuesBuilder changeFormValue()
Creates a builder for workflow node for aEWorkflowNodeType.FC_CHANGE_FORM_VALUE
that modifies the value of one or more form elements.- Returns:
- A builder for a workflow node for a change form value action with the given details.
- Since:
- 8.2.0
-
changeFormValue
public static WorkflowNode changeFormValue(Map<String,String> formValues) throws FastJsonException
Deprecated.Use thebuilder
.Creates a new workflow node for aEWorkflowNodeType.FC_CHANGE_FORM_VALUE
that modifies the value of one or more form elements.- Parameters:
formValues
- Values to set on the form. Key is the name of the form element, value is the new value for the form element.- Returns:
- The workflow node for a change form value action with the given details.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
changeState
public static WorkflowNode changeState(WorkflowState state) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_CHANGE_STATE
that changes the current form record to the given state.- Parameters:
state
- State to which to change.- Returns:
- The workflow node for a change state action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
compressAsZip
public static WorkflowNode compressAsZip(MultiFile multiFile, String compressedFileName) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_COMPRESS_AS_ZIP
that creates a ZIP file form the input files.- Parameters:
multiFile
- Files to compress.compressedFileName
- File name of the ZIP file.- Returns:
- The workflow node for a compress as ZIP action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
compressAsZip
public static WorkflowNode compressAsZip(MultiFile multiFile, String compressedFileName, boolean attachToFormRecord) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_COMPRESS_AS_ZIP
that creates a ZIP file form the input files.- Parameters:
multiFile
- Files to compress.compressedFileName
- File name of the ZIP file.attachToFormRecord
- Whether the ZIP file should be attached to the current form record.- Returns:
- The workflow node for a compress as ZIP action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
compressAsZip
public static WorkflowNode compressAsZip(MultiFile multiFile, String compressedFileName, boolean attachToFormRecord, ECompressAsZipNamingScheme namingScheme) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_COMPRESS_AS_ZIP
that creates a ZIP file form the input files.- Parameters:
multiFile
- Files to compress.compressedFileName
- File name of the ZIP file.attachToFormRecord
- Whether the ZIP file should be attached to the current form record.namingScheme
- How the files should be named and whether sub directories should be created.- Returns:
- The workflow node for a compress as ZIP action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
continueStatement
public static WorkflowNode continueStatement() throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_CONTINUE
that issues a control transfer via a continue statement,targeting the closest loop.- Returns:
- The workflow node for a continue action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
continueStatement
public static WorkflowNode continueStatement(NodeKey continueTarget) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_CONTINUE
that issues a control transfer via a continue statement.- Parameters:
continueTarget
- Optional target for the continue statement to which to transfer control. If not given, the target is the closest node that supportscontinue
control transfers.- Returns:
- The workflow node for a continue action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
continueStatement
public static WorkflowNode continueStatement(WorkflowNode continueTarget) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_CONTINUE
that issues a control transfer via a continue statement.- Parameters:
continueTarget
- Optional target for the continue statement to which to transfer control. If not given, the target is the closest node that supportscontinue
control transfers.- Returns:
- The workflow node for a continue action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
copyFormRecord
public static WorkflowNode copyFormRecord(boolean anonymizeUserMetadata) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_COPY_FORM_RECORD
that moves the current form record to the given inbox.- Parameters:
anonymizeUserMetadata
- Whether user metadata should be anonymized in the created protocol entry.- Returns:
- The workflow node for a copy form record action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
copyFormRecord
public static WorkflowNode copyFormRecord(boolean anonymizeUserMetadata, WorkflowTrigger triggerToInvoke, Postfach targetInbox) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_COPY_FORM_RECORD
that moves the current form record to the given inbox.- Parameters:
triggerToInvoke
- An optional trigger that is invoked on the copied form record.targetInbox
- An optional target inbox to which to move the form record.anonymizeUserMetadata
- Whether user metadata should be anonymized in the created protocol entry.- Returns:
- The workflow node for a copy form record action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
counter
public static WorkflowNode counter(ClientCounter counter, ECounterActionType actionType, String step) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_COUNTER
that modifies a certain client counter.- Parameters:
counter
- Counter to change.actionType
- Type how to modify the counter.step
- Amount by which to increment or decrement the counter (unused when resetting the counter). May contain variables.- Returns:
- The workflow node for a counter action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
counter
public static WorkflowNode counter(String counterName, ECounterActionType actionType, String step) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_COUNTER
that modifies a certain client counter.- Parameters:
counterName
- Name of the counter to change.actionType
- Type how to modify the counter.step
- Amount by which to increment or decrement the counter (unused when resetting the counter). May contain variables.- Returns:
- The workflow node for a counter action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
counterDecrement
public static WorkflowNode counterDecrement(ClientCounter counter, String step) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_COUNTER
that decrements a client counter.- Parameters:
counter
- Counter to decrement.step
- Amount by which to decrement the counter. May contain variables.- Returns:
- The workflow node for a counter action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
counterDecrement
public static WorkflowNode counterDecrement(String counterName, String step) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_COUNTER
that decrements a client counter.- Parameters:
counterName
- Name of the the counter to decrement.step
- Amount by which to decrement the counter. May contain variables.- Returns:
- The workflow node for a counter action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
counterIncrement
public static WorkflowNode counterIncrement(ClientCounter counter, String step) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_COUNTER
that increments a client counter.- Parameters:
counter
- Counter to increment.step
- Amount by which to increment the counter. May contain variables.- Returns:
- The workflow node for a counter action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
counterIncrement
public static WorkflowNode counterIncrement(String counterName, String step) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_COUNTER
that increments a client counter.- Parameters:
counterName
- Name of the counter to increment.step
- Amount by which to increment the counter. May contain variables.- Returns:
- The workflow node for a counter action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
counterReset
public static WorkflowNode counterReset(ClientCounter counter) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_COUNTER
that resets a client counter.- Parameters:
counter
- Counter to reset.- Returns:
- The workflow node for a counter action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
counterReset
public static WorkflowNode counterReset(String counterName) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_COUNTER
that resets a client counter.- Parameters:
counterName
- Name of the Counter to reset.- Returns:
- The workflow node for a counter action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
createTextFile
public static ICreateTextFileNodeBuilder createTextFile()
Creates a new builder for configuring a workflow node for aEWorkflowNodeType.FC_CREATE_TEXT_FILE
that creates a text file with the given content and the default encoding.- Returns:
- A builder for a workflow node with a create text file action.
-
createTextFile
public static WorkflowNode createTextFile(String fileName, String fileContent) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_CREATE_TEXT_FILE
that creates a text file with the given content and the default encoding.- Parameters:
fileName
- Name of the created text file.fileContent
- Plain text content of the text file.- Returns:
- The workflow node for a create text file action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
createTextFile
@Deprecated public static WorkflowNode createTextFile(String fileName, String fileContent, ETextFileContentType contentType) throws FastJsonException
Deprecated.UsecreateTextFile()
.Creates a new workflow node for aEWorkflowNodeType.FC_CREATE_TEXT_FILE
that creates a text file with the given content and the default encoding.- Parameters:
fileName
- Name of the created text file.fileContent
- Plain text content of the text file.contentType
- Expected content type of the text file, used for escaping inserted variables.- Returns:
- The workflow node for a create text file action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
createTextFile
@Deprecated public static WorkflowNode createTextFile(String fileName, String fileContent, ETextFileContentType contentType, Charset charset) throws FastJsonException
Deprecated.UsecreateTextFile()
.Creates a new workflow node for aEWorkflowNodeType.FC_CREATE_TEXT_FILE
that creates a text file with the given content.- Parameters:
fileName
- Name of the created text file.fileContent
- Plain text content of the text file.charset
- Charset for encoding the bytes when writing the text file.contentType
- Expected content type of the text file, used for escaping inserted variables.- Returns:
- The workflow node for a create text file action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
createTextFile
@Deprecated public static WorkflowNode createTextFile(String fileName, String fileContent, ETextFileContentType contentType, Charset charset, EByteOrderMarkMode bomMode) throws FastJsonException
Deprecated.Creates a new workflow node for aEWorkflowNodeType.FC_CREATE_TEXT_FILE
that creates a text file with the given content.- Parameters:
fileName
- Name of the created text file.fileContent
- Plain text content of the text file.charset
- Charset for encoding the bytes when writing the text file.contentType
- Expected content type of the text file, used for escaping inserted variables.bomMode
- Byte order mark mode to use.- Returns:
- The workflow node for a create text file action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
databaseQuery
public static WorkflowNode databaseQuery(DatenbankZugriff databaseConnection, String sqlStatement) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_SQL_STATEMENT
with a SQL statement.- Parameters:
databaseConnection
- Database connection to use for the query.sqlStatement
- The SQL statement to run against the database connection.- Returns:
- The workflow node for a database query action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
databaseQuery
public static WorkflowNode databaseQuery(Datenquelle databaseQuery) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_SQL_STATEMENT
that uses a preconfigured database query.- Parameters:
databaseQuery
- Existing database query to execute.- Returns:
- The workflow node for a database query action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
databaseQuery
public static WorkflowNode databaseQuery(Datenquelle databaseQuery, Iterable<Map.Entry<String,String>> queryParameters) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_SQL_STATEMENT
that uses a preconfigured database query.- Parameters:
databaseQuery
- Existing database query to execute.queryParameters
- Query parameters that are passed to the existing query. Must match the parameter count of the database query.- Returns:
- The workflow node for a database query action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
databaseQuery
public static WorkflowNode databaseQuery(Datenquelle databaseQuery, Map<String,String> queryParameters) throws FastJsonException
- Throws:
FastJsonException
-
decodeBase64
public static WorkflowNode decodeBase64(String value) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_ENCODE_BASE64
that converts a binary file to base64.- Parameters:
value
- Value to decode, a data URI or a base64 string.- Returns:
- The workflow node for a fill Word action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
decodeBase64
public static WorkflowNode decodeBase64(String value, String exportName, boolean attachToFormRecord) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_ENCODE_BASE64
that converts a binary file to base64.- Parameters:
value
- Value to decode, a data URI or a base64 string.exportName
- Name of the created file.attachToFormRecord
- Whentrue
, attaches the created file to the form record.- Returns:
- The workflow node for a fill Word action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
deleteAttachment
public static WorkflowNode deleteAttachment(MultiAttachment attachmentsToDelete) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_DELETE_ATTACHMENT
that deletes an attachment from the form record.- Parameters:
attachmentsToDelete
- Attachments to delete from the form record.- Returns:
- The workflow node for a delete attachment action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
deleteFormRecord
public static WorkflowNode deleteFormRecord() throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_DELETE_FORM_RECORD
that deletes the current form record when executed.- Returns:
- The workflow node for a delete form record action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
doiInit
public static WorkflowNode doiInit(String from, Iterable<String> to, String subject, String htmlBody, String plainTextBody, Textbaustein doiFailTemplate) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_DOI_INIT
that initializes the double opt-in process.- Parameters:
from
- Email address of the sender.to
- Email addresses of the recipients.subject
- Subject to of the email.htmlBody
- HTML body content of the email,null
or empty to omit the HTML body.plainTextBody
- Plain text body content of the email,null
or empty to omit the plain text body.doiFailTemplate
- Template used when the double opt-in link fails.- Returns:
- The workflow node for a double opt-in initialization action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
doiInitHtml
public static WorkflowNode doiInitHtml(String from, Iterable<String> to, String subject, String body) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_DOI_INIT
that initializes the double opt-in process.- Parameters:
from
- Email address of the sender.to
- Email addresses of the recipients.subject
- Subject to of the email.body
- HTML body of the email.- Returns:
- The workflow node for a double opt-in initialization action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
doiInitHtml
public static WorkflowNode doiInitHtml(String from, Iterable<String> to, String subject, String body, Textbaustein doiFailTemplate) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_DOI_INIT
that initializes the double opt-in process.- Parameters:
from
- Email address of the sender.to
- Email addresses of the recipients.subject
- Subject to of the email.body
- HTML body of the email.doiFailTemplate
- Template used when the double opt-in link fails.- Returns:
- The workflow node for a double opt-in initialization action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
doiInitPlain
public static WorkflowNode doiInitPlain(String from, Iterable<String> to, String subject, String body) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_DOI_INIT
that initializes the double opt-in process.- Parameters:
from
- Email address of the sender.to
- Email addresses of the recipients.subject
- Subject to of the email.body
- Plain text body of the email.- Returns:
- The workflow node for a double opt-in initialization action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
doiInitPlain
public static WorkflowNode doiInitPlain(String from, Iterable<String> to, String subject, String body, Textbaustein doiFailTemplate) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_DOI_INIT
that initializes the double opt-in process.- Parameters:
from
- Email address of the sender.to
- Email addresses of the recipients.subject
- Subject to of the email.body
- Plain text body of the email.doiFailTemplate
- Template used when the double opt-in link fails.- Returns:
- The workflow node for a double opt-in initialization action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
email
public static IEmailNodeBuilder email(String from)
Creates a builder for a new workflow node for aEWorkflowNodeType.FC_EMAIL
that sends an email to a given list of recipients.- Parameters:
from
- Mail address of the sender.- Returns:
- A builder for configuring the details of the post request action.
-
email
public static WorkflowNode email(String from, Iterable<String> to, String subject, String htmlBody, String plainTextBody) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_EMAIL
that sends an email to one or more recipients.- Parameters:
from
- Email address of the sender.to
- Email addresses of the recipients.subject
- Subject to of the email.htmlBody
- HTML body content of the email,null
to omit the HTML body.plainTextBody
- Plain text body content of the email,null
to omit the plain text body.- Returns:
- The workflow node for an email action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
email
public static WorkflowNode email(String from, Iterable<String> to, String subject, String htmlBody, String plainTextBody, MultiFile attachments) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_EMAIL
that sends an email to one or more recipients.- Parameters:
from
- Email address of the sender.to
- Email addresses of the recipients.subject
- Subject to of the email.htmlBody
- HTML body content of the email,null
to omit the HTML body.plainTextBody
- Plain text body content of the email,null
to omit the plain text body.attachments
- Attachments to send with the email.- Returns:
- The workflow node for an email action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
emailHtml
public static WorkflowNode emailHtml(String from, Iterable<String> to, String subject, String body) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_EMAIL
that sends an HTML email to one or more recipients.- Parameters:
from
- Email address of the sender.to
- Email addresses of the recipients.subject
- Subject to of the email.body
- Body of the email.- Returns:
- The workflow node for an email action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
emailHtml
public static WorkflowNode emailHtml(String from, Iterable<String> to, String subject, String body, MultiFile attachments) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_EMAIL
that sends an HTML email to one or more recipients.- Parameters:
from
- Email address of the sender.to
- Email addresses of the recipients.subject
- Subject to of the email.body
- Body of the email.attachments
- Attachments to send with the email.- Returns:
- The workflow node for an email action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
emailPlainText
public static WorkflowNode emailPlainText(String from, Iterable<String> to, String subject, String body) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_EMAIL
that sends a plain text email to one or more recipients.- Parameters:
from
- Email address of the sender.to
- Email addresses of the recipients.subject
- Subject to of the email.body
- Body of the email.- Returns:
- The workflow node for an email action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
emailPlainText
public static WorkflowNode emailPlainText(String from, Iterable<String> to, String subject, String body, MultiFile attachments) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_EMAIL
that sends a plain text email to one or more recipients.- Parameters:
from
- Email address of the sender.to
- Email addresses of the recipients.subject
- Subject to of the email.body
- Body of the email.attachments
- Attachments to send with the email.- Returns:
- The workflow node for an email action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
empty
public static WorkflowNode empty()
Creates a new workflow node for aEWorkflowNodeType.FC_EMPTY
that represents a no-op.- Returns:
- The workflow node for a no-op action.
-
encodeBase64
public static WorkflowNode encodeBase64(SingleFile file) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_ENCODE_BASE64
that converts a binary file to base64.- Parameters:
file
- File to encode.- Returns:
- The workflow node for a encode base64 action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
exportToPersistence
public static WorkflowNode exportToPersistence() throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_EXPORT_TO_PERSISTENCE
that creates a persistence file with the submitted form data. The file name is generated automatically and the file is not attached to the form record.- Returns:
- The workflow node for an export to persistence action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
exportToPersistence
public static WorkflowNode exportToPersistence(String exportName) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_EXPORT_TO_PERSISTENCE
that creates a persistence file with the submitted form data. The file is not attached to the form record.- Parameters:
exportName
- Name of the created persistence file. Leave empty for an automatically generated name.- Returns:
- The workflow node for an export to persistence action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
exportToPersistence
public static WorkflowNode exportToPersistence(String exportName, boolean attachToFormRecord) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_EXPORT_TO_PERSISTENCE
that creates a persistence file with the submitted form data.- Parameters:
exportName
- Name of the created persistence file. Leave empty for an automatically generated name.attachToFormRecord
- Whentrue
, attaches the created file to the form record.- Returns:
- The workflow node for an export to persistence action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
exportToXml
public static WorkflowNode exportToXml() throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_EXPORT_TO_PERSISTENCE
that creates a persistence file with the submitted form data. The file name is generated automatically and the file is not attached to the form record. All additionalEExportToXmlField
s are included.- Returns:
- The workflow node for an export to persistence action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
exportToXml
public static WorkflowNode exportToXml(String exportName) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_EXPORT_TO_PERSISTENCE
that creates a persistence file with the submitted form data. The file is not attached to the form record. All additionalEExportToXmlField
s are included.- Parameters:
exportName
- Name of the created persistence file. Leave empty for an automatically generated name.- Returns:
- The workflow node for an export to persistence action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
exportToXml
public static WorkflowNode exportToXml(String exportName, boolean attachToFormRecord) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_EXPORT_TO_PERSISTENCE
that creates a persistence file with the submitted form data. All additionalEExportToXmlField
s are included.- Parameters:
exportName
- Name of the created persistence file. Leave empty for an automatically generated name.attachToFormRecord
- Whentrue
, attaches the created file to the form record.- Returns:
- The workflow node for an export to persistence action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
exportToXml
public static WorkflowNode exportToXml(String exportName, boolean attachToFormRecord, Iterable<EExportToXmlField> exportFields, Textbaustein xslTemplate) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_EXPORT_TO_PERSISTENCE
that creates a persistence file with the submitted form data.- Parameters:
exportName
- Name of the created persistence file. Leave empty for an automatically generated name.attachToFormRecord
- Whentrue
, attaches the created file to the form record.exportFields
- Additional fields that should be included in the exported file.xslTemplate
- Optional XSL template for transforming the created XML file.- Returns:
- The workflow node for an export to persistence action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
fillPdf
public static IFillPdfNodeBuilder fillPdf()
Creates a builder for a new workflow node for aEWorkflowNodeType.FC_FILL_PDF
that fills a PDF document with the submitted form data. The file name of the created PDF document is generated automatically.- Returns:
- A builder for a workflow node for a fill PDF action.
-
fillPdf
public static WorkflowNode fillPdf(SingleFile pdfDocument) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_FILL_PDF
that fills a PDF document with the submitted form data. The file name of the created PDF document is generated automatically. The create file is not attached to the form record.- Parameters:
pdfDocument
- PDF document to fill.- Returns:
- The workflow node for a fill PDF action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
fillPdf
public static WorkflowNode fillPdf(SingleFile pdfDocument, String exportName, boolean attachToFormRecord, String font) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_FILL_PDF
that fills a PDF document with the submitted form data.- Parameters:
pdfDocument
- PDF document to fill.exportName
- Name of the created PDF file. Leave empty for an automatically generated name.attachToFormRecord
- Whentrue
, attaches the created file to the form record.font
- The font to use within the PDF for the inserted values.- Returns:
- The workflow node for a fill PDF action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
fillWord
public static WorkflowNode fillWord(SingleFile wordDocument) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_FILL_WORD
that fills a Word document with the submitted form data. The name of the created file is generated automatically. The created file is not attached to the form record.- Parameters:
wordDocument
- Word document to fill.- Returns:
- The workflow node for a fill Word action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
fillWord
public static WorkflowNode fillWord(SingleFile wordDocument, String exportName, boolean attachToFormRecord) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_FILL_WORD
that fills a Word document with the submitted form data.- Parameters:
wordDocument
- Word document to fill.exportName
- Name of the created file. Should end on either.pdf
or.docx
. Leave empty for an automatically generated name.attachToFormRecord
- Whentrue
, attaches the created file to the form record.- Returns:
- The workflow node for a fill Word action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
httpRequest
public static IHttpRequestNodeBuilder httpRequest(EHttpVerb httpVerb, String endpointUrl)
Creates a builder for a new workflow node for aEWorkflowNodeType.FC_POST_REQUEST
that sends an HTTP request to the given URL.- Parameters:
httpVerb
- HTTP verb to use, such asGET
orPOST
.endpointUrl
- URL to which to direct the HTTP request.- Returns:
- A builder for configuring the details of the post request action.
-
httpRequest
public static IHttpRequestNodeBuilder httpRequest(String httpVerb, String endpointUrl)
Creates a builder for a new workflow node for aEWorkflowNodeType.FC_POST_REQUEST
that sends an HTTP request to the given URL.- Parameters:
httpVerb
- HTTP verb to use, such asGET
orPOST
.endpointUrl
- URL to which to direct the HTTP request.- Returns:
- A builder for configuring the details of the post request action.
-
importFormValueFromXml
public static WorkflowNode importFormValueFromXml(SingleFile xmlDocument, Map<String,String> xPathMapping) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_IMPORT_FORM_VALUE_FROM_XML
that changes the value of form elements based on the data of an XML document.- Parameters:
xmlDocument
- XML document with the data to use.xPathMapping
- A map between the name of a form element and an XPath. The value of the form element is set to the data in the XML document at the given XPath.- Returns:
- The workflow node for a import form values from XML action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
importFormValueFromXml
public static WorkflowNode importFormValueFromXml(SingleFile xmlDocument, Map<String,String> xPathMapping, Textbaustein xslTemplate) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_IMPORT_FORM_VALUE_FROM_XML
that changes the value of form elements based on the data of an XML document.- Parameters:
xmlDocument
- XML document with the data to use.xPathMapping
- A map between the name of a form element and an XPath. The value of the form element is set to the data in the XML document at the given XPath.xslTemplate
- Optional XSLT document applied to the XML document before data is extracted via the given XPaths.- Returns:
- The workflow node for a import form values from XML action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
ldapQuery
public static WorkflowNode ldapQuery(LDAPAbfrage ldapQuery) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_LDAP_QUERY
that uses a preconfigured LDAP query.- Parameters:
ldapQuery
- Existing LDAP query to execute.- Returns:
- The workflow node for an LDAP query action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
ldapQuery
public static WorkflowNode ldapQuery(LDAPAbfrage ldapQuery, Iterable<Map.Entry<String,String>> queryParameters) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_LDAP_QUERY
that uses a preconfigured LDAP query.- Parameters:
ldapQuery
- Existing LDAP query to execute.queryParameters
- Query parameters that are passed to the existing query. Must match the parameter count of the LDAP query.- Returns:
- The workflow node for an LDAP query action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
ldapQuery
public static WorkflowNode ldapQuery(LDAPAbfrage ldapQuery, Map<String,String> queryParameters) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_LDAP_QUERY
that uses a preconfigured LDAP query.- Parameters:
ldapQuery
- Existing LDAP query to execute.queryParameters
- Query parameters that are passed to the existing query. Must match the parameter count of the LDAP query.- Returns:
- The workflow node for an LDAP query action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
ldapQuery
public static WorkflowNode ldapQuery(LDAPZugriff ldapConnection, String searchFilter) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_LDAP_QUERY
with a custom search filter.- Parameters:
ldapConnection
- LDAP connection to use for the query. Whennull
, the client LDAP connection is used.searchFilter
- The LDAP search filter expression.- Returns:
- The workflow node for an LDAP query action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
ldapQuery
public static WorkflowNode ldapQuery(LDAPZugriff ldapConnection, String searchFilter, String baseDn) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_LDAP_QUERY
with a custom search filter.- Parameters:
ldapConnection
- LDAP connection to use for the query. Whennull
, the client LDAP connection is used.searchFilter
- The LDAP search filter expression.baseDn
- Base DN for the LDAP search.- Returns:
- The workflow node for an LDAP query action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
ldapQuery
public static WorkflowNode ldapQuery(LDAPZugriff ldapConnection, String searchFilter, String baseDn, Iterable<String> resultFilter) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_LDAP_QUERY
with a custom search filter.- Parameters:
ldapConnection
- LDAP connection to use for the query. Whennull
, the client LDAP connection is used.searchFilter
- The LDAP search filter expression.baseDn
- Base DN for the LDAP search.resultFilter
- Result filter to limit the returned data to these attributes.- Returns:
- The workflow node for an LDAP query action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
logEntry
public static WorkflowNode logEntry(ELogEntryActionLogLevel level, String comments) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_LOG_ENTRY
with a given level and comments.- Parameters:
level
- The severity of the log entry.comments
- The comments for the log entry (custom description)- Returns:
- A new workflow node of the given type and with the given data.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
moveFormRecordToInbox
public static WorkflowNode moveFormRecordToInbox(UuidEntityRef targetInbox) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_MOVE_FORM_RECORD_TO_INBOX
that moves the current form record to the given inbox.- Parameters:
targetInbox
- Target inbox to which to move the form record.- Returns:
- The workflow node for a move form record to inbox action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
moveFormRecordToInbox
public static WorkflowNode moveFormRecordToInbox(Postfach targetInbox) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_MOVE_FORM_RECORD_TO_INBOX
that moves the current form record to the given inbox.- Parameters:
targetInbox
- Target inbox to which to move the form record.- Returns:
- The workflow node for a move form record to inbox action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
moveFormRecordToInbox
public static WorkflowNode moveFormRecordToInbox(String targetInboxName) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_MOVE_FORM_RECORD_TO_INBOX
that moves the current form record to the inbox with the given name.- Parameters:
targetInboxName
- Name of the target inbox to which to move the form record. May contain placeholders.- Returns:
- The workflow node for a move form record to inbox action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
processLogPdf
public static WorkflowNode processLogPdf(String fileName) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_PROCESS_LOG_PDF
that creates a PDF document with the history of the current form record.- Parameters:
fileName
- Name of the output file with the created PDF document.- Returns:
- The workflow node for a form record history action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
provideResource
public static WorkflowNode provideResource(SingleFile singleFile, String exportName) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_PROVIDE_RESOURCE
that provides the given resource.- Parameters:
singleFile
- Resource that is made available by the action. Use the static factory methods provided bySingleFile
to create an instance.exportName
- Name of the file that is created by the action.- Returns:
- The workflow node for a provide resource action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
provideResource
public static WorkflowNode provideResource(SingleFile singleFile, String exportName, boolean attachToFormRecord) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_PROVIDE_RESOURCE
that provides the given resource.- Parameters:
singleFile
- Resource that is made available by the action. Use the static factory methods provided bySingleFile
to create an instance.exportName
- Name of the file that is created by the action.attachToFormRecord
- Whether the provided file should be attached to the current form record.- Returns:
- The workflow node for a provide resource action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
queueTask
public static WorkflowNode queueTask(WorkflowTrigger triggerToInvoke) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_QUEUE_TASK
that invokes the given task immediately after the current task ends.- Parameters:
triggerToInvoke
- Trigger to invoke. Should be of typeEWorkflowTriggerType.FC_MANUAL
.- Returns:
- The workflow node for a queue task action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
queueTask
public static WorkflowNode queueTask(WorkflowTrigger triggerToInvoke, boolean addToEnd) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_QUEUE_TASK
that invokes the given task.- Parameters:
triggerToInvoke
- Trigger to invoke. Should be of typeEWorkflowTriggerType.FC_MANUAL
.addToEnd
- Whentrue
, the task is added to the end of the task queue. Otherwise, the task is added at the beginning of the task queue (and will be executed once this task finishes).- Returns:
- The workflow node for a queue task action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
redirect
public static WorkflowNode redirect(String url) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_REDIRECT
that redirects the HTTP request to the given URL.- Parameters:
url
- URL to which to redirect.- Returns:
- The workflow node for a redirect action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
redirect
public static WorkflowNode redirect(String url, Map<String,List<String>> queryParameters) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_REDIRECT
that redirects the HTTP request to the given URL.- Parameters:
url
- URL to which to redirect.queryParameters
- Additional query parameters for the URL.- Returns:
- The workflow node for a redirect action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
redirect
public static WorkflowNode redirect(Textbaustein url) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_REDIRECT
that redirects the HTTP request to the given URL.- Parameters:
url
- URL to which to redirect.- Returns:
- The workflow node for a redirect action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
redirect
public static WorkflowNode redirect(Textbaustein url, Map<String,List<String>> queryParameters) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_REDIRECT
that redirects the HTTP request to the given URL.- Parameters:
url
- URL to which to redirect.queryParameters
- Additional query parameters for the URL.- Returns:
- The workflow node for a redirect action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
redirect
public static WorkflowNode redirect(UuidEntityRef url) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_REDIRECT
that redirects the HTTP request to the given URL.- Parameters:
url
- Reference to a URL template to which to redirect.- Returns:
- The workflow node for a redirect action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
redirect
public static WorkflowNode redirect(UuidEntityRef url, Map<String,List<String>> queryParameters) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_REDIRECT
that redirects the HTTP request to the given URL.- Parameters:
url
- Reference to a URL template to which to redirect.queryParameters
- Additional query parameters for the URL.- Returns:
- The workflow node for a redirect action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
renewProcessId
public static WorkflowNode renewProcessId() throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_RENEW_PROCESS_ID
that generates a new UUID for the form record.- Returns:
- The workflow node for a renew process ID action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
returnFile
public static WorkflowNode returnFile(MultiFile files) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_RETURN_FILE
that sends the given files as the HTTP response.- Parameters:
files
- Files to send.- Returns:
- The workflow node for a return file action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
returnFile
public static WorkflowNode returnFile(MultiFile files, boolean forceDownload) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_RETURN_FILE
that sends the given files as the HTTP response.- Parameters:
files
- Files to send.forceDownload
- Iftrue
, sets theContent-Disposition
header toattachment
, so that the browser does not show the file inline.- Returns:
- The workflow node for a return file action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
saveToFileSystem
public static WorkflowNode saveToFileSystem(MultiFile files, String directory) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_SAVE_TO_FILE_SYSTEM
that saves the given file to a directory on the file system.- Parameters:
files
- Files to save to the file system.directory
- Path to a directory on the file system.- Returns:
- The workflow node for a save to file system action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
saveToFileSystem
public static WorkflowNode saveToFileSystem(MultiFile files, String directory, boolean allowPathInPlaceholder) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_SAVE_TO_FILE_SYSTEM
that saves the given file to a directory on the file system.- Parameters:
files
- Files to save to the file system.directory
- Path to a directory on the file system.allowPathInPlaceholder
- Whentrue
, paths (forward or backward slashes) are allowed in the values of placeholders. Whenfalse
, placeholder values are sanitized so that they are valid file names.- Returns:
- The workflow node for a save to file system action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
saveToWebDav
public static WorkflowNode saveToWebDav(MultiFile files, WebDavAccess conn, String path) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_SAVE_TO_WEB_DAV
that gives the given file to a directory on a chosen WebDAV.- Parameters:
files
- Files to save to a chosen WebDAV.conn
- aWebDavAccess
connection.path
- the chosen path extending the pre-saved url.- Returns:
- The workflow node for a save to WebDAV action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
saveToWebDav
public static WorkflowNode saveToWebDav(MultiFile files, WebDavAccess conn, String path, boolean allowPathInPlaceholder) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_SAVE_TO_WEB_DAV
that gives the given file to a directory on a chosen WebDAV.- Parameters:
files
- Files to save to a chosen WebDAV.conn
- aWebDavAccess
connection.path
- the chosen path extending the pre-saved url.allowPathInPlaceholder
- Whentrue
, paths (forward or backward slashes) are allowed in the values of placeholders. Whenfalse
, placeholder values are sanitized so that they are valid file names.- Returns:
- The workflow node for a save to WebDAV action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
sendFormRecordMessage
public static ISendFormRecordMessageBuilder sendFormRecordMessage()
Creates a builder for a new workflow node for aEWorkflowNodeType.FC_SEND_FORM_RECORD_MESSAGE
that sends a message to an end user.- Returns:
- A new builder for a send portal message action.
-
setSavedFlag
public static WorkflowNode setSavedFlag() throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_SET_SAVED_FLAG
that marks the form record as saved or unsaved.- Returns:
- The workflow node for a set saved flag action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
showTemplate
public static WorkflowNode showTemplate(Textbaustein htmlTemplate) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_SHOW_TEMPLATE
that responds to an HTTP request with the given text template.- Parameters:
htmlTemplate
- A text template to show that should be of typeETextbausteinKategorie.HTML
.- Returns:
- The workflow node for a show template action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
writeFormRecordAttributes
public static WorkflowNode writeFormRecordAttributes(Map<String,String> attributes) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_WRITE_FORM_RECORD_ATTRIBUTES
that sets custom attributes on the form record.- Parameters:
attributes
- Attributes (key value pairs) to set on the form record.- Returns:
- The workflow node for a throw exception action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
doUntilLoop
public static WorkflowNode doUntilLoop() throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_DO_UNTIL_LOOP
that executes its child until the loop condition is not satisfied anymore, depending on the result of a logical test that may consist of multiple conditions.- Returns:
- The workflow node for a do-until loop action.
- Throws:
FastJsonException
- When the properties model could not be serialized.- Since:
- 8.1.0
-
doUntilLoop
public static WorkflowNode doUntilLoop(FcDoUntilLoopProps props) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_DO_UNTIL_LOOP
that executes its child until the loop condition is not satisfied anymore, depending on the result of a logical test that may consist of multiple conditions.- Parameters:
props
- Properties for the condition that describe the logical loop test.- Returns:
- The workflow node for a do-until loop action.
- Throws:
FastJsonException
- When the properties model could not be serialized.- Since:
- 8.1.0
-
doUntilLoop
public static WorkflowNode doUntilLoop(FcDoUntilLoopProps props, WorkflowNode loopBody) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_DO_UNTIL_LOOP
that executes its child until the loop condition is not satisfied anymore, depending on the result of a logical test that may consist of multiple conditions.- Parameters:
props
- Properties for the condition that describe the logical loop test.loopBody
- Child that will be executed when the loop test succeeds.- Returns:
- The workflow node for a do-until loop action.
- Throws:
FastJsonException
- When the properties model could not be serialized.- Since:
- 8.1.0
-
experiment
public static WorkflowNode experiment() throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_EXPERIMENT
that catches exception that occur while the block is executed.- Returns:
- The workflow node for an experiment action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
experiment
@Deprecated public static WorkflowNode experiment(WorkflowNode block) throws FastJsonException
Deprecated.You should always have at least a handler or finalizer block.Creates a new workflow node for aEWorkflowNodeType.FC_EXPERIMENT
that catches exception that occur while the block is executed.- Parameters:
block
- Block for which exception should be caught during execution.- Returns:
- The workflow node for an experiment action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
experiment
@Deprecated public static WorkflowNode experiment(WorkflowNode block, WorkflowNode handler) throws FastJsonException
Deprecated.Creates a new workflow node for aEWorkflowNodeType.FC_EXPERIMENT
that catches exception that occur while the block is executed.- Parameters:
block
- Block for which exception should be caught during execution.handler
- Handler that is executed when the block threw an exception.- Returns:
- The workflow node for an experiment action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
experimentTryCatch
public static WorkflowNode experimentTryCatch(WorkflowNode block, WorkflowNode handler) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_EXPERIMENT
that catches exception that occur while the block is executed.- Parameters:
block
- Block for which exception should be caught during execution.handler
- Handler that is executed when the block threw an exception.- Returns:
- The workflow node for an experiment action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
experimentTryFinally
public static WorkflowNode experimentTryFinally(WorkflowNode block, WorkflowNode finalizer) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_EXPERIMENT
that moves to the finally block after the block was executed.- Parameters:
block
- Block for which exception should be caught during execution.finalizer
- Handler that is always executed after the block completed, regardless of how it completed.- Returns:
- The workflow node for an experiment action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
experiment
public static WorkflowNode experiment(WorkflowNode block, WorkflowNode handler, WorkflowNode finalizer) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_EXPERIMENT
that catches exception that occur while the block is executed, and moves to the finalizer block afterwards.- Parameters:
block
- Block for which exception should be caught during execution.handler
- Handler that is executed when the block threw an exception.finalizer
- Handler that is always executed after the block and handler completed, regardless of how they completed.- Returns:
- The workflow node for an experiment action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
forEachLoop
public static WorkflowNode forEachLoop() throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_FOR_EACH_LOOP
that executes its child once for each item as provided by the selected item source.- Returns:
- The workflow node for a for-each loop action.
- Throws:
FastJsonException
- When the properties model could not be serialized.- Since:
- 8.1.0
-
forEachLoop
public static WorkflowNode forEachLoop(FcForEachLoopProps props) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_FOR_EACH_LOOP
that executes its child once for each item as provided by the selected item source.- Parameters:
props
- Properties with the loop item source.- Returns:
- The workflow node for a for-each loop action.
- Throws:
FastJsonException
- When the properties model could not be serialized.- Since:
- 8.1.0
-
forEachLoop
public static WorkflowNode forEachLoop(FcForEachLoopProps props, WorkflowNode loopBody) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_FOR_EACH_LOOP
that executes its child once for each item as provided by the selected item source.- Parameters:
props
- Properties with the loop item source.loopBody
- Child that will be executed with each loop item.- Returns:
- The workflow node for a for-each loop action.
- Throws:
FastJsonException
- When the properties model could not be serialized.- Since:
- 8.1.0
-
multipleConditionBuilder
public static IMultipleConditionBuilder multipleConditionBuilder()
Creates a builder for workflow node of typeEWorkflowNodeType.FC_MULTIPLE_CONDITION
that executes one of its children depending on the result of a logical test that may consist of multiple conditions.- Returns:
- A builder for a multiple condition action.
- Since:
- 8.2.0
-
multipleCondition
public static WorkflowNode multipleCondition() throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_MULTIPLE_CONDITION
that executes one of its children depending on the result of a logical test that may consist of multiple conditions.- Returns:
- The workflow node for a multiple condition action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
multipleCondition
public static WorkflowNode multipleCondition(FcMultipleConditionProps props) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_MULTIPLE_CONDITION
that executes one of its children depending on the result of a logical test that may consist of multiple conditions.- Parameters:
props
- Properties for the condition that describe the logical test.- Returns:
- The workflow node for a multiple condition action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
multipleCondition
public static WorkflowNode multipleCondition(FcMultipleConditionProps props, WorkflowNode consequent, WorkflowNode alternate) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_MULTIPLE_CONDITION
that executes one of its children depending on the result of a logical test that may consist of multiple conditions.- Parameters:
props
- Properties for the condition that describe the logical test.consequent
- Child that will be executed when the test succeeds.alternate
- Child that will be executed when the test fails.- Returns:
- The workflow node for a multiple condition action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
returnStatement
public static WorkflowNode returnStatement() throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_RETURN
that ends the current workflow task.- Returns:
- The workflow node for a return action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
switchAction
public static WorkflowNode switchAction() throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH
that check a value against several conditions and executes all its matching cases.- Returns:
- The workflow node for a switch action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
switchAction
public static WorkflowNode switchAction(FcSwitchProps props) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH
that check a value against several conditions and executes all its matching cases.- Parameters:
props
- Properties for the switch that describe the value to test.- Returns:
- The workflow node for a switch action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
switchAction
public static WorkflowNode switchAction(FcSwitchProps props, WorkflowNode defaultCase, Iterable<WorkflowNode> otherCases) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH
that check a value against several conditions and executes all its matching cases.- Parameters:
props
- Properties for the switch that describe the value to test.defaultCase
- Child that will be executed when no other case matches. This should be asequence
.otherCases
- Cases that will be executed when they match the value. Each case node should be aswitchCase()
.- Returns:
- The workflow node for a switch action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
switchAction
public static WorkflowNode switchAction(FcSwitchProps props, WorkflowNode defaultCase, WorkflowNode... otherCases) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH
that check a value against several conditions and executes all its matching cases.- Parameters:
props
- Properties for the switch that describe the value to test.defaultCase
- Child that will be executed when no other case matches. This should be asequence
.otherCases
- Cases that will be executed when they match the value. Each case node should be aswitchCase()
.- Returns:
- The workflow node for a switch action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
switchAction
public static WorkflowNode switchAction(String switchValue) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH
that check a value against several conditions and executes all its matching cases.- Parameters:
switchValue
- Value to check against the switch cases. May contain placeholders.- Returns:
- The workflow node for a switch action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
switchAction
public static WorkflowNode switchAction(String switchValue, WorkflowNode defaultCase, Iterable<WorkflowNode> otherCases) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH
that check a value against several conditions and executes all its matching cases.- Parameters:
switchValue
- Value to check against the switch cases.defaultCase
- Child that will be executed when no other case matches. This should be asequence
.otherCases
- Cases that will be executed when they match the value. Each case node should be aswitchCase()
.- Returns:
- The workflow node for a switch action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
switchAction
public static WorkflowNode switchAction(String switchValue, WorkflowNode defaultCase, WorkflowNode... otherCases) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH
that check a value against several conditions and executes all its matching cases.- Parameters:
switchValue
- Value to check against the switch cases.defaultCase
- Child that will be executed when no other case matches. This should be asequence
.otherCases
- Cases that will be executed when they match the value. Each case node should be aswitchCase()
.- Returns:
- The workflow node for a switch action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
switchCase
public static WorkflowNode switchCase() throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH_CASE
that is executed when it matches the value of a switch. This should not be used stand-alone, only as an argument forswitchAction(FcSwitchProps, WorkflowNode, Iterable)
.- Returns:
- The workflow node for a switch case action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
switchCase
public static WorkflowNode switchCase(EMatchCondition operator, String caseValue, Iterable<WorkflowNode> nodes) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH_CASE
with a single condition that is executed when it matches the value of a switch. This should not be used stand-alone, only as an argument forswitchAction(FcSwitchProps, WorkflowNode, Iterable)
.- Parameters:
operator
- Type of the condition.caseValue
- Value to compare against the switch value via the given operator.nodes
- Nodes that are executed when the value matches the case.- Returns:
- The workflow node for a switch case action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
switchCase
public static WorkflowNode switchCase(EMatchCondition operator, String caseValue, WorkflowNode... nodes) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH_CASE
with a single condition that is executed when it matches the value of a switch. This should not be used stand-alone, only as an argument forswitchAction(FcSwitchProps, WorkflowNode, Iterable)
.- Parameters:
operator
- Type of the condition.caseValue
- Value to compare against the switch value via the given operator.nodes
- Nodes that are executed when the value matches the case.- Returns:
- The workflow node for a switch case action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
switchCase
public static WorkflowNode switchCase(FcSwitchCaseProps props, Iterable<WorkflowNode> nodes) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH_CASE
that is executed when it matches the value of a switch. This should not be used stand-alone, only as an argument forswitchAction(FcSwitchProps, WorkflowNode, Iterable)
.- Parameters:
props
- Properties for the switch case that describe the condition to check.nodes
- Nodes that are executed when the value matches the case.- Returns:
- The workflow node for a switch case action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
switchCase
public static WorkflowNode switchCase(FcSwitchCaseProps props, WorkflowNode... nodes) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH_CASE
that is executed when it matches the value of a switch. This should not be used stand-alone, only as an argument forswitchAction(FcSwitchProps, WorkflowNode, Iterable)
.- Parameters:
props
- Properties for the switch case that describe the condition to check.nodes
- Nodes that are executed when the value matches the case.- Returns:
- The workflow node for a switch case action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
switchDefault
public static WorkflowNode switchDefault(FcSwitchDefaultProps props, Iterable<WorkflowNode> nodes) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH_DEFAULT
that is executed when no other switch cases match. This should not be used stand-alone, only as an argument forswitchAction(FcSwitchProps, WorkflowNode, Iterable)
.- Parameters:
props
- Properties for the switch case that describe the condition to check.nodes
- Nodes that are executed when the value matches the case.- Returns:
- The workflow node for a switch case action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
switchDefault
public static WorkflowNode switchDefault(FcSwitchDefaultProps props, WorkflowNode... nodes) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH_DEFAULT
that is executed when no other switch cases match. This should not be used stand-alone, only as an argument forswitchAction(FcSwitchProps, WorkflowNode, Iterable)
.- Parameters:
props
- Properties for the switch default that describe the condition to check.nodes
- Nodes that are executed when the value matches the case.- Returns:
- The workflow node for a switch case action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
switchDefault
public static WorkflowNode switchDefault(Iterable<WorkflowNode> nodes) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH_DEFAULT
that is executed when no other switch cases match. This should not be used stand-alone, only as an argument forswitchAction(FcSwitchProps, WorkflowNode, Iterable)
.- Parameters:
nodes
- Nodes that are executed when the value matches the case.- Returns:
- The workflow node for a switch case action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
switchDefault
public static WorkflowNode switchDefault(WorkflowNode... nodes) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_SWITCH_DEFAULT
that is executed when no other switch cases match. This should not be used stand-alone, only as an argument forswitchAction(FcSwitchProps, WorkflowNode, Iterable)
.- Parameters:
nodes
- Nodes that are executed when the value matches the case.- Returns:
- The workflow node for a switch case action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
throwException
public static WorkflowNode throwException(String errorType) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_THROW_EXCEPTION
that throws an exception when executed.- Parameters:
errorType
- Type of the exception to throw.- Returns:
- The workflow node for a throw exception action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
throwException
public static WorkflowNode throwException(String errorType, String errorMessage) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_THROW_EXCEPTION
that throws an exception when executed.- Parameters:
errorType
- Type of the exception to throw.errorMessage
- Message of the exception to throw.- Returns:
- The workflow node for a throw exception action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
throwException
public static WorkflowNode throwException(String errorType, String errorMessage, Object errorData) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_THROW_EXCEPTION
that throws an exception when executed.- Parameters:
errorType
- Type of the exception to throw.errorMessage
- Message of the exception to throw.errorData
- Additional data to make available when the exception is thrown. Can be accessed when the exception is caught.- Returns:
- The workflow node for a throw exception action.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
whileLoop
public static WorkflowNode whileLoop() throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_WHILE_LOOP
that executes its child as long as the loop condition holds true depending on the result of a logical test that may consist of multiple conditions.- Returns:
- The workflow node for a while loop action.
- Throws:
FastJsonException
- When the properties model could not be serialized.- Since:
- 8.1.0
-
whileLoop
public static WorkflowNode whileLoop(FcWhileLoopProps props) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_WHILE_LOOP
that executes its child as long as the loop condition holds true depending on the result of a logical test that may consist of multiple conditions.- Parameters:
props
- Properties for the condition that describe the logical loop test.- Returns:
- The workflow node for a while loop action.
- Throws:
FastJsonException
- When the properties model could not be serialized.- Since:
- 8.1.0
-
whileLoop
public static WorkflowNode whileLoop(FcWhileLoopProps props, WorkflowNode loopBody) throws FastJsonException
Creates a new workflow node for aEWorkflowNodeType.FC_WHILE_LOOP
that executes its child as long as the loop condition holds true depending on the result of a logical test that may consist of multiple conditions.- Parameters:
props
- Properties for the condition that describe the logical loop test.loopBody
- Child that will be executed when the loop test succeeds.- Returns:
- The workflow node for a while loop action.
- Throws:
FastJsonException
- When the properties model could not be serialized.- Since:
- 8.1.0
-
custom
public static WorkflowNode custom(EWorkflowNodeType type)
Creates a new workflow node for the given type and no data.- Parameters:
type
- Type of the workflow node to create.- Returns:
- A new workflow node of the given type, without any data.
-
custom
public static WorkflowNode custom(EWorkflowNodeType type, Object data, Mandant client) throws FastJsonException
Creates a new workflow node for the given type and data.- Parameters:
type
- Type of the workflow node to create.data
- Custom data for the node.client
- Client used to retrieve node handler plugins.- Returns:
- A new workflow node of the given type and with the given data.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
custom
public static WorkflowNode custom(IWorkflowElementTypeProviding type)
Creates a new workflow node for the given type and no data.- Parameters:
type
- Type of the workflow node to create.- Returns:
- A new workflow node of the given type, without any data.
-
custom
public static WorkflowNode custom(IWorkflowElementTypeProviding type, Object data, Mandant client) throws FastJsonException
Creates a new workflow node for the given type and data.- Parameters:
type
- Type of the workflow node to create.data
- Custom data for the node.client
- Client used to retrieve node handler plugins.- Returns:
- A new workflow node of the given type and with the given data.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
custom
public static WorkflowNode custom(String type)
Creates a new workflow node for the given type and with no data.- Parameters:
type
- Type of the workflow node to create.- Returns:
- A new workflow node of the given type, with no data.
-
custom
public static WorkflowNode custom(String type, Object data, Mandant client) throws FastJsonException
Creates a new workflow node for the given type and data.- Parameters:
type
- Type of the workflow node to create.data
- Custom data for the node.client
- Client used to retrieve node handler plugins.- Returns:
- A new workflow node of the given type and with the given data.
- Throws:
FastJsonException
- When the properties model could not be serialized.
-
sequence
public static WorkflowNode sequence(Iterable<WorkflowNode> blocks)
Creates a new workflow node for aEWorkflowNodeType.SEQUENCE
that executes it children in order.- Parameters:
blocks
- Children that are executed in order by the node.- Returns:
- The workflow node for a sequence action.
-
sequence
public static WorkflowNode sequence(WorkflowNode... blocks)
Creates a new workflow node for aEWorkflowNodeType.SEQUENCE
that executes it children in order.- Parameters:
blocks
- Children that are executed in order by the node.- Returns:
- The workflow node for a sequence action.
-
asList
protected static List<WorkflowNode> asList(WorkflowNode... nodes)
-
ofType
protected static WorkflowNode ofType(EWorkflowNodeType action)
-
ofType
protected static WorkflowNode ofType(EWorkflowNodeType type, Object data, Mandant client) throws FastJsonException
- Throws:
FastJsonException
-
ofType
protected static WorkflowNode ofType(String kind)
-
ofType
protected static WorkflowNode ofType(String type, Object data, Mandant client) throws FastJsonException
- Throws:
FastJsonException
-
toArray
protected static WorkflowNode[] toArray(Iterable<WorkflowNode> nodes)
-
-