Enum Class TrackerSourceKind

java.lang.Object
java.lang.Enum<TrackerSourceKind>
com.arc_e_tect.gradle.trackerlens.TrackerSourceKind
All Implemented Interfaces:
Serializable, Comparable<TrackerSourceKind>, Constable

public enum TrackerSourceKind extends Enum<TrackerSourceKind>
The built-in TrackerSource kinds selectable from the trackerLens DSL's source property, each paired with its canonical, ordered stage sequence.

A third TrackerSource implementation can be added later purely by adding a constant here (or, if it should never be DSL-selectable, by using it outside this enum entirely) - nothing in GenerateTrackerLensTask or the dashboard renderer is specific to either built-in kind, beyond stagesFormADependencyChain() choosing how com.arc_e_tect.gradle.trackerlens.dashboard.TrackerViewFactory computes each metric card's count - both otherwise only ever operate on TrackerSource and com.arc_e_tect.gradle.trackerlens.tracker.LifecycleRecord.

  • Enum Constant Details

    • GHERKIN_SCENARIO

      public static final TrackerSourceKind GHERKIN_SCENARIO
      Gherkin scenario progress history, stages listed, defined, implemented.
    • API_CONTRACT

      public static final TrackerSourceKind API_CONTRACT
      API contract progress history, stages declared, implemented, stubbed, verified.
  • Method Details

    • values

      public static TrackerSourceKind[] 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 TrackerSourceKind 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
    • stages

      public List<String> stages()
      This kind's canonical stage sequence, in order.
      Returns:
      the ordered stage names
    • stagesFormADependencyChain

      public boolean stagesFormADependencyChain()
      Whether an item of this kind can only reach a later stage by having already passed through every earlier one, so its single current (furthest-reached) stage is a meaningful summary of its status.

      True for GHERKIN_SCENARIO: a scenario is implemented only after being defined, and defined only after being listed, in the real authoring workflow - even though the recorded data can skip an intermediate stamp. False for API_CONTRACT: declared, implemented, stubbed, and verified are independent conditions an endpoint may satisfy in any combination (e.g. implemented without being declared, or stubbed without ever being implemented), so no single "current stage" captures its status - the dashboard's built-in metric cards use cumulative "reached at least this stage" counts instead.

      Returns:
      true if this kind's stages form a dependency chain
    • finalStage

      public String finalStage()
      The stage that marks an item as complete, for ProgressProjector.
      Returns:
      the final stage name
    • createSource

      public TrackerSource createSource()
      Creates a new TrackerSource instance of this kind.
      Returns:
      a new tracker source