Enum Class ReleasePolicy
- All Implemented Interfaces:
Serializable, Comparable<ReleasePolicy>, Constable, ConstantBackedEnum, EnumDefinition
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
-
Nested Class Summary
Nested classes/interfaces inherited from class Enum
Enum.EnumDesc<E> -
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionApply the version bump to the main branch without releasing.Record the upstream release; take no action on this project.Open a pull request with the version bump for human review.Bump, release, and carry the cascade downstream.Build against the released upstream to confirm compatibility. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringMirror constant forINTEGRATE.static final StringMirror constant forNOTIFY— usable in annotations.static final StringMirror constant forPROPOSE.static final StringMirror constant forRELEASE.static final StringMirror constant forVERIFY. -
Method Summary
Modifier and TypeMethodDescriptionA one-sentence definition ofEnumDefinition.term().The String literal carried by this constant.term()The human-readable term this constant names.static ReleasePolicyReturns the enum constant of this class with the specified name.static ReleasePolicy[]values()Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
NOTIFY
Record the upstream release; take no action on this project. -
VERIFY
Build against the released upstream to confirm compatibility. -
PROPOSE
Open a pull request with the version bump for human review. -
INTEGRATE
Apply the version bump to the main branch without releasing. -
RELEASE
Bump, release, and carry the cascade downstream.
-
-
Field Details
-
NAME_NOTIFY
-
NAME_VERIFY
-
NAME_PROPOSE
-
NAME_INTEGRATE
-
NAME_RELEASE
-
-
Method Details
-
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
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 nameNullPointerException- if the argument is null
-
literalName
The String literal carried by this constant.For
ReleasePolicythe literal is the rung name as it appears in a${G·A·policy}POM property.- Specified by:
literalNamein interfaceConstantBackedEnum- Returns:
- the literal, equal to the corresponding
NAME_*mirror constant on the implementing enum
-
term
The human-readable term this constant names.For
ReleasePolicythe term andliteralName()coincide — the rung name is both the vocabulary term and the value declared in the POM.- Specified by:
termin interfaceEnumDefinition- Returns:
- the term; never
nullor blank
-
definition
A one-sentence definition ofEnumDefinition.term().- Specified by:
definitionin interfaceEnumDefinition- Returns:
- the definition; never
nullor blank
-