Package com.xebialabs.xlrelease.repository

## Enum PhaseVersion

- java.lang.Object
- - java.lang.Enum<PhaseVersion>
  - - com.xebialabs.xlrelease.repository.PhaseVersion

- All Implemented Interfaces:
    `java.io.Serializable`, `java.lang.Comparable<PhaseVersion>`

      public enum PhaseVersion
      extends java.lang.Enum<PhaseVersion>

  Used for restarting phases and indicate which 'version' of the phase should be restarted. For example: LATEST means that restarting should be done from the most recent phase. This is determined by checking if the Phase has been copied or not (ie, `Phase.isPhaseCopied()`).

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant | Description
    --- | ---
    `ALL` | This is the 'old' behavior.
    `LATEST` | Copy the most recent version of the phase.
    `ORIGINAL` | Copy the original (first) version of the phase.

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static java.util.List<PhaseVersion>` | `determinePhaseVersion​(Phase phase)` | Given a phase, determine its phaseVersion(s).
    `static PhaseVersion` | `fromString​(java.lang.String s)` | Used by JAX-RS binding The input is being uppercased to allow for case insensitivity
    `static boolean` | `isPhaseVersion​(Phase phase, PhaseVersion phaseVersion)` | Determines the phaseVersion of the given phase and compares it with the given phaseVersion parameter.
    `static PhaseVersion` | `valueOf​(java.lang.String name)` | Returns the enum constant of this type with the specified name.
    `static PhaseVersion[]` | `values()` | Returns an array containing the constants of this enum type, in the order they are declared.

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

      `clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

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

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Enum Constant Detail

    - #### LATEST

          public static final PhaseVersion LATEST

      Copy the most recent version of the phase. Determined by checking if the phase has not been copied yet (ie, there are no other phases pointing to this phase). See also `Phase.isPhaseCopied()`

    - #### ORIGINAL

          public static final PhaseVersion ORIGINAL

      Copy the original (first) version of the phase. Determined by checking if the phase origin is null.

    - #### ALL

          public static final PhaseVersion ALL

      This is the 'old' behavior. Copy ALL the phases between 2 given phases. Regardless of versioning.

  - ### Method Detail

    - #### values

          public static PhaseVersion[] values()

      Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

          for (PhaseVersion c : PhaseVersion.values())
              System.out.println(c);

      Returns:
        an array containing the constants of this enum type, in the order they are declared

    - #### valueOf

          public static PhaseVersion valueOf​(java.lang.String name)

      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
        `name` - the name of the enum constant to be returned.
      Returns:
        the enum constant with the specified name
      Throws:
        `java.lang.IllegalArgumentException` - if this enum type has no constant with the specified name
        `java.lang.NullPointerException` - if the argument is null

    - #### fromString

          public static PhaseVersion fromString​(java.lang.String s)

      Used by JAX-RS binding The input is being uppercased to allow for case insensitivity
      Parameters:
        `s` -
      Returns:

    - #### determinePhaseVersion

          public static java.util.List<PhaseVersion> determinePhaseVersion​(Phase phase)

      Given a phase, determine its phaseVersion(s). There can be more than one, in the case that a phase is the original one and also the most recent.
      Parameters:
        `phase` -
      Returns:

    - #### isPhaseVersion

          public static boolean isPhaseVersion​(Phase phase,
                                               PhaseVersion phaseVersion)

      Determines the phaseVersion of the given phase and compares it with the given phaseVersion parameter.
      Parameters:
        `phase` -
        `phaseVersion` -
      Returns: