Enum Class ReleasePolicy

java.lang.Object
java.lang.Enum<ReleasePolicy>
network.ike.support.enums.ReleasePolicy
All Implemented Interfaces:
Serializable, Comparable<ReleasePolicy>, Constable, ConstantBackedEnum, EnumDefinition

public enum ReleasePolicy extends Enum<ReleasePolicy> implements EnumDefinition
The release-cascade policy ladder: what a project does when an upstream it depends on is released.

The five rungs are ordered by increasing autonomy, each subsuming the intent of the ones before it — VERIFY confirms what NOTIFY only observed, PROPOSE prepares the change VERIFY validated, and so on up to RELEASE, which carries the cascade onward to its own downstream consumers. A project declares its policy as a ${G·A·policy} POM property; the version-management extension validates the value and the release orchestrator dispatches on it.

Each rung carries a NAME_* mirror constant — the ConstantBackedEnum pattern — so the rung name is usable where a compile-time String constant is required; the class-load verify guard keeps the constants and mirrors in lockstep.

Since:
1
  • Enum Constant Details

    • NOTIFY

      public static final ReleasePolicy NOTIFY
      Record the upstream release; take no action on this project.
    • VERIFY

      public static final ReleasePolicy VERIFY
      Build against the released upstream to confirm compatibility.
    • PROPOSE

      public static final ReleasePolicy PROPOSE
      Open a pull request with the version bump for human review.
    • INTEGRATE

      public static final ReleasePolicy INTEGRATE
      Apply the version bump to the main branch without releasing.
    • RELEASE

      public static final ReleasePolicy RELEASE
      Bump, release, and carry the cascade downstream.
  • Field Details

  • Method Details

    • values

      public static ReleasePolicy[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static ReleasePolicy valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (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:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • literalName

      public String literalName()
      The String literal carried by this constant.

      For ReleasePolicy the literal is the rung name as it appears in a ${G·A·policy} POM property.

      Specified by:
      literalName in interface ConstantBackedEnum
      Returns:
      the literal, equal to the corresponding NAME_* mirror constant on the implementing enum
    • term

      public String term()
      The human-readable term this constant names.

      For ReleasePolicy the term and literalName() coincide — the rung name is both the vocabulary term and the value declared in the POM.

      Specified by:
      term in interface EnumDefinition
      Returns:
      the term; never null or blank
    • definition

      public String definition()
      A one-sentence definition of EnumDefinition.term().
      Specified by:
      definition in interface EnumDefinition
      Returns:
      the definition; never null or blank