Package org.flowable.engine.repository

# Interface DeploymentBuilder

public interface DeploymentBuilder
Builder for creating new deployments. A builder instance can be obtained through `RepositoryService.createDeployment()`. Multiple resources can be added to one deployment before calling the `deploy()` operation. After deploying, no more changes can be made to the returned deployment and the builder instance can be disposed.

Author:
  Tom Baeyens, Joram Barrez

- ## Method Summary

  Modifier and Type
  Method
  Description
  `DeploymentBuilder`
  `activateProcessDefinitionsOn(Date date)`
  Sets the date on which the process definitions contained in this deployment will be activated.
  `DeploymentBuilder`
  `addBpmnModel(String resourceName, BpmnModel bpmnModel)`
  `DeploymentBuilder`
  `addBytes(String resourceName, byte[] bytes)`
  `DeploymentBuilder`
  `addClasspathResource(String resource)`
  `DeploymentBuilder`
  `addInputStream(String resourceName, InputStream inputStream)`
  `DeploymentBuilder`
  `addString(String resourceName, String text)`
  `DeploymentBuilder`
  `addZipInputStream(ZipInputStream zipInputStream)`
  `DeploymentBuilder`
  `category(String category)`
  Gives the deployment the given category.
  `Deployment`
  `deploy()`
  Deploys all provided sources to the process engine.
  `DeploymentBuilder`
  `deploymentProperty(String propertyKey, Object propertyValue)`
  Allows to add a property to this `DeploymentBuilder` that influences the deployment.
  `DeploymentBuilder`
  `disableBpmnValidation()`
  If called, no validation that the process definition is executable on the engine will be done against the process definition.
  `DeploymentBuilder`
  `disableSchemaValidation()`
  If called, no XML schema validation against the BPMN 2.0 XSD.
  `DeploymentBuilder`
  `enableDuplicateFiltering()`
  If set, this deployment will be compared to any previous deployment.
  `DeploymentBuilder`
  `key(String key)`
  Gives the deployment the given key.
  `DeploymentBuilder`
  `name(String name)`
  Gives the deployment the given name.
  `DeploymentBuilder`
  `parentDeploymentId(String parentDeploymentId)`
  Gives the deployment the given parent deployment id.
  `DeploymentBuilder`
  `tenantId(String tenantId)`
  Gives the deployment the given tenant id.

- ## Method Details

  - ### addInputStream

    DeploymentBuilder addInputStream(String resourceName, InputStream inputStream)

  - ### addClasspathResource

    DeploymentBuilder addClasspathResource(String resource)

  - ### addString

    DeploymentBuilder addString(String resourceName, String text)

  - ### addBytes

    DeploymentBuilder addBytes(String resourceName, byte[] bytes)

  - ### addZipInputStream

    DeploymentBuilder addZipInputStream(ZipInputStream zipInputStream)

  - ### addBpmnModel

    DeploymentBuilder addBpmnModel(String resourceName, BpmnModel bpmnModel)

  - ### disableSchemaValidation

    DeploymentBuilder disableSchemaValidation()
    If called, no XML schema validation against the BPMN 2.0 XSD. Not recommended in general.

  - ### disableBpmnValidation

    DeploymentBuilder disableBpmnValidation()
    If called, no validation that the process definition is executable on the engine will be done against the process definition. Not recommended in general.

  - ### name

    DeploymentBuilder name(String name)
    Gives the deployment the given name.

  - ### category

    DeploymentBuilder category(String category)
    Gives the deployment the given category.

  - ### key

    DeploymentBuilder key(String key)
    Gives the deployment the given key.

  - ### parentDeploymentId

    DeploymentBuilder parentDeploymentId(String parentDeploymentId)
    Gives the deployment the given parent deployment id.

  - ### tenantId

    DeploymentBuilder tenantId(String tenantId)
    Gives the deployment the given tenant id.

  - ### enableDuplicateFiltering

    DeploymentBuilder enableDuplicateFiltering()
    If set, this deployment will be compared to any previous deployment. This means that every (non-generated) resource will be compared with the provided resources of this deployment.

  - ### activateProcessDefinitionsOn

    DeploymentBuilder activateProcessDefinitionsOn(Date date)
    Sets the date on which the process definitions contained in this deployment will be activated. This means that all process definitions will be deployed as usual, but they will be suspended from the start until the given activation date.

  - ### deploymentProperty

    DeploymentBuilder deploymentProperty(String propertyKey, Object propertyValue)
    Allows to add a property to this `DeploymentBuilder` that influences the deployment.

  - ### deploy

    Deployment deploy()
    Deploys all provided sources to the process engine.