Package org.flowable.bpmn.model

# Class Process

java.lang.Object
org.flowable.bpmn.model.BaseElement
org.flowable.bpmn.model.Process

All Implemented Interfaces:
  `FlowElementsContainer`, `HasExecutionListeners`, `HasExtensionAttributes`

public class Process extends BaseElement implements FlowElementsContainer, HasExecutionListeners

Author:
  Tijs Rademakers, Joram Barrez

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected List<Artifact>`
  `artifactList`
  `protected Map<String,Artifact>`
  `artifactMap`
  `protected List<String>`
  `candidateStarterGroups`
  `protected List<String>`
  `candidateStarterUsers`
  `protected List<ValuedDataObject>`
  `dataObjects`
  `protected String`
  `documentation`
  `protected boolean`
  `enableEagerExecutionTreeFetching`
  `protected List<EventListener>`
  `eventListeners`
  `protected boolean`
  `executable`
  `protected List<FlowableListener>`
  `executionListeners`
  `protected List<FlowElement>`
  `flowElementList`
  `protected Map<String,FlowElement>`
  `flowElementMap`
  `protected FlowElement`
  `initialFlowElement`
  `protected IOSpecification`
  `ioSpecification`
  `protected List<Lane>`
  `lanes`
  `protected String`
  `name`

  ### Fields inherited from class org.flowable.bpmn.model.BaseElement

  `attributes, extensionElements, id, xmlColumnNumber, xmlRowNumber`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Process()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addArtifact(Artifact artifact)`
  `void`
  `addArtifactToMap(Artifact artifact)`
  `void`
  `addFlowElement(FlowElement element)`
  `void`
  `addFlowElementToMap(FlowElement element)`
  `Process`
  `clone()`
  `boolean`
  `containsFlowElementId(String id)`
  `List<Association>`
  `findAssociationsWithSourceRefRecursive(String sourceRef)`
  `protected List<Association>`
  `findAssociationsWithSourceRefRecursive(FlowElementsContainer flowElementsContainer, String sourceRef)`
  `List<Association>`
  `findAssociationsWithTargetRefRecursive(String targetRef)`
  `protected List<Association>`
  `findAssociationsWithTargetRefRecursive(FlowElementsContainer flowElementsContainer, String targetRef)`
  `protected FlowElement`
  `findFlowElementInList(String flowElementId)`
  `<FlowElementType extends FlowElement>
  List<FlowElementType>`
  `findFlowElementsInSubProcessOfType(SubProcess subProcess, Class<FlowElementType> type)`
  `<FlowElementType extends FlowElement>
  List<FlowElementType>`
  `findFlowElementsInSubProcessOfType(SubProcess subProcess, Class<FlowElementType> type, boolean goIntoSubprocesses)`
  `<FlowElementType extends FlowElement>
  List<FlowElementType>`
  `findFlowElementsOfType(Class<FlowElementType> type)`
  `<FlowElementType extends FlowElement>
  List<FlowElementType>`
  `findFlowElementsOfType(Class<FlowElementType> type, boolean goIntoSubprocesses)`
  `FlowElementsContainer`
  `findParent(FlowElement childElement)`
  `FlowElementsContainer`
  `findParent(FlowElement childElement, FlowElementsContainer flowElementsContainer)`
  `Artifact`
  `getArtifact(String id)`
  `Map<String,Artifact>`
  `getArtifactMap()`
  `Collection<Artifact>`
  `getArtifacts()`
  `List<String>`
  `getCandidateStarterGroups()`
  `List<String>`
  `getCandidateStarterUsers()`
  `List<ValuedDataObject>`
  `getDataObjects()`
  `String`
  `getDocumentation()`
  `List<EventListener>`
  `getEventListeners()`
  `List<FlowableListener>`
  `getExecutionListeners()`
  `FlowElement`
  `getFlowElement(String flowElementId)`
  `FlowElement`
  `getFlowElement(String flowElementId, boolean searchRecursive)`
  `Map<String,FlowElement>`
  `getFlowElementMap()`
  `Collection<FlowElement>`
  `getFlowElements()`
  `FlowElementsContainer`
  `getFlowElementsContainer(String flowElementId)`
  Searches the whole process, including subprocesses
  `protected FlowElementsContainer`
  `getFlowElementsContainer(FlowElementsContainer flowElementsContainer, String flowElementId)`
  `FlowElement`
  `getInitialFlowElement()`
  `IOSpecification`
  `getIoSpecification()`
  `List<Lane>`
  `getLanes()`
  `String`
  `getName()`
  `boolean`
  `isEnableEagerExecutionTreeFetching()`
  `boolean`
  `isExecutable()`
  `void`
  `removeArtifact(String artifactId)`
  `void`
  `removeFlowElement(String elementId)`
  `void`
  `removeFlowElementFromMap(String elementId)`
  `void`
  `setCandidateStarterGroups(List<String> candidateStarterGroups)`
  `void`
  `setCandidateStarterUsers(List<String> candidateStarterUsers)`
  `void`
  `setDataObjects(List<ValuedDataObject> dataObjects)`
  `void`
  `setDocumentation(String documentation)`
  `void`
  `setEnableEagerExecutionTreeFetching(boolean enableEagerExecutionTreeFetching)`
  `void`
  `setEventListeners(List<EventListener> eventListeners)`
  `void`
  `setExecutable(boolean executable)`
  `void`
  `setExecutionListeners(List<FlowableListener> executionListeners)`
  `void`
  `setFlowElementMap(Map<String,FlowElement> flowElementMap)`
  `void`
  `setInitialFlowElement(FlowElement initialFlowElement)`
  `void`
  `setIoSpecification(IOSpecification ioSpecification)`
  `void`
  `setLanes(List<Lane> lanes)`
  `void`
  `setName(String name)`
  `void`
  `setValues(Process otherElement)`

  ### Methods inherited from class org.flowable.bpmn.model.BaseElement

  `addAttribute, addExtensionElement, getAttributes, getAttributeValue, getExtensionElements, getId, getXmlColumnNumber, getXmlRowNumber, setAttributes, setExtensionElements, setId, setValues, setXmlColumnNumber, setXmlRowNumber`

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

  `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface org.flowable.bpmn.model.FlowElementsContainer

  `getId`

- ## Field Details

  - ### name

    protected String name

  - ### executable

    protected boolean executable

  - ### documentation

    protected String documentation

  - ### ioSpecification

    protected IOSpecification ioSpecification

  - ### executionListeners

    protected List<FlowableListener> executionListeners

  - ### lanes

    protected List<Lane> lanes

  - ### flowElementList

    protected List<FlowElement> flowElementList

  - ### dataObjects

    protected List<ValuedDataObject> dataObjects

  - ### artifactList

    protected List<Artifact> artifactList

  - ### candidateStarterUsers

    protected List<String> candidateStarterUsers

  - ### candidateStarterGroups

    protected List<String> candidateStarterGroups

  - ### eventListeners

    protected List<EventListener> eventListeners

  - ### flowElementMap

    protected Map<String,FlowElement> flowElementMap

  - ### artifactMap

    protected Map<String,Artifact> artifactMap

  - ### initialFlowElement

    protected FlowElement initialFlowElement

  - ### enableEagerExecutionTreeFetching

    protected boolean enableEagerExecutionTreeFetching

- ## Constructor Details

  - ### Process

    public Process()

- ## Method Details

  - ### getDocumentation

    public String getDocumentation()

  - ### setDocumentation

    public void setDocumentation(String documentation)

  - ### getName

    public String getName()

  - ### setName

    public void setName(String name)

  - ### isExecutable

    public boolean isExecutable()

  - ### setExecutable

    public void setExecutable(boolean executable)

  - ### getIoSpecification

    public IOSpecification getIoSpecification()

  - ### setIoSpecification

    public void setIoSpecification(IOSpecification ioSpecification)

  - ### getExecutionListeners

    public List<FlowableListener> getExecutionListeners()
    Specified by:
      `getExecutionListeners` in interface `HasExecutionListeners`

  - ### setExecutionListeners

    public void setExecutionListeners(List<FlowableListener> executionListeners)
    Specified by:
      `setExecutionListeners` in interface `HasExecutionListeners`

  - ### getLanes

    public List<Lane> getLanes()

  - ### setLanes

    public void setLanes(List<Lane> lanes)

  - ### getFlowElementMap

    public Map<String,FlowElement> getFlowElementMap()
    Specified by:
      `getFlowElementMap` in interface `FlowElementsContainer`

  - ### setFlowElementMap

    public void setFlowElementMap(Map<String,FlowElement> flowElementMap)

  - ### containsFlowElementId

    public boolean containsFlowElementId(String id)

  - ### getFlowElement

    public FlowElement getFlowElement(String flowElementId)
    Specified by:
      `getFlowElement` in interface `FlowElementsContainer`

  - ### getFlowElement

    public FlowElement getFlowElement(String flowElementId, boolean searchRecursive)
    Parameters:
      `searchRecursive` - searches the whole process, including subprocesses

  - ### findAssociationsWithSourceRefRecursive

    public List<Association> findAssociationsWithSourceRefRecursive(String sourceRef)

  - ### findAssociationsWithSourceRefRecursive

    protected List<Association> findAssociationsWithSourceRefRecursive(FlowElementsContainer flowElementsContainer, String sourceRef)

  - ### findAssociationsWithTargetRefRecursive

    public List<Association> findAssociationsWithTargetRefRecursive(String targetRef)

  - ### findAssociationsWithTargetRefRecursive

    protected List<Association> findAssociationsWithTargetRefRecursive(FlowElementsContainer flowElementsContainer, String targetRef)

  - ### getFlowElementsContainer

    public FlowElementsContainer getFlowElementsContainer(String flowElementId)
    Searches the whole process, including subprocesses

  - ### getFlowElementsContainer

    protected FlowElementsContainer getFlowElementsContainer(FlowElementsContainer flowElementsContainer, String flowElementId)

  - ### findFlowElementInList

    protected FlowElement findFlowElementInList(String flowElementId)

  - ### getFlowElements

    public Collection<FlowElement> getFlowElements()
    Specified by:
      `getFlowElements` in interface `FlowElementsContainer`

  - ### addFlowElement

    public void addFlowElement(FlowElement element)
    Specified by:
      `addFlowElement` in interface `FlowElementsContainer`

  - ### addFlowElementToMap

    public void addFlowElementToMap(FlowElement element)
    Specified by:
      `addFlowElementToMap` in interface `FlowElementsContainer`

  - ### removeFlowElement

    public void removeFlowElement(String elementId)
    Specified by:
      `removeFlowElement` in interface `FlowElementsContainer`

  - ### removeFlowElementFromMap

    public void removeFlowElementFromMap(String elementId)
    Specified by:
      `removeFlowElementFromMap` in interface `FlowElementsContainer`

  - ### getArtifact

    public Artifact getArtifact(String id)
    Specified by:
      `getArtifact` in interface `FlowElementsContainer`

  - ### getArtifacts

    public Collection<Artifact> getArtifacts()
    Specified by:
      `getArtifacts` in interface `FlowElementsContainer`

  - ### getArtifactMap

    public Map<String,Artifact> getArtifactMap()
    Specified by:
      `getArtifactMap` in interface `FlowElementsContainer`

  - ### addArtifact

    public void addArtifact(Artifact artifact)
    Specified by:
      `addArtifact` in interface `FlowElementsContainer`

  - ### addArtifactToMap

    public void addArtifactToMap(Artifact artifact)
    Specified by:
      `addArtifactToMap` in interface `FlowElementsContainer`

  - ### removeArtifact

    public void removeArtifact(String artifactId)
    Specified by:
      `removeArtifact` in interface `FlowElementsContainer`

  - ### getCandidateStarterUsers

    public List<String> getCandidateStarterUsers()

  - ### setCandidateStarterUsers

    public void setCandidateStarterUsers(List<String> candidateStarterUsers)

  - ### getCandidateStarterGroups

    public List<String> getCandidateStarterGroups()

  - ### setCandidateStarterGroups

    public void setCandidateStarterGroups(List<String> candidateStarterGroups)

  - ### getEventListeners

    public List<EventListener> getEventListeners()

  - ### setEventListeners

    public void setEventListeners(List<EventListener> eventListeners)

  - ### findFlowElementsOfType

    public <FlowElementType extends FlowElement> List<FlowElementType> findFlowElementsOfType(Class<FlowElementType> type)

  - ### findFlowElementsOfType

    public <FlowElementType extends FlowElement> List<FlowElementType> findFlowElementsOfType(Class<FlowElementType> type, boolean goIntoSubprocesses)

  - ### findFlowElementsInSubProcessOfType

    public <FlowElementType extends FlowElement> List<FlowElementType> findFlowElementsInSubProcessOfType(SubProcess subProcess, Class<FlowElementType> type)

  - ### findFlowElementsInSubProcessOfType

    public <FlowElementType extends FlowElement> List<FlowElementType> findFlowElementsInSubProcessOfType(SubProcess subProcess, Class<FlowElementType> type, boolean goIntoSubprocesses)

  - ### findParent

    public FlowElementsContainer findParent(FlowElement childElement)

  - ### findParent

    public FlowElementsContainer findParent(FlowElement childElement, FlowElementsContainer flowElementsContainer)

  - ### clone

    public Process clone()
    Specified by:
      `clone` in class `BaseElement`

  - ### setValues

    public void setValues(Process otherElement)

  - ### getDataObjects

    public List<ValuedDataObject> getDataObjects()

  - ### setDataObjects

    public void setDataObjects(List<ValuedDataObject> dataObjects)

  - ### getInitialFlowElement

    public FlowElement getInitialFlowElement()

  - ### setInitialFlowElement

    public void setInitialFlowElement(FlowElement initialFlowElement)

  - ### isEnableEagerExecutionTreeFetching

    public boolean isEnableEagerExecutionTreeFetching()

  - ### setEnableEagerExecutionTreeFetching

    public void setEnableEagerExecutionTreeFetching(boolean enableEagerExecutionTreeFetching)