Packages

object AST

Abstract Syntax Tree This object defines the model for processing RIDDL and producing a raw AST from it. This raw AST has no referential integrity, it just results from applying the parsing rules to the input. The RawAST models produced from parsing are syntactically correct but have no semantic validation. The Transformation passes convert RawAST model to AST model which is referentially and semantically consistent (or the user gets an error).

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. AST
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. case class Abstract(loc: Location) extends PredefinedType with Product with Serializable

    The simplest type expression: Abstract An abstract type expression is one that is not defined explicitly.

    The simplest type expression: Abstract An abstract type expression is one that is not defined explicitly. It is treated as a concrete type but without any structural or type information. This is useful for types that are defined only at implementation time or for types whose variations are so complicated they need to remain abstract at the specification level.

    loc

    The location of the Bool type expression

  2. sealed trait Action extends DescribedValue

    Base class for all actions.

    Base class for all actions. Actions are used in the "then" and "but" clauses of a Gherkin example such as in the body of a Handler's OnClause or in the definition of a Function. The subclasses define different kinds of actions that can be used.

  3. sealed trait Adaptation extends AdaptorDefinition with ParentDefOf[Example]
  4. case class Adaptor(loc: Location, id: Identifier, ref: ContextRef, adaptations: Seq[Adaptation] = Seq.empty[Adaptation], includes: Seq[Include] = Seq.empty[Include], brief: Option[LiteralString] = Option.empty[LiteralString], description: Option[Description] = None) extends ParentDefOf[AdaptorDefinition] with ContextDefinition with WithIncludes with Product with Serializable

    Definition of an Adaptor.

    Definition of an Adaptor. Adaptors are defined in Contexts to convert messages from another bounded context. Adaptors translate incoming messages into corresponding messages using the ubiquitous language of the defining bounded context. There should be one Adapter for each external Context

    loc

    Location in the parsing input

    id

    Name of the adaptor

    ref

    A reference to the bounded context from which messages are adapted

    adaptations

    A set of AdaptorDefinitions that indicate what to do when messages occur.

    brief

    A brief description (one sentence) for use in documentation

    description

    Optional description of the adaptor.

  5. sealed trait AdaptorDefinition extends Definition

    Base trait of any definition that is in the content of an adaptor

  6. case class AggregateConstructionExpression(loc: Location, msg: TypeRef, args: ArgList = ArgList()) extends Expression with Product with Serializable

    A helper class for creating aggregates and messages that represents the construction of the message or aggregate value from parameters

    A helper class for creating aggregates and messages that represents the construction of the message or aggregate value from parameters

    msg

    A message reference that specifies the specific type of message to construct

    args

    An argument list that should correspond to teh fields of the message

  7. trait AggregateTypeExpression extends TypeExpression with Container[Field]

    A type expression that contains an aggregation of fields

    A type expression that contains an aggregation of fields

    This is used as the base trait of Aggregations and Messages

  8. case class Aggregation(loc: Location, fields: Seq[Field] = Seq.empty[Field]) extends AggregateTypeExpression with Product with Serializable

    A type expression that takes a set of named fields as its value.

    A type expression that takes a set of named fields as its value.

    loc

    The location of the aggregation definition

    fields

    The fields of the aggregation

  9. case class Alternation(loc: Location, of: Seq[TypeExpression]) extends TypeExpression with Product with Serializable

    A type expression that that defines its range of possible values as being any one of the possible values from a set of other type expressions.

    A type expression that that defines its range of possible values as being any one of the possible values from a set of other type expressions.

    loc

    The location of the alternation type expression

    of

    The set of type expressions from which the value for this alternation may be chosen

  10. case class AndCondition(loc: Location, conditions: Seq[Condition]) extends MultiCondition with Product with Serializable

    And condition

    And condition

    loc

    Location of the and condition

    conditions

    The conditions (minimum 2) that must all be true for "and" to be true

  11. case class ArbitraryAction(loc: Location, what: LiteralString, description: Option[Description]) extends SagaStepAction with Product with Serializable

    An action whose behavior is specified as a text string allowing extension to arbitrary actions not otherwise handled by RIDDL's syntax.

    An action whose behavior is specified as a text string allowing extension to arbitrary actions not otherwise handled by RIDDL's syntax.

    loc

    The location where the action occurs in the source

    what

    The action to take (emitted as pseudo-code)

    description

    An optional description of the action

  12. case class ArbitraryExpression(cond: LiteralString) extends Expression with Condition with Product with Serializable

    Represents an arbitrary expression that is specified merely with a literal string.

    Represents an arbitrary expression that is specified merely with a literal string. This can't be easily processed downstream but provides the author with the ability to include arbitrary ideas/concepts into an expression or condition For example:

    example foo { when "the timer has expired" }

    shows the use of an arbitrary condition for the "when" part of a Gherkin example. Or

    +(42,"number of widgets in a wack-a-mole")

    shows the use of an arbitrary expression as the operand to an addition.

    Note that since the expression is arbitrary, it could be a boolean value and is thus considered to be a conditional expression too, hence the name.

    cond

    The arbitrary condition provided as a quoted string

  13. case class ArgList(args: ListMap[Identifier, Expression] = ListMap
    .empty[Identifier, Expression]
    )
    extends RiddlNode with Product with Serializable

    The arguments of a FunctionCallExpression and AggregateConstructionExpression is a mapping between an argument name and the expression that provides the value for that argument.

    The arguments of a FunctionCallExpression and AggregateConstructionExpression is a mapping between an argument name and the expression that provides the value for that argument.

    args

    A mapping of Identifier to Expression to provide the arguments for the function call.

  14. case class ArithmeticOperator(loc: Location, operator: String, operands: Seq[Expression]) extends Expression with Product with Serializable

    Represents the use of an arithmetic operator or well-known function call.

    Represents the use of an arithmetic operator or well-known function call. The operator can be simple like addition or subtraction or complicated like pow, sqrt, etc. There is no limit on the number of operands but defining them shouldn't be necessary as they are pre-determined by use of the name of the operator (e.g. pow takes two floating point numbers, sqrt takes one.

    loc

    The location of the operator

    operator

    The name of the operator (+, -, sqrt, ...)

    operands

    A list of expressions that correspond to the required operands for the operator

  15. case class AskAction(loc: Location, entity: EntityRef, msg: MessageConstructor, description: Option[Description] = None) extends SagaStepAction with Product with Serializable

    An action that asks a query to an entity.

    An action that asks a query to an entity. This is very analogous to the ask operator in Akka.

    loc

    The location of the ask action

    entity

    The entity to which the message is directed

    msg

    A constructed message value to send to the entity, probably a query

    description

    An optional description of the action.

  16. case class AuthorInfo(loc: Location, id: Identifier, name: LiteralString, email: LiteralString, organization: Option[LiteralString] = None, title: Option[LiteralString] = None, url: Option[java.net.URL] = None, brief: Option[LiteralString] = None, description: Option[Description] = None) extends DomainDefinition with Product with Serializable

    A RiddlValue that holds the author's information

    A RiddlValue that holds the author's information

    loc

    The location of the author information

    name

    The full name of the author

    email

    The author's email address

    organization

    The name of the organization the author is associated with

    title

    The author's title within the organization

    url

    A URL associated with the author

  17. case class BecomeAction(loc: Location, entity: EntityRef, handler: HandlerRef, description: Option[Description] = None) extends Action with Product with Serializable

    An action that changes the behavior of an entity by making it use a new handler for its messages; named for the "become" operation in Akka that does the same for an actor.

    An action that changes the behavior of an entity by making it use a new handler for its messages; named for the "become" operation in Akka that does the same for an actor.

    loc

    The location in the source of the become action

    entity

    The entity whose behavior is to change

    handler

    The reference to the new handler for the entity

    description

    An optional description of this action

  18. case class BlockDescription(loc: Location = Location.empty, lines: Seq[LiteralString] = Seq.empty[LiteralString]) extends Description with Product with Serializable
  19. case class Bool(loc: Location) extends PredefinedType with Product with Serializable

    A predefined type expression for boolean values (true / false)

    A predefined type expression for boolean values (true / false)

    loc

    The location of the Bool type expression

  20. sealed trait BrieflyDescribedValue extends RiddlValue
  21. case class ButClause(loc: Location, action: Action) extends GherkinClause with Product with Serializable

    A GherkinClause for the But part of a Gherkin Example.

    A GherkinClause for the But part of a Gherkin Example. This part specifies what should be done if the WhenClause evaluates to false.

    loc

    The location of the But clause

    action

    The action to be performed

  22. sealed trait Cardinality extends TypeExpression

    Base trait of the cardinality type expressions

  23. case class CommandCommandA8n(loc: Location, id: Identifier, messageRef: CommandRef, command: CommandRef, examples: Seq[Example] = Seq.empty[Example], brief: Option[LiteralString] = Option.empty[LiteralString], description: Option[Description] = None) extends Adaptation with Product with Serializable

    The specification of a single adaptation based on message

    The specification of a single adaptation based on message

    loc

    The location of the adaptation definition

    id

    The name of the adaptation

    messageRef

    The command that triggers the adaptation, inherited from Adaptation

    command

    The command resulting from the adaptation of the messageRef to the bounded context

    examples

    Optional set of Gherkin Examples to define the adaptation

    brief

    A brief description (one sentence) for use in documentation

    description

    Optional description of the adaptation.

  24. case class CommandRef(loc: Location, id: PathIdentifier) extends Reference[Type] with MessageRef with Product with Serializable

    A Reference to a command type

    A Reference to a command type

    loc

    The location of the reference

    id

    The path identifier to the event type

  25. sealed trait Comparator extends RiddlNode
  26. case class Comparison(loc: Location, op: Comparator, expr1: Expression, expr2: Expression) extends Condition with Product with Serializable

    Represents one of the six comparison operators

    Represents one of the six comparison operators

    loc

    Location of the comparison

    op

    The comparison operator

    expr1

    The first operand in the comparison

    expr2

    The second operand in the comparison

  27. case class CompoundAction(loc: Location, actions: Seq[Action], description: Option[Description] = None) extends Action with Product with Serializable

    An action that is a set of other actions.

    An action that is a set of other actions.

    loc

    The location of the compound action

    actions

    The actions in the compound group of actions

    description

    An optional description for the action

  28. sealed trait Condition extends Expression

    Base trait for expressions that yield a boolean value (a condition)

  29. sealed trait Container[+D <: RiddlValue] extends RiddlValue

    Base trait of any definition that is also a ContainerValue

    Base trait of any definition that is also a ContainerValue

    D

    The kind of definition that is contained by the container

  30. case class Context(loc: Location, id: Identifier, options: Seq[ContextOption] = Seq.empty[ContextOption], types: Seq[Type] = Seq.empty[Type], entities: Seq[Entity] = Seq.empty[Entity], adaptors: Seq[Adaptor] = Seq.empty[Adaptor], sagas: Seq[Saga] = Seq.empty[Saga], processors: Seq[Processor] = Seq.empty[Processor], functions: Seq[Function] = Seq.empty[Function], terms: Seq[Term] = Seq.empty[Term], includes: Seq[Include] = Seq.empty[Include], handlers: Seq[Handler] = Seq.empty[Handler], brief: Option[LiteralString] = Option.empty[LiteralString], description: Option[Description] = None) extends ParentDefOf[ContextDefinition] with DomainDefinition with OptionsDef[ContextOption] with WithIncludes with WithTerms with Product with Serializable

    A bounded context definition.

    A bounded context definition. Bounded contexts provide a definitional boundary on the language used to describe some aspect of a system. They imply a tightly integrated ecosystem of one or more microservices that share a common purpose. Context can be used to house entities, read side projections, sagas, adaptations to other contexts, apis, and etc.

    loc

    The location of the bounded context definition

    id

    The name of the context

    options

    The options for the context

    types

    Types defined for the scope of this context

    entities

    Entities defined for the scope of this context

    adaptors

    Adaptors to messages from other contexts

    sagas

    Sagas with all-or-none semantics across various entities

    functions

    Features specified for the context

    brief

    A brief description (one sentence) for use in documentation

    description

    An optional description of the context

  31. sealed trait ContextDefinition extends Definition

    Base trait of any definition that is in the content of a context

  32. sealed trait ContextOption extends OptionValue

    Base trait for all options a Context can have.

  33. case class ContextRef(loc: Location, id: PathIdentifier) extends Reference[Context] with Product with Serializable

    A reference to a bounded context

    A reference to a bounded context

    loc

    The location of the reference

    id

    The path identifier for the referenced context

  34. case class Date(loc: Location) extends PredefinedType with Product with Serializable

    A predefined type expression for a calendar date.

    A predefined type expression for a calendar date.

    loc

    The location of the date type expression.

  35. case class DateTime(loc: Location) extends PredefinedType with Product with Serializable

    A predefined type expression for a calendar date and clock time combination.

    A predefined type expression for a calendar date and clock time combination.

    loc

    The location of the datetime type expression.

  36. case class Decimal(loc: Location) extends PredefinedType with Product with Serializable

    A predefined type expression for a decimal value including IEEE floating point syntax.

    A predefined type expression for a decimal value including IEEE floating point syntax.

    loc

    The location of the decimal integer type expression

  37. sealed trait Definition extends DescribedValue with BrieflyDescribedValue

    Base trait for all definitions requiring an identifier for the definition and providing the identify method to yield a string that provides the kind and name

  38. sealed trait DescribedValue extends RiddlValue

    Base trait of all values that have an optional Description

  39. trait Description extends RiddlValue

    The description of a definition.

    The description of a definition. All definitions have a name and an optional description. This class provides the description part.

  40. case class Domain(loc: Location, id: Identifier, authors: Seq[AuthorInfo] = Seq.empty[AuthorInfo], types: Seq[Type] = Seq.empty[Type], contexts: Seq[Context] = Seq.empty[Context], plants: Seq[Plant] = Seq.empty[Plant], stories: Seq[Story] = Seq.empty[Story], domains: Seq[Domain] = Seq.empty[Domain], terms: Seq[Term] = Seq.empty[Term], includes: Seq[Include] = Seq.empty[Include], brief: Option[LiteralString] = Option.empty[LiteralString], description: Option[Description] = None) extends ParentDefOf[DomainDefinition] with DomainDefinition with WithIncludes with WithTerms with Product with Serializable

    The definition of a domain.

    The definition of a domain. Domains are the highest building block in RIDDL and may be nested inside each other to form a hierarchy of domains. Generally, domains follow hierarchical organization structure but other taxonomies and ontologies may be modelled with domains too.

    loc

    The location of the domain definition

    id

    The name of the domain

    types

    The types defined in the scope of the domain

    contexts

    The contexts defined in the scope of the domain

    plants

    The plants defined in the scope of the domain

    domains

    Nested sub-domains within this domain

    terms

    Definition of terms pertaining to this domain that provide explanation of concepts from the domain.

    brief

    A brief description (one sentence) for use in documentation

    description

    An optional description of the domain.

  41. sealed trait DomainDefinition extends Definition

    Base trait of any definition that is in the content of a domain

  42. case class DomainRef(loc: Location, id: PathIdentifier) extends Reference[Domain] with Product with Serializable

    A reference to a domain definition

    A reference to a domain definition

    loc

    The location at which the domain definition occurs

    id

    The path identifier for the referenced domain.

  43. case class Duration(loc: Location) extends PredefinedType with Product with Serializable

    A predefined type expression for a time duration that records the number of milliseconds between two fixed points in time

    A predefined type expression for a time duration that records the number of milliseconds between two fixed points in time

    loc

    The location of the duration type expression

  44. case class Entity(loc: Location, id: Identifier, options: Seq[EntityOption] = Seq.empty[EntityOption], states: Seq[State] = Seq.empty[State], types: Seq[Type] = Seq.empty[Type], handlers: Seq[Handler] = Seq.empty[Handler], functions: Seq[Function] = Seq.empty[Function], invariants: Seq[Invariant] = Seq.empty[Invariant], includes: Seq[Include] = Seq.empty[Include], brief: Option[LiteralString] = Option.empty[LiteralString], description: Option[Description] = None) extends ParentDefOf[EntityDefinition] with ContextDefinition with OptionsDef[EntityOption] with WithIncludes with Product with Serializable

    Definition of an Entity

    Definition of an Entity

    loc

    The location in the input

    id

    The name of the entity

    options

    The options for the entity

    states

    The state values of the entity

    types

    Type definitions useful internally to the entity definition

    handlers

    A set of event handlers

    functions

    Utility functions defined for the entity

    invariants

    Invariant properties of the entity

    brief

    A brief description (one sentence) for use in documentation

    description

    Optional description of the entity

  45. case class EntityAggregate(loc: Location) extends EntityOption with Product with Serializable

    An EntityOption that indicates that this entity is an aggregate root entity through which all commands and queries are sent on behalf of the aggregated entities.

    An EntityOption that indicates that this entity is an aggregate root entity through which all commands and queries are sent on behalf of the aggregated entities.

    loc

    The location of the option

  46. case class EntityAvailable(loc: Location) extends EntityOption with Product with Serializable

    A EntityOption that indicates that this entity favors availability over consistency in the CAP theorem.

    A EntityOption that indicates that this entity favors availability over consistency in the CAP theorem.

    loc

    The location of the option.

  47. case class EntityConsistent(loc: Location) extends EntityOption with Product with Serializable

    An EntityOption that indicates that this entity favors consistency over availability in the CAP theorem.

    An EntityOption that indicates that this entity favors consistency over availability in the CAP theorem.

    loc

    The location of the option.

  48. sealed trait EntityDefinition extends Definition

    Base trait of any definition that is in the content of an entity.

  49. case class EntityEventSourced(loc: Location) extends EntityOption with Product with Serializable

    An EntityOption that indicates that this entity should store its state in an event sourced fashion.

    An EntityOption that indicates that this entity should store its state in an event sourced fashion.

    loc

    The location of the option.

  50. case class EntityFiniteStateMachine(loc: Location) extends EntityOption with Product with Serializable

    An EntityOption that indicates that this entity is intended to implement a finite state machine.

    An EntityOption that indicates that this entity is intended to implement a finite state machine.

    loc

    The location of the option.

  51. case class EntityKind(loc: Location, args: Seq[LiteralString]) extends EntityOption with Product with Serializable

    An EntityOption that indicates the general kind of entity being defined.

    An EntityOption that indicates the general kind of entity being defined. This option takes a value which provides the kind. Examples of useful kinds are "device", "actor", "concept", "machine", and similar kinds of entities. This entity option may be used by downstream AST processors, especially code generators.

    loc

    The location of the entity kind option

    args

    The argument to the option

  52. case class EntityMessageQueue(loc: Location) extends EntityOption with Product with Serializable

    An EntityOption that indicates that this entity should allow receipt of commands and queries via a message queue.

    An EntityOption that indicates that this entity should allow receipt of commands and queries via a message queue.

    loc

    The location at which this option occurs.

  53. sealed abstract class EntityOption extends EntityValue with OptionValue

    Abstract base class of options for entities

  54. case class EntityRef(loc: Location, id: PathIdentifier) extends Reference[Entity] with Product with Serializable

    A reference to an entity

    A reference to an entity

    loc

    The location of the entity reference

    id

    The path identifier of the referenced entity.

  55. case class EntityTransient(loc: Location) extends EntityOption with Product with Serializable

    An EntityOption that indicates that this entity should not persist its state and is only available in transient memory.

    An EntityOption that indicates that this entity should not persist its state and is only available in transient memory. All entity values will be lost when the service is stopped.

    loc

    The location of the option.

  56. sealed trait EntityValue extends RiddlValue

    Base trait of any value used in the definition of an entity

  57. case class EntityValueOption(loc: Location) extends EntityOption with Product with Serializable

    An EntityOption that indicates that this entity should store only the latest value without using event sourcing.

    An EntityOption that indicates that this entity should store only the latest value without using event sourcing. In other words, the history of changes is not stored.

    loc

    The location of the option

  58. case class Enumeration(loc: Location, enumerators: Seq[Enumerator]) extends TypeExpression with Container[Enumerator] with Product with Serializable

    A type expression that defines its range of possible values as being one value from a set of enumerated values.

    A type expression that defines its range of possible values as being one value from a set of enumerated values.

    loc

    The location of the enumeration type expression

    enumerators

    The set of enumerators from which the value of this enumeration may be chosen.

  59. case class Enumerator(loc: Location, id: Identifier, enumVal: Option[LiteralInteger] = None, brief: Option[LiteralString] = Option.empty[LiteralString], description: Option[Description] = None) extends Definition with Product with Serializable

    Represents one variant among (one or) many variants that comprise an Enumeration

    Represents one variant among (one or) many variants that comprise an Enumeration

    id

    the identifier (name) of the Enumerator

    enumVal

    the optional int value

    brief

    A brief description (one sentence) for use in documentation

    description

    the description of the enumerator. Each Enumerator in an enumeration may define independent descriptions

  60. case class ErrorAction(loc: Location, message: LiteralString, description: Option[Description]) extends SagaStepAction with Product with Serializable

    An action that is intended to generate a runtime error in the generated application or otherwise indicate an error condition

    An action that is intended to generate a runtime error in the generated application or otherwise indicate an error condition

    loc

    The location where the action occurs in the source

    message

    The error message to report

    description

    An optional description of the action

  61. case class EventActionA8n(loc: Location, id: Identifier, messageRef: EventRef, actions: Seq[Action] = Seq.empty[Action], examples: Seq[Example] = Seq.empty[Example], brief: Option[LiteralString] = Option.empty[LiteralString], description: Option[Description] = Option.empty[Description]) extends Adaptation with Product with Serializable

    An adaptation that takes an action on event receipt

    An adaptation that takes an action on event receipt

    loc

    The location of the ActionAdaptation

    id

    The identifier for this ActionAdaptation

    messageRef

    The event to which this adaptation adapts, inherited from Adaptation

    actions

    The actions to be taken when messageRef is received

    brief

    The brief description of this adaptation

    description

    The full description of this adaptation

  62. case class EventCommandA8n(loc: Location, id: Identifier, messageRef: EventRef, command: CommandRef, examples: Seq[Example] = Seq.empty[Example], brief: Option[LiteralString] = Option.empty[LiteralString], description: Option[Description] = None) extends Adaptation with Product with Serializable

    The specification of a single adaptation based on message

    The specification of a single adaptation based on message

    loc

    The location of the adaptation definition

    id

    The name of the adaptation

    messageRef

    The event that triggers the adaptation, inherited from Adaptation

    command

    The command that adapts the event to the bounded context

    examples

    Optional set of Gherkin Examples to define the adaptation

    brief

    A brief description (one sentence) for use in documentation

    description

    Optional description of the adaptation.

  63. case class EventRef(loc: Location, id: PathIdentifier) extends Reference[Type] with MessageRef with Product with Serializable

    A Reference to an event type

    A Reference to an event type

    loc

    The location of the reference

    id

    The path identifier to the event type

  64. case class Example(loc: Location, id: Identifier, givens: Seq[GivenClause] = Seq.empty[GivenClause], whens: Seq[WhenClause] = Seq.empty[WhenClause], thens: Seq[ThenClause] = Seq.empty[ThenClause], buts: Seq[ButClause] = Seq.empty[ButClause], brief: Option[LiteralString] = Option.empty[LiteralString], description: Option[Description] = Option.empty[Description]) extends ProcessorDefinition with Product with Serializable

    A Gherkin example.

    A Gherkin example. Examples have names, id, and a sequence of each of the four kinds of Gherkin clauses: GivenClause, WhenClause, ThenClause, ButClause

    loc

    The location of the start of the example

    id

    The name of the example

    givens

    The list of Given/And statements

    whens

    The list of When/And statements

    thens

    The list of Then/And statements

    buts

    The List of But/And statements

    brief

    A brief description (one sentence) for use in documentation

    description

    An optional description of the example

    See also

    The Gherkin Reference

  65. sealed trait Expression extends RiddlValue

    Base trait of all expressions

  66. case class False(loc: Location) extends Condition with Product with Serializable

    A condition value for "false"

    A condition value for "false"

    loc

    The location of this expression value

  67. case class Field(loc: Location, id: Identifier, typeEx: TypeExpression, brief: Option[LiteralString] = Option.empty[LiteralString], description: Option[Description] = None) extends Definition with Product with Serializable

    A definition that is a field of an aggregation type expressions.

    A definition that is a field of an aggregation type expressions. Fields associate an identifier with a type expression.

    loc

    The location of the field definition

    id

    The name of the field

    typeEx

    The type of the field

    brief

    A brief description (one sentence) for use in documentation

    description

    An optional description of the field.

  68. case class FileDescription(loc: Location, file: Path) extends Description with Product with Serializable
  69. case class Flow(loc: Location) extends ProcessorShape with Product with Serializable
  70. case class Function(loc: Location, id: Identifier, input: Option[Aggregation] = None, output: Option[Aggregation] = None, examples: Seq[Example] = Seq.empty[Example], brief: Option[LiteralString] = Option.empty[LiteralString], description: Option[Description] = None) extends ParentDefOf[Example] with EntityDefinition with ContextDefinition with Product with Serializable

    A function definition which can be part of a bounded context or an entity.

    A function definition which can be part of a bounded context or an entity.

    loc

    The location of the function definition

    id

    The identifier that names the function

    input

    An optional type expression that names and types the fields of the input of the function

    output

    An optional type expression that names and types the fields of the output of the function

    examples

    The set of examples that define the behavior of the function.

    brief

    A brief description (one sentence) for use in documentation

    description

    An optional description of the function.

  71. case class FunctionCallAction(loc: Location, function: PathIdentifier, arguments: ArgList, description: Option[Description] = None) extends Expression with Condition with SagaStepAction with Product with Serializable
  72. case class FunctionCallExpression(loc: Location, name: PathIdentifier, arguments: ArgList) extends Expression with Condition with Product with Serializable

    A RIDDL Function call.

    A RIDDL Function call. The only callable thing here is a function identified by its path identifier with a matching set of arguments

    loc

    The location of the function call expression

    name

    The path identifier of the RIDDL Function being called

    arguments

    An ArgList to pass to the function.

  73. case class FunctionOption(loc: Location) extends ContextOption with Product with Serializable

    A context's "function" option that suggests

    A context's "function" option that suggests

    loc

    The location of the function option

  74. case class FunctionRef(loc: Location, id: PathIdentifier) extends Reference[Function] with Product with Serializable

    A reference to a function.

    A reference to a function.

    loc

    The location of the function reference.

    id

    The path identifier of the referenced function.

  75. case class GatewayOption(loc: Location) extends ContextOption with Product with Serializable

    A context's "gateway" option that suggests the bounded context is intended to be an application gateway to the model.

    A context's "gateway" option that suggests the bounded context is intended to be an application gateway to the model. Gateway's provide authentication and authorization access to external systems, usually user applications.

    loc

    The location of the gateway option

  76. sealed trait GherkinClause extends GherkinValue

    Base class of one of the four Gherkin clauses (Given, When, Then, But)

  77. sealed trait GherkinValue extends RiddlValue

    Base class of any Gherkin value

  78. case class GivenClause(loc: Location, scenario: Seq[LiteralString]) extends GherkinClause with Product with Serializable

    A GherkinClause for the Given part of a Gherkin Example

    A GherkinClause for the Given part of a Gherkin Example

    loc

    The location of the Given clause

    scenario

    The strings that define the scenario

  79. case class GroupExpression(loc: Location, expression: Expression) extends Expression with Product with Serializable

    A syntactic convenience for grouping another expression.

    A syntactic convenience for grouping another expression.

    loc

    The location of the expression group

    expression

    The expression that is grouped

  80. case class Handler(loc: Location, id: Identifier, stateName: Option[Identifier] = None, clauses: Seq[OnClause] = Seq.empty[OnClause], brief: Option[LiteralString] = Option.empty[LiteralString], description: Option[Description] = None) extends ParentDefOf[OnClause] with ContextDefinition with EntityDefinition with Product with Serializable

    A named handler of messages (commands, events, queries) that bundles together a set of OnClause definitions and by doing so defines the behavior of an entity.

    A named handler of messages (commands, events, queries) that bundles together a set of OnClause definitions and by doing so defines the behavior of an entity. Note that entities may define multiple handlers and switch between them to change how it responds to messages over time or in response to changing conditions

    loc

    The location of the handler definition

    id

    The name of the handler.

    clauses

    The set of OnClause definitions that define how the entity responds to received messages.

    brief

    A brief description (one sentence) for use in documentation

    description

    An optional description of the handler

  81. sealed trait HandlerDefinition extends Definition
  82. case class HandlerRef(loc: Location, id: PathIdentifier) extends Reference[Handler] with Product with Serializable

    A reference to a Handler

    A reference to a Handler

    loc

    The location of the handler reference

    id

    The path identifier of the referenced handler

  83. case class Identifier(loc: Location, value: String) extends RiddlValue with Product with Serializable

    A RiddlValue that is a parsed identifier, typically the name of a definition.

    A RiddlValue that is a parsed identifier, typically the name of a definition.

    loc

    The location in the input where the identifier starts

    value

    The parsed value of the identifier

  84. case class Include(loc: Location = Location(RiddlParserInput.empty), contents: Seq[Definition] = Seq.empty[ParentDefOf[Definition]], path: Option[Path] = None) extends ParentDefOf[Definition] with AdaptorDefinition with ContextDefinition with DomainDefinition with EntityDefinition with PlantDefinition with Product with Serializable
  85. case class Inlet(loc: Location, id: Identifier, type_: TypeRef, entity: Option[EntityRef] = None, brief: Option[LiteralString] = None, description: Option[Description] = None) extends Streamlet with Product with Serializable

    A streamlet that supports input of data of a particular type.

    A streamlet that supports input of data of a particular type.

    loc

    The location of the Inlet definition

    id

    The name of the inlet

    type_

    The type of the data that is received from the inlet

    brief

    A brief description (one sentence) for use in documentation

    description

    An optional description of the Inlet

  86. case class InletJoint(loc: Location, id: Identifier, inletRef: InletRef, pipe: PipeRef, brief: Option[LiteralString] = Option.empty[LiteralString], description: Option[Description] = None) extends Joint with Product with Serializable

    A joint that connects an Processor's Inlet to a Pipe.

    A joint that connects an Processor's Inlet to a Pipe.

    loc

    The location of the InletJoint

    id

    The name of the inlet joint

    inletRef

    A reference to the inlet being connected

    pipe

    A reference to the pipe being connected

    brief

    A brief description (one sentence) for use in documentation

    description

    An optional description of the joint

  87. case class InletRef(loc: Location, id: PathIdentifier) extends Reference[Inlet] with StreamletRef[Inlet] with Product with Serializable

    A reference to an Inlet

    A reference to an Inlet

    loc

    The location of the inlet reference

    id

    The path identifier of the referenced Inlet

  88. case class Integer(loc: Location) extends PredefinedType with Product with Serializable

    A predefined type expression for an integer value

    A predefined type expression for an integer value

    loc

    The location of the integer type expression

  89. case class Invariant(loc: Location, id: Identifier, expression: Condition, brief: Option[LiteralString] = Option.empty[LiteralString], description: Option[Description] = None) extends EntityDefinition with Product with Serializable

    An invariant expression that can be used in the definition of an entity.

    An invariant expression that can be used in the definition of an entity. Invariants provide conditional expressions that must be true at all times in the lifecycle of an entity.

    loc

    The location of the invariant definition

    id

    The name of the invariant

    expression

    The conditional expression that must always be true.

    brief

    A brief description (one sentence) for use in documentation

    description

    An optional description of the invariant.

  90. sealed trait Joint extends PlantDefinition with ContextDefinition

    Sealed base trait for both kinds of Joint definitions

  91. case class LatLong(loc: Location) extends PredefinedType with Product with Serializable

    A predefined type expression for a location on earth given in latitude and longitude.

    A predefined type expression for a location on earth given in latitude and longitude.

    loc

    The location of the LatLong type expression.

  92. case class LiteralDecimal(loc: Location, d: BigDecimal) extends Expression with Product with Serializable

    An expression that is a liberal constant decimal value

    An expression that is a liberal constant decimal value

    loc

    The location of the decimal value

    d

    The decimal number to use as the value of the expression

  93. case class LiteralInteger(loc: Location, n: BigInt) extends Expression with Product with Serializable

    An expression that is a literal constant integer value

    An expression that is a literal constant integer value

    loc

    The location of the integer value

    n

    The number to use as the value of the expression

  94. case class LiteralString(loc: Location, s: String) extends Condition with Product with Serializable

    Represents a literal string parsed between quote characters in the input

    Represents a literal string parsed between quote characters in the input

    loc

    The location in the input of the opening quote character

    s

    The parsed value of the string content

  95. case class Mapping(loc: Location, from: TypeExpression, to: TypeExpression) extends TypeExpression with Product with Serializable

    A type expressions that defines a mapping from a key to a value.

    A type expressions that defines a mapping from a key to a value. The value of a mapping is the set of mapped key -> value pairs, based on which keys have been provided values.

    loc

    The location of the mapping type expression

    from

    The type expression for the keys of the mapping

    to

    The type expression for the values of the mapping

  96. case class Merge(loc: Location) extends ProcessorShape with Product with Serializable
  97. case class MessageConstructor(msg: MessageRef, args: ArgList = ArgList()) extends RiddlNode with Product with Serializable

    A helper class for publishing messages that represents the construction of the message to be sent.

    A helper class for publishing messages that represents the construction of the message to be sent.

    msg

    A message reference that specifies the specific type of message to construct

    args

    An argument list that should correspond to teh fields of the message

  98. sealed trait MessageKind extends AnyRef

    Base of an enumeration for the four kinds of message types

  99. sealed trait MessageRef extends Reference[Type]

    Base trait for the four kinds of message references

  100. case class MessageType(loc: Location, messageKind: MessageKind, fields: Seq[Field] = Seq.empty[Field]) extends AggregateTypeExpression with EntityValue with Product with Serializable

    A type expression for an aggregation type expression that is marked as being one of the four message kinds.

    A type expression for an aggregation type expression that is marked as being one of the four message kinds.

    loc

    The location of the message type expression

    messageKind

    The kind of message defined

    fields

    The fields of the message's aggregation

  101. case class MorphAction(loc: Location, entity: EntityRef, state: StateRef, description: Option[Description] = None) extends Action with Product with Serializable

    An action that morphs the state of an entity to a new structure

    An action that morphs the state of an entity to a new structure

    loc

    The location of the morph action in the source

    entity

    The entity to be affected

    state

    The reference to the new state structure

    description

    An optional description of this action

  102. case class Multi(loc: Location) extends ProcessorShape with Product with Serializable
  103. abstract class MultiCondition extends Condition

    Base class for conditions with two operands

  104. case class NotCondition(loc: Location, cond1: Condition) extends Condition with Product with Serializable

    Not condition

    Not condition

    loc

    Location of the not condition

    cond1

    The condition being negated

  105. case class Nothing(loc: Location) extends PredefinedType with Product with Serializable

    A predefined type expression for a type that can have no values

    A predefined type expression for a type that can have no values

    loc

    The location of the nothing type expression.

  106. case class Number(loc: Location) extends PredefinedType with Product with Serializable

    A predefined type expression for an arbitrary number value

    A predefined type expression for an arbitrary number value

    loc

    The location of the number type expression

  107. case class OnClause(loc: Location, msg: MessageRef, examples: Seq[Example] = Seq.empty[Example], brief: Option[LiteralString] = Option.empty[LiteralString], description: Option[Description] = None) extends ParentDefOf[Example] with HandlerDefinition with Product with Serializable

    Defines the actions to be taken when a particular message is received by an entity.

    Defines the actions to be taken when a particular message is received by an entity. OnClauses are used in the definition of a Handler with one for each kind of message that handler deals with.

    loc

    The location of the "on" clause

    msg

    A reference to the message type that is handled

    examples

    A set of examples that define the behavior when the msg is received.

    brief

    A brief description (one sentence) for use in documentation

    description

    An optional description of the on clause.

  108. case class OneOrMore(loc: Location, typeExp: TypeExpression) extends Cardinality with Product with Serializable

    A cardinality type expression that indicates another type expression as having one or more instances.

    A cardinality type expression that indicates another type expression as having one or more instances.

    loc

    The location of the one-or-more cardinality

    typeExp

    The type expression that is indicated with a cardinality of one or more.

  109. trait OptionValue extends RiddlValue

    Base trait for option values for any option of a definition.

  110. case class Optional(loc: Location, typeExp: TypeExpression) extends Cardinality with Product with Serializable

    A cardinality type expression that indicates another type expression as being optional; that is with a cardinality of 0 or 1.

    A cardinality type expression that indicates another type expression as being optional; that is with a cardinality of 0 or 1.

    loc

    The location of the optional cardinality

    typeExp

    The type expression that is indicated as optional

  111. trait OptionsDef[T <: OptionValue] extends RiddlValue

    Base trait that can be used in any definition that takes options and ensures the options are defined, can be queried, and formatted.

    Base trait that can be used in any definition that takes options and ensures the options are defined, can be queried, and formatted.

    T

    The sealed base trait of the permitted options for this definition

  112. case class OrCondition(loc: Location, conditions: Seq[Condition]) extends MultiCondition with Product with Serializable

    Or condition

    Or condition

    loc

    Location of the or condition

    conditions

    The conditions (minimum 2), any one of which must be true for "Or" to be true

  113. case class OtherRef(loc: Location) extends Reference[Type] with MessageRef with Product with Serializable
  114. case class Outlet(loc: Location, id: Identifier, type_: TypeRef, entity: Option[EntityRef] = None, brief: Option[LiteralString] = None, description: Option[Description] = None) extends Streamlet with Product with Serializable

    A streamlet that supports output of data of a particular type.

    A streamlet that supports output of data of a particular type.

    loc

    The location of the outlet definition

    id

    The name of the outlet

    type_

    The type expression for the kind of data put out

    brief

    A brief description (one sentence) for use in documentation

    description

    An optional description of the Outlet.

  115. case class OutletJoint(loc: Location, id: Identifier, outletRef: OutletRef, pipe: PipeRef, brief: Option[LiteralString] = Option.empty[LiteralString], description: Option[Description] = None) extends Joint with Product with Serializable

    A joint that connects a Processor's Outlet to a Pipe.

    A joint that connects a Processor's Outlet to a Pipe.

    loc

    The location of the OutletJoint

    id

    The name of the OutletJoint

    outletRef

    A reference to the outlet being connected

    pipe

    A reference to the pipe being connected

    brief

    A brief description (one sentence) for use in documentation

    description

    An optional description of the OutletJoint

  116. case class OutletRef(loc: Location, id: PathIdentifier) extends Reference[Outlet] with StreamletRef[Outlet] with Product with Serializable

    A reference to an Outlet

    A reference to an Outlet

    loc

    The location of the outlet reference

    id

    The path identifier of the referenced Outlet

  117. case class ParallelOption(loc: Location) extends SagaOption with Product with Serializable

    A SagaOption that indicates parallel execution of the saga actions.

    A SagaOption that indicates parallel execution of the saga actions.

    loc

    The location of the parallel option

  118. sealed trait ParentDefOf[+D <: Definition] extends Definition with Container[D]

    The parent of a definition as a definition and a container.

    The parent of a definition as a definition and a container. This type is widely used to reference any definition that contains other definitions and is therefore the basis for traversal of the tree.

    D

    The kind of definition that is contained by the container

  119. case class PathIdentifier(loc: Location, value: Seq[String]) extends RiddlValue with Product with Serializable

    Represents a segmented identifier to a definition in the model.

    Represents a segmented identifier to a definition in the model. Path Identifiers are parsed from a dot-separated list of identifiers in the input. Path identifiers are used to reference other definitions in the model.

    loc

    Location in the input of the first letter of the path identifier

    value

    The list of strings that make up the path identifier

  120. case class Pattern(loc: Location, pattern: Seq[LiteralString]) extends TypeExpression with Product with Serializable

    A type expression that defines a string value constrained by a Java Regular Expression

    A type expression that defines a string value constrained by a Java Regular Expression

    loc

    The location of the pattern type expression

    pattern

    The Java Regular Expression to which values of this type expression must obey.

    See also

    https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/regex/Pattern.html

  121. case class Pipe(loc: Location, id: Identifier, transmitType: Option[TypeRef], brief: Option[LiteralString] = None, description: Option[Description] = None) extends PlantDefinition with ContextDefinition with Product with Serializable

    Definition of a pipe for data streaming purposes.

    Definition of a pipe for data streaming purposes. Pipes are conduits through which data of a particular type flows.

    loc

    The location of the pipe definition

    id

    The name of the pipe

    transmitType

    The type of data transmitted.

    brief

    A brief description (one sentence) for use in documentation

    description

    An optional description of the pipe.

  122. case class PipeRef(loc: Location, id: PathIdentifier) extends Reference[Pipe] with Product with Serializable

    A reference to a pipe

    A reference to a pipe

    loc

    The location of the pipe reference

    id

    The path identifier for the referenced pipe.

  123. case class Plant(loc: Location, id: Identifier, pipes: Seq[Pipe] = Seq.empty[Pipe], processors: Seq[Processor] = Seq.empty[Processor], inJoints: Seq[InletJoint] = Seq.empty[InletJoint], outJoints: Seq[OutletJoint] = Seq.empty[OutletJoint], terms: Seq[Term] = Seq.empty[Term], includes: Seq[Include] = Seq.empty[Include], brief: Option[LiteralString] = Option.empty[LiteralString], description: Option[Description] = None) extends ParentDefOf[PlantDefinition] with DomainDefinition with WithIncludes with WithTerms with Product with Serializable

    The definition of a plant which brings pipes, processors and joints together into a closed system of data processing.

    The definition of a plant which brings pipes, processors and joints together into a closed system of data processing.

    loc

    The location of the plant definition

    id

    The name of the plant

    pipes

    The set of pipes involved in the plant

    processors

    The set of processors involved in the plant.

    inJoints

    The InletJoints connecting pipes and processors

    outJoints

    The OutletJoints connecting pipes and processors

    brief

    A brief description (one sentence) for use in documentation

    description

    An optional description of the plant

  124. sealed trait PlantDefinition extends Definition

    Base trait of any definition that occurs in the body of a plant

  125. abstract class PredefinedType extends TypeExpression

    Base class of all pre-defined type expressions

  126. case class Processor(loc: Location, id: Identifier, shape: ProcessorShape, inlets: Seq[Inlet], outlets: Seq[Outlet], examples: Seq[Example], brief: Option[LiteralString] = Option.empty[LiteralString], description: Option[Description] = None) extends ParentDefOf[ProcessorDefinition] with PlantDefinition with ContextDefinition with Product with Serializable

    A computing element for processing data from Inlets to Outlets.

    A computing element for processing data from Inlets to Outlets. A processor's processing is specified by Gherkin Examples

    loc

    The location of the Processor definition

    id

    The name of the processor

    shape

    The shape of the processor's inputs and outputs

    inlets

    The list of inlets that provide the data the processor needs

    outlets

    The list of outlets that the processor produces

    examples

    A set of examples that define the data processing

    brief

    A brief description (one sentence) for use in documentation

    description

    An optional description of the processor

  127. trait ProcessorDefinition extends Definition

    Base trait of definitions defined in a processor

  128. sealed trait ProcessorShape extends RiddlValue
  129. case class PublishAction(loc: Location, msg: MessageConstructor, pipe: PipeRef, description: Option[Description] = None) extends SagaStepAction with Product with Serializable

    An action that publishes a message to a pipe

    An action that publishes a message to a pipe

    loc

    The location in the source of the publish action

    msg

    The constructed message to be published

    pipe

    The pipe onto which the message is published

    description

    An optional description of the action

  130. case class QueryRef(loc: Location, id: PathIdentifier) extends Reference[Type] with MessageRef with Product with Serializable

    A reference to a query type

    A reference to a query type

    loc

    The location of the reference

    id

    The path identifier to the query type

  131. case class RangeType(loc: Location, min: LiteralInteger, max: LiteralInteger) extends TypeExpression with Product with Serializable

    A type expression that defines a set of integer values from a minimum value to a maximum value, inclusively.

    A type expression that defines a set of integer values from a minimum value to a maximum value, inclusively.

    loc

    The location of the range type expression

    min

    The minimum value of the range

    max

    The maximum value of the range

  132. case class Real(loc: Location) extends PredefinedType with Product with Serializable

    A predefined type expression for a real number value.

    A predefined type expression for a real number value.

    loc

    The locaiton of the real number type expression

  133. sealed abstract class Reference[+T <: Definition] extends RiddlValue

    A reference to a definition of a specific type.

    A reference to a definition of a specific type.

    T

    The type of definition to which the references refers.

  134. case class ReferenceType(loc: Location, entity: EntityRef) extends TypeExpression with Product with Serializable

    A type expression whose value is a reference to an entity.

    A type expression whose value is a reference to an entity.

    loc

    The location of the reference type expression

    entity

    The entity referenced by this type expression.

  135. case class ReplyAction(loc: Location, msg: MessageConstructor, description: Option[Description] = None) extends SagaStepAction with Product with Serializable

    An action that tells a message to an entity.

    An action that tells a message to an entity. This is very analogous to the tell operator in Akka.

    loc

    The location of the tell action

    msg

    A constructed message value to send to the entity, probably a command

    description

    An optional description for this action

  136. case class ResultRef(loc: Location, id: PathIdentifier) extends Reference[Type] with MessageRef with Product with Serializable

    A reference to a result type

    A reference to a result type

    loc

    The location of the reference

    id

    The path identifier to the result type

  137. sealed trait RiddlNode extends AnyRef

    The root trait of all things RIDDL AST.

    The root trait of all things RIDDL AST. Every node in the tree is a RiddlNode.

  138. sealed trait RiddlValue extends RiddlNode

    The root trait of all parsable values.

    The root trait of all parsable values. If a parser returns something, its a RiddlValue

  139. case class RootContainer(contents: Seq[Domain] = Nil, inputs: Seq[RiddlParserInput] = Nil) extends ParentDefOf[Domain] with Product with Serializable

    The root of the containment hierarchy, corresponding roughly to a level about a file.

    The root of the containment hierarchy, corresponding roughly to a level about a file.

    contents

    The sequence of domains contained by this root container

  140. case class Saga(loc: Location, id: Identifier, options: Seq[SagaOption] = Seq.empty[SagaOption], input: Option[Aggregation], output: Option[Aggregation], sagaSteps: Seq[SagaStep] = Seq.empty[SagaStep], brief: Option[LiteralString] = Option.empty[LiteralString], description: Option[Description] = None) extends ParentDefOf[SagaStep] with OptionsDef[SagaOption] with ContextDefinition with Product with Serializable

    The definition of a Saga based on inputs, outputs, and the set of SagaSteps involved in the saga.

    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.

  141. sealed trait SagaOption extends OptionValue

    Base trait for all options applicable to a saga.

  142. case class SagaStep(loc: Location, id: Identifier, doAction: SagaStepAction, undoAction: SagaStepAction, examples: Seq[Example], brief: Option[LiteralString] = Option.empty[LiteralString], description: Option[Description] = None) extends ParentDefOf[Example] with Product with Serializable

    The definition of one step in a saga with its undo step and example.

    The definition of one step in a saga with its undo step and example.

    loc

    The location of the saga action definition

    id

    The name of the SagaAction

    doAction

    The command to be done.

    undoAction

    The command that undoes doAction

    examples

    An list of examples for the intended behavior

    brief

    A brief description (one sentence) for use in documentation

    description

    An optional description of the saga action

  143. sealed trait SagaStepAction extends Action

    An action that can also be used in a SagaStep

  144. case class SequentialOption(loc: Location) extends SagaOption with Product with Serializable

    A SagaOption that indicates sequential (serial) execution of the saga actions.

    A SagaOption that indicates sequential (serial) execution of the saga actions.

    loc

    The location of the sequential option

  145. case class ServiceOption(loc: Location) extends ContextOption with Product with Serializable

    A context's "service" option.

    A context's "service" option. This option suggests the bounded context is intended to be a DDD service, similar to a wrapper but without any persistent state and more of a stateless service aspect to its nature

    loc

    The location at which the option occurs

  146. case class SetAction(loc: Location, target: PathIdentifier, value: Expression, description: Option[Description] = None) extends Action with Product with Serializable

    An action whose behavior is to set the value of a state field to some expression

    An action whose behavior is to set the value of a state field to some expression

    loc

    The location where the action occurs int he source

    target

    The path identifier of the entity's state field that is to be set

    value

    An expression for the value to set the field to

    description

    An optional description of the action

  147. case class Sink(loc: Location) extends ProcessorShape with Product with Serializable
  148. case class Source(loc: Location) extends ProcessorShape with Product with Serializable
  149. case class Split(loc: Location) extends ProcessorShape with Product with Serializable
  150. case class State(loc: Location, id: Identifier, typeEx: Aggregation, brief: Option[LiteralString] = Option.empty[LiteralString], description: Option[Description] = None) extends ParentDefOf[Field] with EntityDefinition with Product with Serializable

    Represents the state of an entity.

    Represents the state of an entity. The MorphAction can cause the state definition of an entity to change.

    loc

    The location of the state definition

    id

    The name of the state definition

    typeEx

    The aggregation that provides the field name and type expression associations

    brief

    A brief description (one sentence) for use in documentation

    description

    An optional description of the state.

  151. case class StateRef(loc: Location, id: PathIdentifier) extends Reference[State] with Product with Serializable

    A reference to an entity's state definition

    A reference to an entity's state definition

    loc

    The location of the state reference

    id

    The path identifier of the referenced state definition

  152. case class Story(loc: Location, id: Identifier, role: LiteralString, capability: LiteralString, benefit: LiteralString, shownBy: Seq[java.net.URL], implementedBy: Seq[PathIdentifier], examples: Seq[Example] = Seq.empty[Example], brief: Option[LiteralString] = Option.empty[LiteralString], description: Option[Description] = None) extends ParentDefOf[Example] with DomainDefinition with Product with Serializable

    The definition of an agile user story.

    The definition of an agile user story. Stories define functionality from the perspective of a certain kind of user (man or machine), interacting with the system via some role. RIDDL extends the notion of an agile user story by allowing a linkage between the story and the RIDDL features that implement it.

    loc

    The location of the story definition

    id

    The name of the story

    role

    The role of the actor involved in the story

    capability

    The capability utilized by the actor in the story

    benefit

    The benefit, to the user, of using the capability.

    shownBy

    A list of URLs to visualizations or other materials related to the story

    implementedBy

    A list of PathIdentifiers, presumably contexts, that implement the story

    examples

    Gherkin examples to specify "done" for the implementation of the user story

    brief

    A brief description (one sentence) for use in documentation

    description

    An optional description of the

  153. trait Streamlet extends ProcessorDefinition

    Base trait of an Inlet or Outlet definition

  154. sealed trait StreamletRef[+T <: Definition] extends Reference[T]

    Sealed base trait of references to Inlets or Outlets

    Sealed base trait of references to Inlets or Outlets

    T

    The type of definition to which the references refers.

  155. case class Strng(loc: Location, min: Option[LiteralInteger] = None, max: Option[LiteralInteger] = None) extends PredefinedType with Product with Serializable

    A type expression for values of arbitrary string type, possibly bounded by length.

    A type expression for values of arbitrary string type, possibly bounded by length.

    loc

    The location of the Strng type expression

    min

    The minimum length of the string (default: 0)

    max

    The maximum length of the string (default: MaxInt)

  156. case class TellAction(loc: Location, msg: MessageConstructor, entity: EntityRef, description: Option[Description] = None) extends SagaStepAction with Product with Serializable

    An action that tells a message to an entity.

    An action that tells a message to an entity. This is very analogous to the tell operator in Akka.

    loc

    The location of the tell action

    msg

    A constructed message value to send to the entity, probably a command

    entity

    The entity to which the message is directed

    description

    An optional description for this action

  157. case class Term(loc: Location, id: Identifier, brief: Option[LiteralString] = None, description: Option[Description] = None) extends DomainDefinition with ContextDefinition with PlantDefinition with Product with Serializable

    A term definition for the glossary

  158. case class Ternary(loc: Location, condition: Condition, expr1: Expression, expr2: Expression) extends Condition with Product with Serializable

    Ternary operator to accept a conditional and two expressions and choose one of the expressions as the resulting value based on the conditional.

    Ternary operator to accept a conditional and two expressions and choose one of the expressions as the resulting value based on the conditional.

    loc

    The location of the ternary operator

    condition

    The conditional expression that determines the result

    expr1

    An expression for the result if the condition is true

    expr2

    An expression for the result if the condition is false

  159. case class ThenClause(loc: Location, action: Action) extends GherkinClause with Product with Serializable

    A GherkinClause for the Then part of a Gherkin Example.

    A GherkinClause for the Then part of a Gherkin Example. This part specifies what should be done if the WhenClause evaluates to true.

    loc

    The location of the Then clause

    action

    The action to be performed

  160. case class Time(loc: Location) extends PredefinedType with Product with Serializable

    A predefined type expression for a clock time with hours, minutes, seconds.

    A predefined type expression for a clock time with hours, minutes, seconds.

    loc

    The location of the time type expression.

  161. case class TimeStamp(loc: Location) extends PredefinedType with Product with Serializable

    A predefined type expression for a timestamp that records the number of milliseconds from the epoch.

    A predefined type expression for a timestamp that records the number of milliseconds from the epoch.

    loc

    The location of the timestamp

  162. case class True(loc: Location) extends Condition with Product with Serializable

    A condition value for "true"

    A condition value for "true"

    loc

    The location of this expression value

  163. case class Type(loc: Location, id: Identifier, typ: TypeExpression, brief: Option[LiteralString] = Option.empty[LiteralString], description: Option[Description] = None) extends ParentDefOf[Definition] with ContextDefinition with EntityDefinition with DomainDefinition with Product with Serializable

    A type definition which associates an identifier with a type expression.

    A type definition which associates an identifier with a type expression.

    loc

    The location of the type definition

    id

    The name of the type being defined

    typ

    The type expression of the type being defined

    brief

    A brief description (one sentence) for use in documentation

    description

    An optional description of the type.

  164. sealed trait TypeExpression extends RiddlValue

    Base trait of an expression that defines a type

  165. case class TypeRef(loc: Location, id: PathIdentifier) extends Reference[Type] with TypeExpression with Product with Serializable

    A reference to a type definition

    A reference to a type definition

    loc

    The location in the source where the reference to the type is made

    id

    The path identifier of the reference type

  166. case class URL(loc: Location, scheme: Option[LiteralString] = None) extends PredefinedType with Product with Serializable

    A predefined type expression for a Uniform Resource Locator of a specific schema.

    A predefined type expression for a Uniform Resource Locator of a specific schema.

    loc

    The location of the URL type expression

    scheme

    The scheme to which the URL is constrained.

  167. case class UUID(loc: Location) extends PredefinedType with Product with Serializable

    A predefined type expression for a universally unique identifier as defined by the Java Virtual Machine.

    A predefined type expression for a universally unique identifier as defined by the Java Virtual Machine.

    loc

    The location of the UUID type expression

  168. case class UndefinedExpression(loc: Location) extends Expression with Condition with Product with Serializable

    Represents a condition expression that will be specified later and uses the ??? syntax to represent that condition.

    Represents a condition expression that will be specified later and uses the ??? syntax to represent that condition.

    loc

    The location of the undefined condition

  169. case class UniqueId(loc: Location, entityPath: PathIdentifier) extends TypeExpression with Product with Serializable

    A type expression for values that ensure a unique identifier for a specific entity.

    A type expression for values that ensure a unique identifier for a specific entity.

    loc

    The location of the unique identifier type expression

    entityPath

    The path identifier of the entity type

  170. case class ValueExpression(loc: Location, path: PathIdentifier) extends Expression with Condition with Product with Serializable

    Represents an expression that is merely a reference to some value, presumably an entity state value.

    Represents an expression that is merely a reference to some value, presumably an entity state value. Since it can be a boolean value, it is also a condition

    loc

    The location of this expression

    path

    The path to the value for this expression

  171. case class WhenClause(loc: Location, condition: Condition) extends GherkinClause with Product with Serializable

    A GherkinClause for the When part of a Gherkin Example

    A GherkinClause for the When part of a Gherkin Example

    loc

    The location of the When clause

    condition

    The condition expression that defines the trigger for the Example

  172. sealed trait WithIncludes extends AnyRef

    Added to definitions that support includes

  173. sealed trait WithTerms extends AnyRef

    Added to definitions that support a list of term definitions

  174. case class WrapperOption(loc: Location) extends ContextOption with Product with Serializable

    A context's "wrapper" option.

    A context's "wrapper" option. This option suggests the bounded context is to be used as a wrapper around an external system and is therefore at the boundary of the context map

    loc

    The location of the wrapper option

  175. case class XorCondition(loc: Location, conditions: Seq[Condition]) extends MultiCondition with Product with Serializable

    Xor condition

    Xor condition

    loc

    Location of the xor condition

    conditions

    The conditions (minimum 2), only one of which may be true for "xor" to be true.

  176. case class YieldAction(loc: Location, msg: MessageConstructor, description: Option[Description] = None) extends Action with Product with Serializable

    An action that places a message on an entity's event channel

    An action that places a message on an entity's event channel

    loc

    The location in the source of the publish action

    msg

    The constructed message to be yielded

    description

    An optional description of the yield action

  177. case class ZeroOrMore(loc: Location, typeExp: TypeExpression) extends Cardinality with Product with Serializable

    A cardinality type expression that indicates another type expression as having zero or more instances.

    A cardinality type expression that indicates another type expression as having zero or more instances.

    loc

    The location of the zero-or-more cardinality

    typeExp

    The type expression that is indicated with a cardinality of zero or more.

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  9. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. def keyword(definition: Definition): String

    A function to translate between a definition and the keyword that introduces them.

    A function to translate between a definition and the keyword that introduces them.

    definition

    The definition to look up

    returns

    A string providing the definition keyword, if any. Enumerators and fields don't have their own keywords

  12. def kind(te: TypeExpression): String

    A utility function for getting the kind of a type expression.

    A utility function for getting the kind of a type expression.

    te

    The type expression to examine

    returns

    A string indicating the kind corresponding to te

  13. def kind(c: Container[Definition]): String
  14. def kind(definition: DescribedValue): String

    A function to provide the kind of thing that a DescribedValue is

    A function to provide the kind of thing that a DescribedValue is

    definition

    The DescribedValue for which the kind is returned

    returns

    A string for the kind of DescribedValue

  15. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  17. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  18. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  19. def toString(): String
    Definition Classes
    AnyRef → Any
  20. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  21. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  22. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  23. case object CommandKind extends MessageKind with Product with Serializable

    An enumerator value for command types

  24. case object EventKind extends MessageKind with Product with Serializable

    An enumerator value for event types

  25. object Identifier extends Serializable
  26. case object OtherKind extends MessageKind with Product with Serializable
  27. object PredefinedType
  28. case object QueryKind extends MessageKind with Product with Serializable

    An enumerator value for query types

  29. case object ResultKind extends MessageKind with Product with Serializable

    An enumerator value for result types

  30. object RootContainer extends Serializable
  31. case object eq extends Comparator with Product with Serializable
  32. case object ge extends Comparator with Product with Serializable
  33. case object gt extends Comparator with Product with Serializable
  34. case object le extends Comparator with Product with Serializable
  35. case object lt extends Comparator with Product with Serializable
  36. case object ne extends Comparator with Product with Serializable

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from AnyRef

Inherited from Any

Ungrouped