case class Saga(loc: At, id: Definitions.Identifier, options: Seq[Definitions.SagaOption] = Seq.empty[SagaOption], input: Option[Definitions.Aggregation] = None, output: Option[Definitions.Aggregation] = None, sagaSteps: Seq[SagaStep] = Seq.empty[SagaStep], functions: Seq[Function] = Seq.empty[Function], inlets: Seq[Inlet] = Seq.empty[Inlet], outlets: Seq[Outlet] = Seq.empty[Outlet], authors: Seq[AuthorRef] = Seq.empty[AuthorRef], includes: Seq[Include[Definitions.SagaDefinition]] = Seq.empty[Include[SagaDefinition]], terms: Seq[Term] = Seq.empty[Term], brief: Option[Definitions.LiteralString] = Option.empty[LiteralString], description: Option[Definitions.Description] = None) extends VitalDefinition[SagaOption, SagaDefinition] with ContextDefinition with Product with Serializable
The definition of a Saga based on inputs, outputs, and the set of SagaSteps involved in the saga. Sagas define a computing action based on a variety of related commands that must all succeed atomically or have their effects undone.
- loc
The location of the Saga definition
- id
The name of the saga
- options
The options of the saga
- input
A definition of the aggregate input values needed to invoke the saga, if any.
- output
A definition of the aggregate output values resulting from invoking the saga, if any.
- sagaSteps
The set of SagaSteps that comprise the saga.
- brief
A brief description (one sentence) for use in documentation
- description
An optional description of the saga.
- Alphabetic
- By Inheritance
- Saga
- Serializable
- Product
- Equals
- ContextDefinition
- VitalDefinition
- WithTerms
- WithIncludes
- WithAuthors
- WithOptions
- Definition
- Container
- BrieflyDescribedValue
- DescribedValue
- RiddlValue
- RiddlNode
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new Saga(loc: At, id: Definitions.Identifier, options: Seq[Definitions.SagaOption] = Seq.empty[SagaOption], input: Option[Definitions.Aggregation] = None, output: Option[Definitions.Aggregation] = None, sagaSteps: Seq[SagaStep] = Seq.empty[SagaStep], functions: Seq[Function] = Seq.empty[Function], inlets: Seq[Inlet] = Seq.empty[Inlet], outlets: Seq[Outlet] = Seq.empty[Outlet], authors: Seq[AuthorRef] = Seq.empty[AuthorRef], includes: Seq[Include[Definitions.SagaDefinition]] = Seq.empty[Include[SagaDefinition]], terms: Seq[Term] = Seq.empty[Term], brief: Option[Definitions.LiteralString] = Option.empty[LiteralString], description: Option[Definitions.Description] = None)
- loc
The location of the Saga definition
- id
The name of the saga
- options
The options of the saga
- input
A definition of the aggregate input values needed to invoke the saga, if any.
- output
A definition of the aggregate output values resulting from invoking the saga, if any.
- sagaSteps
The set of SagaSteps that comprise the saga.
- brief
A brief description (one sentence) for use in documentation
- description
An optional description of the saga.
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val authors: Seq[AuthorRef]
- Definition Classes
- Saga → WithAuthors
- implicit def bool2int(b: Boolean): Int
Implicit conversion of boolean to Int for easier computation of statistics below
Implicit conversion of boolean to Int for easier computation of statistics below
- b
The boolean to convert to an Int
- Definition Classes
- VitalDefinition
- val brief: Option[Definitions.LiteralString]
- Definition Classes
- Saga → BrieflyDescribedValue
- def briefValue: String
- Definition Classes
- BrieflyDescribedValue
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- def completeness: (Int, Int)
Compute the completeness of this definition.
Compute the completeness of this definition. Vital definitions should have options, terms, and authors but includes are optional. Incompleteness is signalled by child definitions that are empty.
- returns
A numerator and denominator for percent complete
- Definition Classes
- VitalDefinition
- lazy val contents: Seq[Definitions.SagaDefinition]
- Definition Classes
- Saga → WithIncludes → Container
- val description: Option[Definitions.Description]
- Definition Classes
- Saga → DescribedValue
- def descriptionValue: String
- Definition Classes
- DescribedValue
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def find(name: String): Option[Definitions.Definition]
- Definition Classes
- Definition
- def format: String
Format the node to a string
Format the node to a string
- Definition Classes
- WithOptions → RiddlNode
- val functions: Seq[Function]
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def getOptionValue[OPT <: Definitions.SagaOption](implicit arg0: ClassTag[OPT]): Option[Seq[Definitions.LiteralString]]
- Definition Classes
- WithOptions
- def hasAuthors: Boolean
- Definition Classes
- WithAuthors → Definition
- def hasOption[OPT <: Definitions.SagaOption](implicit arg0: ClassTag[OPT]): Boolean
- Definition Classes
- WithOptions
- def hasOptions: Boolean
- Definition Classes
- WithOptions → Definition
- def hasTerms: Boolean
- Definition Classes
- WithTerms
- def hasTypes: Boolean
- Definition Classes
- Definition
- val id: Definitions.Identifier
- Definition Classes
- Saga → Definition
- def identify: String
- Definition Classes
- Definition
- def identifyWithLoc: String
- Definition Classes
- Definition
- val includes: Seq[Include[Definitions.SagaDefinition]]
- Definition Classes
- Saga → WithIncludes
- val inlets: Seq[Inlet]
- val input: Option[Definitions.Aggregation]
- def isContainer: Boolean
Determine if this node is a container or not
- def isEmpty: Boolean
determine if this node is empty or not.
determine if this node is empty or not. Non-containers are always empty
- Definition Classes
- Saga → WithOptions → Container → RiddlNode
- def isImplicit: Boolean
- Definition Classes
- Definition
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isRootContainer: Boolean
- Definition Classes
- Container
- def isVital: Boolean
- Definition Classes
- VitalDefinition → Definition
- final val kind: String
- Definition Classes
- Saga → Definition
- val loc: At
The location in the parse at which this RiddlValue occurs
The location in the parse at which this RiddlValue occurs
- Definition Classes
- Saga → RiddlValue
- def maturity: Int
Compute the 'maturity' of a definition.
Compute the 'maturity' of a definition. Maturity is a score with no maximum but with scoring rules that target 100 points per definition. Maturity is broken down this way:
- has a description - up to 50 points depending on # of non empty lines
- has a brief description - 5 points
- has options specified - 5 points
- has terms defined -
- has an author in or above the definition - 5 points \-
- definition specific things: 0.65
- Definition Classes
- Saga → VitalDefinition
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def nonEmpty: Boolean
- Definition Classes
- RiddlNode
- Annotations
- @deprecatedOverriding()
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- val options: Seq[Definitions.SagaOption]
- Definition Classes
- Saga → WithOptions
- val outlets: Seq[Outlet]
- val output: Option[Definitions.Aggregation]
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val sagaSteps: Seq[SagaStep]
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val terms: Seq[Term]
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated