Enum Class WorkflowState

java.lang.Object
java.lang.Enum<WorkflowState>
ubic.gemma.model.expression.experiment.WorkflowState
All Implemented Interfaces:
Serializable, Comparable<WorkflowState>, Constable

public enum WorkflowState extends Enum<WorkflowState>
Eight-state workflow lifecycle for experiments (and forthcoming PreboardedExperiments).

Transition table is lifted verbatim from HANDOFF_WORKFLOW_STATE_STORAGE.md ยง"State-machine reference" (which itself mirrors the UI canonical spec in gemma-curation-ui/apps/curation/WORKFLOW_MANAGEMENT.md):

Discovery   -> Candidate, Preboarded
Candidate   -> Preboarded, Discovery
Preboarded    -> Loaded, Candidate
Loaded      -> Curate
Curate      -> Process, Audit
Process     -> Audit, Curate
Audit       -> Curate, Public
Public      -> Curate

An idempotent re-assert (target == current) is permitted but recorded by the service layer as a no-op (no audit event emitted); the machine itself only enumerates strict transitions.

String form of the enum is stored verbatim in INVESTIGATION.WORKFLOW_STATE (VARCHAR(32)). Renaming a constant is therefore a schema migration.

  • Enum Constant Details

  • Method Details

    • values

      public static WorkflowState[] 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 WorkflowState 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
    • allowedNextStates

      public Set<WorkflowState> allowedNextStates()
      Returns:
      the set of states this state can advance to (strict, excludes self). Never null.
    • canTransitionTo

      public boolean canTransitionTo(WorkflowState target)
      Returns:
      true if target is a strict allowed successor of this. A self-transition returns false; the service layer treats idempotent re-assert as a no-op rather than as a transition.