Package com.adobe.granite.workflow.exec
Interface WorkflowExternalProcessProxy
-
- All Known Implementing Classes:
CQWorkflowExtProcessProxy
public interface WorkflowExternalProcessProxy
This is the interface to use to proxy to
s) services.WorkflowExternalProcess
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
canHandle(java.lang.String processName)
returns true if this proxy can execute requests on behalf of the specified processNamejava.io.Serializable
execute(java.lang.String processName, WorkItem item, WorkflowSession session, MetaDataMap arguments)
Executes the external process step.void
handleResult(java.lang.String processName, java.io.Serializable externalProcessId, WorkItem workItem, WorkflowSession session, MetaDataMap arguments)
Get and handle the result of the external process, given by the external process id.boolean
hasFinished(java.lang.String processName, java.io.Serializable externalProcessId, WorkItem item, WorkflowSession session, MetaDataMap arguments)
Tests the external process, given by the external process id, for completeness.
-
-
-
Method Detail
-
execute
java.io.Serializable execute(java.lang.String processName, WorkItem item, WorkflowSession session, MetaDataMap arguments) throws WorkflowException
Executes the external process step. In order to keep track of this asynchronous process, an identifier must be returned. One can returnnull
to indicate that nothing was executed. In this case, the step directly advances to the next step.- Parameters:
processName
- The name of the WorkflowExternalProcess service to proxyitem
- The current work itemsession
- The current workflow sessionarguments
- The current steps node arguments (aka as node meta data)- Returns:
- Any serializable identifier for the external process executed, or
null
- Throws:
WorkflowException
- thrown in case something goes wrong during execution- See Also:
WorkflowExternalProcess.execute(WorkItem, com.adobe.granite.workflow.WorkflowSession, com.adobe.granite.workflow.metadata.MetaDataMap)
-
hasFinished
boolean hasFinished(java.lang.String processName, java.io.Serializable externalProcessId, WorkItem item, WorkflowSession session, MetaDataMap arguments)
Tests the external process, given by the external process id, for completeness.- Parameters:
processName
- The name of the WorkflowExternalProcess service to proxyexternalProcessId
- The external process to test for completenessitem
- The current work itemsession
- The current workflow sessionarguments
- The current steps node arguments (aka as node meta data)- Returns:
true
if the specified external process has finished- See Also:
WorkflowExternalProcess.hasFinished(java.io.Serializable, WorkItem, com.adobe.granite.workflow.WorkflowSession, com.adobe.granite.workflow.metadata.MetaDataMap)
-
handleResult
void handleResult(java.lang.String processName, java.io.Serializable externalProcessId, WorkItem workItem, WorkflowSession session, MetaDataMap arguments) throws WorkflowException
Get and handle the result of the external process, given by the external process id. This would include storing any results where appropriate for further use.- Parameters:
processName
- The name of the WorkflowExternalProcess service to proxyexternalProcessId
- The external process to handle the results forworkItem
- The current work itemsession
- The current workflow sessionarguments
- The current steps node arguments (aka as node meta data)- Throws:
WorkflowException
- thrown in case something goes wrong during execution- See Also:
WorkflowExternalProcess.handleResult(java.io.Serializable, WorkItem, com.adobe.granite.workflow.WorkflowSession, com.adobe.granite.workflow.metadata.MetaDataMap)
-
canHandle
boolean canHandle(java.lang.String processName)
returns true if this proxy can execute requests on behalf of the specified processName- Parameters:
processName
- The name of the WorkflowExternalProcess service to proxy- Returns:
- true if this proxy can handle the request, false otherwise.
-
-