Package com.xebialabs.deployit.plugin.api.udm

## Class DeploymentPackage

- java.lang.Object
- - com.xebialabs.deployit.plugin.api.udm.base.BaseConfigurationItem
  - - com.xebialabs.deployit.plugin.api.udm.Version
    - - com.xebialabs.deployit.plugin.api.udm.DeploymentPackage

- All Implemented Interfaces:
    `ConfigurationItem`, `java.io.Serializable`, `java.lang.Comparable<BaseConfigurationItem>`
  Direct Known Subclasses:
    `ProvisioningPackage`

      @Metadata(description="A package of a certain version of an application. Groups all deployable artifact CIs for an application for a certain version. Is contained by the Application CI.")
      public class DeploymentPackage
      extends Version

  A particular version of an `Application` consisting of both artifacts and resource specifications (a set of `Deployable`s) that can be deployed onto a `Container`.
  See Also:
    Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static interface` | `DeploymentPackage.DependencyResolution` | Indicates how application dependencies will be resolved when deploying an application.

  - ### Field Summary

    - ### Fields inherited from class com.xebialabs.deployit.plugin.api.udm.base.BaseConfigurationItem

      `id, syntheticProperties, type`

    - ### Fields inherited from interface com.xebialabs.deployit.plugin.api.udm.ConfigurationItem

      `SYNTHETIC_PROPERTIES_FIELD, TYPE_FIELD`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DeploymentPackage()` |
    `DeploymentPackage​(Deployable... deployables)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addDeployable​(Deployable deployable)` | Adds a `Deployable` The set of Deployables that are part of this package.
    `java.util.Map<java.lang.String,​java.lang.String>` | `getApplicationDependencies()` | Gets the application versions that the this package depends on.
    `java.util.Set<Template>` | `getBoundTemplates()` |
    `java.lang.String` | `getDependencyResolution()` |
    `java.util.Set<Deployable>` | `getDeployables()` |
    `java.util.Set<Template>` | `getTemplates()` |
    `java.lang.String` | `getUndeployDependencies()` |
    `void` | `setApplicationDependencies​(java.util.Map<java.lang.String,​java.lang.String> applicationDependencies)` | Sets the application versions that this package depends on.
    `void` | `setBoundTemplates​(java.util.Set<Template> boundTemplates)` |
    `void` | `setDependencyResolution​(java.lang.String dependencyResolution)` |
    `void` | `setDeployables​(java.util.Set<Deployable> deployables)` |
    `void` | `setTemplates​(java.util.Set<Template> templates)` |
    `void` | `setUndeployDependencies​(java.lang.String undeployDependencies)` |

    - ### Methods inherited from class com.xebialabs.deployit.plugin.api.udm.Version

      `getApplication, getOrchestrator, getVersion, setApplication, setOrchestrator`

    - ### Methods inherited from class com.xebialabs.deployit.plugin.api.udm.base.BaseConfigurationItem

      `compareTo, equals, get$ciAttributes, get$directoryReference, get$externalProperties, get$internalId, get$referenceId, get$securedCi, get$securedDirectoryReference, get$token, get$validationMessages, getId, getName, getProperty, getPropertyDescriptor, getType, hashCode, hasProperty, set$ciAttributes, set$directoryReference, set$externalProperties, set$internalId, set$referenceId, set$securedCi, set$securedDirectoryReference, set$token, set$validationMessages, setId, setProperty, setType, toString`

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

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

- - ### Constructor Detail

    - #### DeploymentPackage

          public DeploymentPackage()

    - #### DeploymentPackage

          public DeploymentPackage​(Deployable... deployables)

      Parameters:
        `deployables` - The `Deployable`s that are part of this package.

  - ### Method Detail

    - #### getTemplates

          public java.util.Set<Template> getTemplates()

    - #### setTemplates

          public void setTemplates​(java.util.Set<Template> templates)

    - #### getBoundTemplates

          public java.util.Set<Template> getBoundTemplates()

    - #### setBoundTemplates

          public void setBoundTemplates​(java.util.Set<Template> boundTemplates)

    - #### getDeployables

          public java.util.Set<Deployable> getDeployables()

      Specified by:
        `getDeployables` in class `Version`
      Returns:
        The set of `Deployable`s that are part of this package.

    - #### setDeployables

          public void setDeployables​(java.util.Set<Deployable> deployables)

      Parameters:
        `deployables` - The set of `Deployable`s that are part of this package.

    - #### addDeployable

          public void addDeployable​(Deployable deployable)

      Adds a `Deployable` The set of Deployables that are part of this package.

    - #### getApplicationDependencies

          public java.util.Map<java.lang.String,​java.lang.String> getApplicationDependencies()

      Gets the application versions that the this package depends on. This is a mapping from application names or id's to version ranges. A version range is a string in OSGi Semantic Versioning format.
      Returns:
        a Map<String, String>

    - #### setApplicationDependencies

          public void setApplicationDependencies​(java.util.Map<java.lang.String,​java.lang.String> applicationDependencies)

      Sets the application versions that this package depends on. This is a mapping from application names or id's (e.g. "Application/PetClinic") to version ranges. A version range is a string in OSGi Semantic Versioning format, e.g. "[1.5,3)"
      Parameters:
        `applicationDependencies` - the map of dependencies for this application version.

    - #### getDependencyResolution

          public java.lang.String getDependencyResolution()

    - #### setDependencyResolution

          public void setDependencyResolution​(java.lang.String dependencyResolution)

    - #### getUndeployDependencies

          public java.lang.String getUndeployDependencies()

    - #### setUndeployDependencies

          public void setUndeployDependencies​(java.lang.String undeployDependencies)