Package org.jbpm.workflow.core.impl

## Class WorkflowProcessImpl

- java.lang.Object
- - org.jbpm.process.core.impl.ProcessImpl
  - - org.jbpm.workflow.core.impl.WorkflowProcessImpl

- All Implemented Interfaces:
    `Serializable`, `ContextContainer`, `ContextResolver`, `Process`, `NodeContainer`, `WorkflowProcess`, `org.kie.api.definition.KieDefinition`, `org.kie.api.definition.process.NodeContainer`, `org.kie.api.definition.process.Process`, `org.kie.api.definition.process.WorkflowProcess`
  Direct Known Subclasses:
    `RuleFlowProcess`

      public class WorkflowProcessImpl
      extends ProcessImpl
      implements WorkflowProcess, NodeContainer

  Default implementation of a RuleFlow process.
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.kie.api.definition.KieDefinition

      `org.kie.api.definition.KieDefinition.KnowledgeType`

  - ### Field Summary

    - ### Fields inherited from interface org.jbpm.workflow.core.WorkflowProcess

      `CASE_TYPE, PROCESS_TYPE`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `WorkflowProcessImpl()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addNode​(org.kie.api.definition.process.Node node)` | Method for adding a node to this node container.
    `protected org.kie.api.definition.process.NodeContainer` | `createNodeContainer()` |
    `protected org.kie.api.definition.process.Node` | `getContainerNode​(org.kie.api.definition.process.Node currentNode, NodeContainer nodeContainer, long nodeId)` |
    `CorrelationManager` | `getCorrelationManager()` |
    `org.kie.api.definition.process.Node` | `getNode​(long id)` |
    `org.kie.api.definition.process.Node` | `getNodeByUniqueId​(String nodeId)` |
    `org.kie.api.definition.process.Node[]` | `getNodes()` |
    `List<org.kie.api.definition.process.Node>` | `getNodesRecursively()` |
    `org.kie.api.definition.process.Node` | `getParentNode​(long nodeId)` |
    `Integer` | `getProcessType()` |
    `org.kie.api.definition.process.Node` | `internalGetNode​(long id)` |
    `boolean` | `isAutoComplete()` | Returns whether this process will automatically complete if it contains no active node instances anymore
    `boolean` | `isDynamic()` |
    `protected void` | `processNodeContainer​(NodeContainer nodeContainer, List<org.kie.api.definition.process.Node> nodes)` |
    `void` | `removeNode​(org.kie.api.definition.process.Node node)` | Method for removing a node from this node container
    `void` | `setAutoComplete​(boolean autoComplete)` |
    `void` | `setDynamic​(boolean dynamic)` |

    - ### Methods inherited from class org.jbpm.process.core.impl.ProcessImpl

      `addContext, equals, getContext, getContexts, getDefaultContext, getFunctionImports, getGlobalNames, getGlobals, getId, getImports, getKnowledgeType, getMetaData, getMetaData, getName, getNamespace, getPackageName, getResource, getRuntimeMetaData, getType, getVersion, hashCode, resolveContext, setDefaultContext, setFunctionImports, setGlobals, setId, setImports, setMetaData, setName, setPackageName, setResource, setRuntimeMetaData, setType, setVersion`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.jbpm.process.core.ContextContainer

      `addContext, getContext, getContexts, getDefaultContext, setDefaultContext`

    - ### Methods inherited from interface org.kie.api.definition.KieDefinition

      `getKnowledgeType, getNamespace`

    - ### Methods inherited from interface org.jbpm.workflow.core.NodeContainer

      `resolveContext`

    - ### Methods inherited from interface org.jbpm.process.core.Process

      `setId, setMetaData, setName, setPackageName, setType, setVersion`

    - ### Methods inherited from interface org.kie.api.definition.process.Process

      `getId, getMetaData, getName, getPackageName, getResource, getType, getVersion, setResource`

    - ### Methods inherited from interface org.jbpm.workflow.core.WorkflowProcess

      `getFunctionImports, getGlobalNames, getGlobals, getImports, setFunctionImports, setGlobals, setImports`

- - ### Constructor Detail

    - #### WorkflowProcessImpl

          public WorkflowProcessImpl()

  - ### Method Detail

    - #### getCorrelationManager

          public CorrelationManager getCorrelationManager()

    - #### createNodeContainer

          protected org.kie.api.definition.process.NodeContainer createNodeContainer()

    - #### getNodes

          public org.kie.api.definition.process.Node[] getNodes()

      Specified by:
        `getNodes` in interface `org.kie.api.definition.process.NodeContainer`

    - #### getNode

          public org.kie.api.definition.process.Node getNode​(long id)

      Specified by:
        `getNode` in interface `org.kie.api.definition.process.NodeContainer`

    - #### getNodeByUniqueId

          public org.kie.api.definition.process.Node getNodeByUniqueId​(String nodeId)

      Specified by:
        `getNodeByUniqueId` in interface `org.kie.api.definition.process.NodeContainer`

    - #### internalGetNode

          public org.kie.api.definition.process.Node internalGetNode​(long id)

      Specified by:
        `internalGetNode` in interface `NodeContainer`

    - #### removeNode

          public void removeNode​(org.kie.api.definition.process.Node node)

      Description copied from interface: `NodeContainer`
      Method for removing a node from this node container
      Specified by:
        `removeNode` in interface `NodeContainer`
      Parameters:
        `node` - the node to be removed

    - #### addNode

          public void addNode​(org.kie.api.definition.process.Node node)

      Description copied from interface: `NodeContainer`
      Method for adding a node to this node container. Note that the node will get an id unique for this node container.
      Specified by:
        `addNode` in interface `NodeContainer`
      Parameters:
        `node` - the node to be added

    - #### isAutoComplete

          public boolean isAutoComplete()

      Description copied from interface: `WorkflowProcess`
      Returns whether this process will automatically complete if it contains no active node instances anymore
      Specified by:
        `isAutoComplete` in interface `WorkflowProcess`
      Returns:
        the names of the globals of this RuleFlow process

    - #### setAutoComplete

          public void setAutoComplete​(boolean autoComplete)

    - #### isDynamic

          public boolean isDynamic()

      Specified by:
        `isDynamic` in interface `WorkflowProcess`

    - #### setDynamic

          public void setDynamic​(boolean dynamic)

    - #### getProcessType

          public Integer getProcessType()

      Specified by:
        `getProcessType` in interface `WorkflowProcess`

    - #### getNodesRecursively

          public List<org.kie.api.definition.process.Node> getNodesRecursively()

    - #### processNodeContainer

          protected void processNodeContainer​(NodeContainer nodeContainer,
                                              List<org.kie.api.definition.process.Node> nodes)

    - #### getContainerNode

          protected org.kie.api.definition.process.Node getContainerNode​(org.kie.api.definition.process.Node currentNode,
                                                                         NodeContainer nodeContainer,
                                                                         long nodeId)

    - #### getParentNode

          public org.kie.api.definition.process.Node getParentNode​(long nodeId)

      Specified by:
        `getParentNode` in interface `WorkflowProcess`