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

## Class Version

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

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

      @Metadata(virtual=true,
                description="A version of an application .")
      @TypeIcon("icons/types/udm.Version.svg")
      public abstract class Version
      extends BaseConfigurationItem

  A Version of an `Application`, which can be represented either as a `DeploymentPackage` or as a `CompositePackage`.

  A Version is sometimes also called package, in the sense that it groups together a collection of artifacts and resource specifications of a specific version into a package. This is true especially when considering `CompositePackage`s as containing a list of other packages.

  See Also:
    Serialized Form

- - ### 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
    --- | ---
    `Version()` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Application` | `getApplication()` |
    `abstract java.util.Set<Deployable>` | `getDeployables()` |
    `java.util.List<java.lang.String>` | `getOrchestrator()` |
    `java.lang.String` | `getVersion()` | By convention, the version of a Version is the last part of the id (which is in effect the same as the getName() returns.
    `void` | `setApplication​(Application application)` |
    `void` | `setOrchestrator​(java.util.List<java.lang.String> orchestrator)` |

    - ### 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

    - #### Version

          public Version()

  - ### Method Detail

    - #### getVersion

          public java.lang.String getVersion()

      By convention, the version of a Version is the last part of the id (which is in effect the same as the getName() returns.
      Returns:
        The last part of the id
      See Also:
        `BaseConfigurationItem.getName()`

    - #### getApplication

          public Application getApplication()

      Returns:
        The `Application` this package belongs to.

    - #### setApplication

          public void setApplication​(Application application)

      Parameters:
        `application` - The `Application` this package belongs to.

    - #### getOrchestrator

          public java.util.List<java.lang.String> getOrchestrator()

      Returns:
        The list of orchestrator names that are used to deploy the application. Orchestrators will be executed in order.

    - #### setOrchestrator

          public void setOrchestrator​(java.util.List<java.lang.String> orchestrator)

      Parameters:
        `orchestrator` - The list of orchestrator names that are used to deploy the application.

    - #### getDeployables

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

      Returns:
        The collection of artifacts and resource specifications (a set of `Deployable`s).