Status

h8io.stages.Status
See theStatus companion trait
object Status

Companion object containing the concrete status variants.

Attributes

Companion
trait
Graph
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
Status.type

Members list

Type members

Classlikes

final case class Complete[+E](errors: Seq[E]) extends Status[E], Iterable[E]

Indicates that a unit of work has finished.

Indicates that a unit of work has finished.

When errors is empty (i.e., this == complete) this represents clean completion. When errors is non-empty one or more errors were accumulated. The signal is passed to Evolution.evolve, which may select a different continuation stage than it would for Success. The enclosing cycle operators (Loop, Repeat and the rest of h8io.stages.cycles in the lib module) intercept it as the cue to stop looping and reset for the next cycle.

Complete dominates Success in composition. Two Complete statuses are merged by concatenating their error sequences.

Because Complete extends Iterable[E], individual errors can be iterated directly with a for-comprehension or foreach.

Type parameters

E

the error type (covariant)

Value parameters

errors

the accumulated error values; empty for a clean completion

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Iterable[E]
trait IterableFactoryDefaults[E, Iterable]
trait IterableOps[E, Iterable, Iterable[E]]
trait IterableOnceOps[E, Iterable, Iterable[E]]
trait IterableOnce[E]
trait Status[E]
class Object
trait Matchable
class Any
Show all
case object Success extends Status[Nothing]

Indicates that a Stage completed successfully and the pipeline may continue.

Indicates that a Stage completed successfully and the pipeline may continue.

Success is the identity element of status composition: Success.combine(s) == s for any s.

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait Status[Nothing]
class Object
trait Matchable
class Any
Show all
Self type
Success.type

Inherited and Abstract types

type MirroredElemLabels <: Tuple

The names of the product elements.

The names of the product elements.

Attributes

Inherited from:
Mirror
type MirroredLabel <: String

The name of the type.

The name of the type.

Attributes

Inherited from:
Mirror

Value members

Concrete methods

def error[E](head: E, tail: E*): Complete[E]

Creates a Complete status from one or more error values.

Creates a Complete status from one or more error values.

Value parameters

head

the first (required) error value

tail

any additional error values

Attributes

Concrete fields

val complete: Complete[Nothing]

A Complete with no errors, representing clean pipeline termination.

A Complete with no errors, representing clean pipeline termination.

Attributes