AST

com.reactific.riddl.language.AST
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).

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
AST.type

Members list

Type members

Classlikes

case class Abstract(loc: At) extends PredefinedType

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.

Value parameters

loc

The location of the Bool type expression

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Adaptor(loc: At, id: Identifier, direction: AdaptorDirection, context: ContextRef, handlers: Seq[Handler], inlets: Seq[Inlet], outlets: Seq[Outlet], types: Seq[Type], constants: Seq[Constant], functions: Seq[Function], invariants: Seq[Invariant], includes: Seq[Include[AdaptorDefinition]], authors: Seq[AuthorRef], options: Seq[AdaptorOption], terms: Seq[Term], brief: Option[LiteralString], description: Option[Description]) extends Processor[AdaptorOption, AdaptorDefinition], ContextDefinition

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

Value parameters

brief

A brief description (one sentence) for use in documentation

context

A reference to the bounded context from which messages are adapted

description

Optional description of the adaptor.

direction

An indication of whether this is an inbound or outbound adaptor.

handlers

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

id

Name of the adaptor

loc

Location in the parsing input

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait WithTypes
trait WithTerms
trait WithAuthors
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait AdaptorDefinition extends Definition

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

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

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Function
class Handler
class Constant
class Inlet
class Invariant
class Outlet
class Type
class Include[T]
class Term
Show all
sealed trait AdaptorDirection extends RiddlValue

Attributes

Supertypes
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Known subtypes
sealed abstract class AdaptorOption(val name: String) extends OptionValue

Attributes

Supertypes
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
case class AdaptorRef(loc: At, pathId: PathIdentifier) extends ProcessorRef[Adaptor]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class AdaptorTechnologyOption(loc: At, args: Seq[LiteralString]) extends AdaptorOption

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait AggregateDefinition extends TypeDefinition

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Field
class Method

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

Attributes

Supertypes
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
sealed trait AggregateUseCase

Base of an enumeration for the four kinds of message types

Base of an enumeration for the four kinds of message types

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object CommandCase.type
object EventCase.type
object QueryCase.type
object RecordCase.type
object ResultCase.type
case class AggregateUseCaseTypeExpression(loc: At, usecase: AggregateUseCase, fields: Seq[Field], methods: Seq[Method]) extends AggregateTypeExpression

A type expression for an aggregation that is marked as being one of the use cases.

A type expression for an aggregation that is marked as being one of the use cases. This is used for messages, records, and other aggregate types that need to have their purpose distinguished.

Value parameters

fields

The fields of the message's aggregation

loc

The location of the message type expression

usecase

The kind of message defined

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Aggregation(loc: At, fields: Seq[Field], methods: Seq[Method]) extends AggregateTypeExpression

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.

Value parameters

fields

The fields of the aggregation

loc

The location of the aggregation definition

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
object Aggregation

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
case class AliasedTypeExpression(loc: At, pathId: PathIdentifier) extends TypeExpression

A TypeExpression that references another type by PathIdentifier

A TypeExpression that references another type by PathIdentifier

Value parameters

loc

The location of the AliasedTypeExpression

pathId

The path identifier to the aliased type

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Alternation(loc: At, of: Seq[AliasedTypeExpression]) extends TypeExpression

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.

Value parameters

loc

The location of the alternation type expression

of

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

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait AlwaysEmpty extends Definition

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Field
class Inlet
class Method
class Outlet
case class Application(loc: At, id: Identifier, options: Seq[ApplicationOption], types: Seq[Type], constants: Seq[Constant], invariants: Seq[Invariant], groups: Seq[Group], handlers: Seq[Handler], inlets: Seq[Inlet], outlets: Seq[Outlet], functions: Seq[Function], authors: Seq[AuthorRef], terms: Seq[Term], includes: Seq[Include[ApplicationDefinition]], brief: Option[LiteralString], description: Option[Description]) extends Processor[ApplicationOption, ApplicationDefinition], DomainDefinition

An application from which a person, robot, or other active agent (the user) will obtain information, or to which that user will provided information.

An application from which a person, robot, or other active agent (the user) will obtain information, or to which that user will provided information.

Value parameters

authors

Author definitions for the application, for attribution of application components.

brief

A brief description of the application

description

A longer description of the application.

groups

A list of group definitions needed by the application

handlers

The handlers for this application to process incoming messages

id

The unique identifier for the application

includes

Included source code

inlets

Message inlets for the application

loc

The location of the application in the source

options

The options for the application

outlets

Message outlets for the application

terms

Definitions of terms useful in comprehending the application's purpose

types

Types that are needed for the communication with the user

Attributes

Supertypes
sealed trait ApplicationDefinition extends Definition

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

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

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Function
class Group
class Handler
class Input
class Output
class Constant
class Inlet
class Invariant
class Outlet
class Type
class Include[T]
class Term
Show all
sealed abstract class ApplicationOption(val name: String) extends OptionValue

Attributes

Supertypes
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
case class ApplicationRef(loc: At, pathId: PathIdentifier) extends ProcessorRef[Application]

A reference to an Application using a path identifier

A reference to an Application using a path identifier

Value parameters

loc

THe location of the ApplicationRef in the source code

pathId

The path identifier that refers to the Application

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class ArbitraryInteraction(loc: At, id: Identifier, from: Reference[Definition], relationship: LiteralString, to: Reference[Definition], brief: Option[LiteralString], description: Option[Description]) extends GenericInteraction

An arbitrary interaction step.

An arbitrary interaction step. The abstract nature of the relationship is

Value parameters

brief

A brief description of the interaction step

from

A reference to the source of the interaction

loc

The location of the step

relationship

A literal spring that specifies the arbitrary relationship

to

A reference to the destination of the interaction

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Interaction
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class ArbitraryStatement(loc: At, what: LiteralString) extends Statement

A statement whose behavior is specified as a text string allowing an arbitrary action to be specified handled by RIDDL's syntax.

A statement whose behavior is specified as a text string allowing an arbitrary action to be specified handled by RIDDL's syntax.

Value parameters

loc

The location where the action occurs in the source

what

The action to take (emitted as pseudo-code)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Statement
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Author(loc: At, id: Identifier, name: LiteralString, email: LiteralString, organization: Option[LiteralString], title: Option[LiteralString], url: Option[URL], brief: Option[LiteralString], description: Option[Description]) extends LeafDefinition, RootDefinition, DomainDefinition

A value that holds the author's information

A value that holds the author's information

Value parameters

email

The author's email address

loc

The location of the author information

name

The full name of the author

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

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class AuthorRef(loc: At, pathId: PathIdentifier) extends Reference[Author]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Reference[Author]
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class BecomeStatement(loc: At, entity: EntityRef, handler: HandlerRef) extends Statement

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 user.

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 user.

Value parameters

entity

The entity whose behavior is to change

handler

The reference to the new handler for the entity

loc

The location in the source of the become action

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Statement
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class BlockDescription(loc: At, lines: Seq[LiteralString]) extends Description

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Description
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Bool(loc: At) extends PredefinedType, IntegerTypeExpression

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

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

Value parameters

loc

The location of the Bool type expression

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait NumericType
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait BrieflyDescribedValue extends RiddlValue

Attributes

Supertypes
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Known subtypes
trait Definition
class Function
class Handler
class Constant
class Inlet
class Invariant
class Outlet
class Type
class Include[T]
class Term
trait AlwaysEmpty
class Field
class Method
class Group
class Input
class Output
class Adaptor
class Connector
class Entity
class Projector
class Replica
class Repository
class Saga
class Streamlet
class Application
class Author
class Context
class Domain
class Epic
class User
class State
class UseCase
trait OnClause
class OnInitClause
class Enumerator
class SagaStep
trait Portlet
trait Interaction
trait VitalDefinition[OPT, DEF]
trait Processor[OPT, DEF]
trait WithAuthors
trait WithOptions[T]
trait WithTypes
Show all
case class CallStatement(loc: At, func: FunctionRef) extends Statement

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Statement
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait Cardinality extends TypeExpression

Base trait of the cardinality type expressions

Base trait of the cardinality type expressions

Attributes

Supertypes
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class OneOrMore
class Optional
class ZeroOrMore
case object CommandCase extends AggregateUseCase

An enumerator value for command types

An enumerator value for command types

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Self type
case class CommandRef(loc: At, id: Option[Identifier], pathId: PathIdentifier) extends MessageRef

A Reference to a command message type

A Reference to a command message type

Value parameters

loc

The location of the reference

pathId

The path identifier to the event type

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait MessageRef
class Reference[Type]
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed abstract class ConnectorOption(val name: String) extends OptionValue

Attributes

Supertypes
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
case class ConnectorPersistentOption(loc: At) extends ConnectorOption

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class ConnectorTechnologyOption(loc: At, args: Seq[LiteralString]) extends ConnectorOption

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all

A definition that represents a constant value for reference in behaviors

A definition that represents a constant value for reference in behaviors

Value parameters

brief

A brief descriptin of the constant

description

A detailed description of the constant

id

The unique identifier of the Constant

loc

The location in the source of the Constant

typeEx

The type expression goverining the range of values the constant can have

value

The value of the constant

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class ConstantRef(loc: At, pathId: PathIdentifier) extends Reference[Field]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Reference[Field]
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class ContainedGroup(loc: At, id: Identifier, group: GroupRef, brief: Option[LiteralString], description: Option[Description]) extends LeafDefinition, GroupDefinition

A Group contained within a group

A Group contained within a group

Value parameters

group

The contained group as a reference to that group

id

The name of the group contained

loc

Location of the contained group

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
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

Type parameters

D

The kind of definition that is contained by the container

Attributes

Supertypes
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Known subtypes
class Aggregation
trait Definition
class Function
class Handler
class Constant
class Inlet
class Invariant
class Outlet
class Type
class Include[T]
class Term
trait AlwaysEmpty
class Field
class Method
class Group
class Input
class Output
class Adaptor
class Connector
class Entity
class Projector
class Replica
class Repository
class Saga
class Streamlet
class Application
class Author
class Context
class Domain
class Epic
class User
class State
class UseCase
trait OnClause
class OnInitClause
class Enumerator
class SagaStep
trait Portlet
trait Interaction
trait VitalDefinition[OPT, DEF]
trait Processor[OPT, DEF]
trait WithAuthors
trait WithOptions[T]
trait WithTypes
trait WithIncludes[T]
Show all
case class Context(loc: At, id: Identifier, options: Seq[ContextOption], types: Seq[Type], constants: Seq[Constant], entities: Seq[Entity], adaptors: Seq[Adaptor], sagas: Seq[Saga], streamlets: Seq[Streamlet], functions: Seq[Function], terms: Seq[Term], invariants: Seq[Invariant], includes: Seq[Include[ContextDefinition]], handlers: Seq[Handler], projectors: Seq[Projector], repositories: Seq[Repository], inlets: Seq[Inlet], outlets: Seq[Outlet], connections: Seq[Connector], replicas: Seq[Replica], authors: Seq[AuthorRef], brief: Option[LiteralString], description: Option[Description]) extends Processor[ContextOption, ContextDefinition], DomainDefinition

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 projectors, sagas, adaptations to other contexts, apis, and etc.

Value parameters

adaptors

Adaptors to messages from other contexts

brief

A brief description (one sentence) for use in documentation

description

An optional description of the context

entities

Entities defined for the scope of this context

functions

Features specified for the context

id

The name of the context

loc

The location of the bounded context definition

options

The options for the context

sagas

Sagas with all-or-none semantics across various entities

types

Types defined for the scope of this context

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait WithTypes
trait WithTerms
trait WithAuthors
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
object Context

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Context.type
sealed trait ContextDefinition extends Definition

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

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

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Adaptor
class Connector
class Entity
class Function
class Handler
class Constant
class Inlet
class Invariant
class Outlet
class Type
class Projector
class Replica
class Repository
class Saga
class Streamlet
class Include[T]
class Term
Show all
sealed abstract class ContextOption(val name: String) extends OptionValue

Base trait for all options a Context can have.

Base trait for all options a Context can have.

Attributes

Supertypes
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
case class ContextPackageOption(loc: At, args: Seq[LiteralString]) extends ContextOption

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class ContextRef(loc: At, pathId: PathIdentifier) extends ProcessorRef[Context]

A reference to a bounded context

A reference to a bounded context

Value parameters

loc

The location of the reference

pathId

The path identifier for the referenced context

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class ContextTechnologyOption(loc: At, args: Seq[LiteralString]) extends ContextOption

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Currency(loc: At, country: String) extends PredefinedType

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Current(loc: At) extends PredefinedType, RealTypeExpression

A predefined type expression for the SI Base unit for Current (amperes)

A predefined type expression for the SI Base unit for Current (amperes)

Value parameters

loc

\- The locaitonof the current type expression

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait NumericType
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Date(loc: At) extends TimeType

A predefined type expression for a calendar date.

A predefined type expression for a calendar date.

Value parameters

loc

The location of the date type expression.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait TimeType
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class DateTime(loc: At) extends TimeType

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

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

Value parameters

loc

The location of the datetime type expression.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait TimeType
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Decimal(loc: At, whole: Long, fractional: Long) extends RealTypeExpression

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.

Value parameters

loc

The location of the decimal integer type expression

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait NumericType
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all

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

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

Attributes

Supertypes
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Function
class Handler
class Constant
class Inlet
class Invariant
class Outlet
class Type
class Include[T]
class Term
trait AlwaysEmpty
class Field
class Method
class Group
class Input
class Output
class Adaptor
class Connector
class Entity
class Projector
class Replica
class Repository
class Saga
class Streamlet
class Application
class Author
class Context
class Domain
class Epic
class User
class State
class UseCase
trait OnClause
class OnInitClause
class Enumerator
class SagaStep
trait Portlet
trait Interaction
trait VitalDefinition[OPT, DEF]
trait Processor[OPT, DEF]
trait WithAuthors
trait WithOptions[T]
trait WithTypes
Show all
sealed trait DescribedValue extends RiddlValue

Base trait of all values that have an optional Description

Base trait of all values that have an optional Description

Attributes

Supertypes
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Known subtypes
trait Definition
class Function
class Handler
class Constant
class Inlet
class Invariant
class Outlet
class Type
class Include[T]
class Term
trait AlwaysEmpty
class Field
class Method
class Group
class Input
class Output
class Adaptor
class Connector
class Entity
class Projector
class Replica
class Repository
class Saga
class Streamlet
class Application
class Author
class Context
class Domain
class Epic
class User
class State
class UseCase
trait OnClause
class OnInitClause
class Enumerator
class SagaStep
trait Portlet
trait Interaction
trait VitalDefinition[OPT, DEF]
trait Processor[OPT, DEF]
trait WithAuthors
trait WithOptions[T]
trait WithTypes
Show all
object Description

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
sealed 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.

Attributes

Companion
object
Supertypes
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Known subtypes
case class Domain(loc: At, id: Identifier, options: Seq[DomainOption], authors: Seq[AuthorRef], authorDefs: Seq[Author], types: Seq[Type], constants: Seq[Constant], contexts: Seq[Context], users: Seq[User], epics: Seq[Epic], sagas: Seq[Saga], applications: Seq[Application], domains: Seq[Domain], terms: Seq[Term], includes: Seq[Include[DomainDefinition]], brief: Option[LiteralString], description: Option[Description]) extends VitalDefinition[DomainOption, DomainDefinition], RootDefinition, WithTypes, DomainDefinition

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.

Value parameters

applications

Application definitions for this domain

brief

A brief description (one sentence) for use in documentation

contexts

The contexts defined in the scope of the domain

description

An optional description of the domain.

domains

Nested sub-domains within this domain

epics

Story definitions for this domain

id

The name of the domain

loc

The location of the domain definition

options

Options for the domain

terms

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

types

Type definitions with a domain (nearly global) scope, with applicability to many contexts or subdomains

users

User definitions for use in epics

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait WithTypes
trait WithTerms
trait WithAuthors
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait DomainDefinition extends Definition

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

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

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Application
class Author
class Constant
class Context
class Domain
class Epic
class Saga
class Type
class User
class Include[T]
class Term
Show all
case class DomainExternalOption(loc: At) extends DomainOption

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class DomainOption
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed abstract class DomainOption(val name: String) extends OptionValue

Base trait for all options a Domain can have.

Base trait for all options a Domain can have.

Attributes

Supertypes
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
case class DomainPackageOption(loc: At, args: Seq[LiteralString]) extends DomainOption

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

Value parameters

loc

The location of the wrapper option

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class DomainOption
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class DomainRef(loc: At, pathId: PathIdentifier) extends Reference[Domain]

A reference to a domain definition

A reference to a domain definition

Value parameters

loc

The location at which the domain definition occurs

pathId

The path identifier for the referenced domain.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Reference[Domain]
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class DomainTechnologyOption(loc: At, args: Seq[LiteralString]) extends DomainOption

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class DomainOption
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Duration(loc: At) extends TimeType

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

Value parameters

loc

The location of the duration type expression

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait TimeType
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Entity(loc: At, id: Identifier, options: Seq[EntityOption], states: Seq[State], types: Seq[Type], constants: Seq[Constant], handlers: Seq[Handler], functions: Seq[Function], invariants: Seq[Invariant], inlets: Seq[Inlet], outlets: Seq[Outlet], includes: Seq[Include[EntityDefinition]], authors: Seq[AuthorRef], terms: Seq[Term], brief: Option[LiteralString], description: Option[Description]) extends Processor[EntityOption, EntityDefinition], ContextDefinition

Definition of an Entity

Definition of an Entity

Value parameters

brief

A brief description (one sentence) for use in documentation

description

Optional description of the entity

functions

Utility functions defined for the entity

handlers

A set of event handlers

id

The name of the entity

invariants

Invariant properties of the entity

loc

The location in the input

options

The options for the entity

states

The state values of the entity

types

Type definitions useful internally to the entity definition

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait WithTypes
trait WithTerms
trait WithAuthors
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait EntityDefinition extends Definition

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

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

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Function
class Handler
class Constant
class Inlet
class Invariant
class Outlet
class Type
class State
class Include[T]
class Term
Show all
case class EntityEventSourced(loc: At) extends EntityOption

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.

Value parameters

loc

The location of the option.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class EntityOption
trait OptionValue
trait EntityValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class EntityIsAggregate(loc: At) extends EntityOption

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.

Value parameters

loc

The location of the option

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class EntityOption
trait OptionValue
trait EntityValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class EntityIsAvailable(loc: At) extends EntityOption

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.

Value parameters

loc

The location of the option.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class EntityOption
trait OptionValue
trait EntityValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class EntityIsConsistent(loc: At) extends EntityOption

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.

Value parameters

loc

The location of the option.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class EntityOption
trait OptionValue
trait EntityValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class EntityIsDevice(loc: At) extends EntityOption

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class EntityOption
trait OptionValue
trait EntityValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class EntityIsFiniteStateMachine(loc: At) extends EntityOption

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.

Value parameters

loc

The location of the option.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class EntityOption
trait OptionValue
trait EntityValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class EntityKind(loc: At, args: Seq[LiteralString]) extends EntityOption

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", "user", "concept", "machine", and similar kinds of entities. This entity option may be used by downstream AST processors, especially code generators.

Value parameters

args

The argument to the option

loc

The location of the entity kind option

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class EntityOption
trait OptionValue
trait EntityValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class EntityMessageQueue(loc: At) extends EntityOption

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.

Value parameters

loc

The location at which this option occurs.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class EntityOption
trait OptionValue
trait EntityValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed abstract class EntityOption(val name: String) extends EntityValue, OptionValue

Abstract base class of options for entities

Abstract base class of options for entities

Value parameters

name

the name of the option

Attributes

Supertypes
trait OptionValue
trait EntityValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
case class EntityRef(loc: At, pathId: PathIdentifier) extends ProcessorRef[Entity]

A reference to an entity

A reference to an entity

Value parameters

loc

The location of the entity reference

pathId

The path identifier of the referenced entity.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Reference[Entity]
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all

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

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

Value parameters

entity

The type of entity referenced by this type expression.

loc

The location of the reference type expression

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class EntityTechnologyOption(loc: At, args: Seq[LiteralString]) extends EntityOption

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class EntityOption
trait OptionValue
trait EntityValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class EntityTransient(loc: At) extends EntityOption

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.

Value parameters

loc

The location of the option.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class EntityOption
trait OptionValue
trait EntityValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait EntityValue extends RiddlValue

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

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

Attributes

Supertypes
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Known subtypes
case class EntityValueOption(loc: At) extends EntityOption

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.

Value parameters

loc

The location of the option

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class EntityOption
trait OptionValue
trait EntityValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Enumeration(loc: At, enumerators: Seq[Enumerator]) extends IntegerTypeExpression

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.

Value parameters

enumerators

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

loc

The location of the enumeration type expression

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait NumericType
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Enumerator(loc: At, id: Identifier, enumVal: Option[Long], brief: Option[LiteralString], description: Option[Description]) extends LeafDefinition, TypeDefinition

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

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

Value parameters

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

enumVal

the optional int value

id

the identifier (name) of the Enumerator

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Epic(loc: At, id: Identifier, userStory: Option[UserStory], shownBy: Seq[URL], cases: Seq[UseCase], authors: Seq[AuthorRef], includes: Seq[Include[EpicDefinition]], options: Seq[EpicOption], terms: Seq[Term], brief: Option[LiteralString], description: Option[Description]) extends VitalDefinition[EpicOption, EpicDefinition], DomainDefinition

The definition of an Epic that bundles multiple Jacobsen Use Cases into an overall story about user interactions with the system.

The definition of an Epic that bundles multiple Jacobsen Use Cases into an overall story about user interactions with the system. This define functionality from the perspective of users (men or machines) interactions with the system that is part of their role.

Value parameters

brief

A brief description (one sentence) for use in the glossary and summaries.

cases

A list of UseCase's that define the epic

description

An more detailed description of the Epic

id

The name of the Epic

loc

The location of the Epic definition

shownBy

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

userStory

The UserStory (per agile and xP) that provides the overall big picture of this Epic

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait WithTerms
trait WithAuthors
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait EpicDefinition extends Definition

Base trait of definitions that are in the body of a Story definition

Base trait of definitions that are in the body of a Story definition

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class UseCase
class Include[T]
class Term
sealed abstract class EpicOption(val name: String) extends OptionValue

Attributes

Supertypes
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
case class EpicRef(loc: At, pathId: PathIdentifier) extends Reference[Epic]

A reference to a Story definintion.

A reference to a Story definintion.

Value parameters

loc

Location of the StoryRef

pathId

The path id of the referenced Story

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Reference[Epic]
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class EpicSynchronousOption(loc: At) extends EpicOption

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class EpicOption
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class EpicTechnologyOption(loc: At, args: Seq[LiteralString]) extends EpicOption

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class EpicOption
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class ErrorStatement(loc: At, message: LiteralString) extends Statement

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

Value parameters

loc

The location where the action occurs in the source

message

The error message to report

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Statement
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case object EventCase extends AggregateUseCase

An enumerator value for event types

An enumerator value for event types

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Self type
EventCase.type
case class EventRef(loc: At, id: Option[Identifier], pathId: PathIdentifier) extends MessageRef

A Reference to an event message type

A Reference to an event message type

Value parameters

loc

The location of the reference

pathId

The path identifier to the event type

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait MessageRef
class Reference[Type]
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all

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.

Value parameters

brief

A brief description (one sentence) for use in documentation

description

An optional description of the field.

id

The name of the field

loc

The location of the field definition

typeEx

The type of the field

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait AlwaysEmpty
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class FieldRef(loc: At, pathId: PathIdentifier) extends Reference[Field]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Reference[Field]
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class FileDescription(loc: At, file: Path) extends Description

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Description
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Flow(loc: At) extends StreamletShape

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class ForEachStatement(loc: At, ref: PathIdentifier, do_: Seq[Statement]) extends Statement

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Statement
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all

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.

Value parameters

authors

References to the authors that helped write this function

brief

A brief description (one sentence) for use in documentation

description

An optional description of the function.

functions

The set of function definitions for use in the function

id

The identifier that names the function

includes

Inclusion of other files to complete this function definition

input

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

loc

The location of the function definition

options

The options for this function that might affect how it behaves

output

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

statements

The set of statements that define the behavior of this function

terms

The definition of glossary terms related to this function

types

The set of type definitions for use in the function

Attributes

Supertypes
sealed trait FunctionDefinition extends Definition

Base trait of any definition that is in the content of a function.

Base trait of any definition that is in the content of a function.

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Field
class Function
class Method
class Type
class Include[T]
class Term
Show all
sealed abstract class FunctionOption(val name: String) extends OptionValue

Base class of all function options

Base class of all function options

Value parameters

name

The name of the option

Attributes

Supertypes
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
case class FunctionRef(loc: At, pathId: PathIdentifier) extends Reference[Function]

A reference to a function.

A reference to a function.

Value parameters

loc

The location of the function reference.

pathId

The path identifier of the referenced function.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class GatewayOption(loc: At) extends ContextOption

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.

Value parameters

loc

The location of the gateway option

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all

One abstract step in an Interaction between things.

One abstract step in an Interaction between things. The set of case classes associated with this sealed trait provide more type specificity to these three fields.

Attributes

Supertypes
trait Interaction
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
case class Group(loc: At, alias: String, id: Identifier, elements: Seq[GroupDefinition], brief: Option[LiteralString], description: Option[Description]) extends ApplicationDefinition, GroupDefinition

A group of GroupDefinition that can be treated as a whole.

A group of GroupDefinition that can be treated as a whole. For example, a form, a button group, etc.

Value parameters

brief

A brief description of the group

description

A more detailed description of the group

elements

The list of GroupDefinition

id

The unique identifier of the group

loc

The location of the group

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait GroupDefinition extends Definition

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

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

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Group
class Input
class Output
case class GroupRef(loc: At, pathId: PathIdentifier) extends Reference[Group]

A Reference to a Group

A Reference to a Group

Value parameters

loc

The At locator of the group reference

pathId

The path to the referenced group

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Reference[Group]
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all

A named handler of messages (commands, events, queries) that bundles together a set of OnMessageClause 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 OnMessageClause 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

Value parameters

brief

A brief description (one sentence) for use in documentation

clauses

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

description

An optional description of the handler

id

The name of the handler.

loc

The location of the handler definition

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait HandlerDefinition extends Definition

Base trait of definitions that are part of a Handler Definition

Base trait of definitions that are part of a Handler Definition

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
sealed abstract class HandlerOption(val name: String) extends OptionValue

Attributes

Supertypes
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
case class HandlerRef(loc: At, pathId: PathIdentifier) extends Reference[Handler]

A reference to a Handler

A reference to a Handler

Value parameters

loc

The location of the handler reference

pathId

The path identifier of the referenced handler

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Identifier(loc: At, value: String) extends RiddlValue

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.

Value parameters

loc

The location in the input where the identifier starts

value

The parsed value of the identifier

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
object Identifier

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Identifier.type
case class IfThenElseStatement(loc: At, cond: LiteralString, thens: Seq[Statement], elses: Seq[Statement]) extends Statement

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Statement
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class InboundAdaptor(loc: At) extends AdaptorDirection

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Include[T <: Definition](loc: At, contents: Seq[T], source: Option[String]) extends Definition, VitalDefinitionDefinition, RootDefinition

A value to record an inclusion of a file while parsing.

A value to record an inclusion of a file while parsing.

Value parameters

contents

The Vital Definitions read from the file

loc

The location of the include statement in the source

source

A string providing the source (path or URL) of the included source

Attributes

Supertypes
case class Inlet(loc: At, id: Identifier, type_: Reference[Type], brief: Option[LiteralString], description: Option[Description]) extends Portlet, LeafDefinition, ProcessorDefinition, AlwaysEmpty

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

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

Value parameters

brief

A brief description (one sentence) for use in documentation

description

An optional description of the Inlet

id

The name of the inlet

loc

The location of the Inlet definition

type_

The type of the data that is received from the inlet

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait AlwaysEmpty
trait Portlet
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class InletRef(loc: At, pathId: PathIdentifier) extends PortletRef[Inlet]

A reference to an Inlet

A reference to an Inlet

Value parameters

loc

The location of the inlet reference

pathId

The path identifier of the referenced Inlet

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait PortletRef[Inlet]
class Reference[Inlet]
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Input(loc: At, nounAlias: String, id: Identifier, verbAlias: String, putIn: TypeRef, inputs: Seq[InputDefinition], brief: Option[LiteralString], description: Option[Description]) extends ApplicationDefinition, GroupDefinition, InputDefinition

A Give is a UI Element to allow the user to 'give' some data to the application.

A Give is a UI Element to allow the user to 'give' some data to the application. It is analogous to a form in HTML

Value parameters

brief

A brief description of the Give

description

a detailed description of the Give

id

Name of the give

loc

Location of the Give

putIn

a Type reference of the type given by the user

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait InputDefinition extends Definition

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

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

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Input
case class InputRef(loc: At, pathId: PathIdentifier) extends Reference[Input]

A reference to an Input using a path identifier

A reference to an Input using a path identifier

Value parameters

loc

THe location of the GiveRef in the source code

pathId

The path identifier that refers to the Give

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Reference[Input]
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Integer(loc: At) extends PredefinedType, IntegerTypeExpression

A predefined type expression for an integer value

A predefined type expression for an integer value

Value parameters

loc

The location of the integer type expression

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait NumericType
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait IntegerTypeExpression extends NumericType

Attributes

Supertypes
trait NumericType
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Bool
class Enumeration
class Integer
class Natural
class Number
class RangeType
class Whole
Show all
sealed trait Interaction extends UseCaseDefinition

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes

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.

Value parameters

brief

A brief description (one sentence) for use in documentation

condition

The string representation of the condition that ought to be true

description

An optional description of the invariant.

id

The name of the invariant

loc

The location of the invariant definition

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait LeafDefinition extends Definition

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Author
class Connector
class Constant
class Enumerator
class Field
class Inlet
class Invariant
class Method
trait OnClause
class OnInitClause
class Outlet
class Replica
class SagaStep
class Term
class User
Show all
case class Length(loc: At) extends PredefinedType, RealTypeExpression

A predefined type expression for the SI Base unit for Length (meters)

A predefined type expression for the SI Base unit for Length (meters)

Value parameters

loc

The location of the current type expression

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait NumericType
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class LiteralString(loc: At, s: String) extends RiddlValue

Represents a literal string parsed between quote characters in the input

Represents a literal string parsed between quote characters in the input

Value parameters

loc

The location in the input of the opening quote character

s

The parsed value of the string content

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
object LiteralString

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
case class Location(loc: At) extends PredefinedType

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.

Value parameters

loc

The location of the LatLong type expression.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Luminosity(loc: At) extends PredefinedType, RealTypeExpression

A predefined type expression for the SI Base Unit for Luminosity (candela)

A predefined type expression for the SI Base Unit for Luminosity (candela)

Value parameters

loc

The location of the luminosity expression

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait NumericType
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Mapping(loc: At, from: TypeExpression, to: TypeExpression) extends TypeExpression

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.

Value parameters

from

The type expression for the keys of the mapping

loc

The location of the mapping type expression

to

The type expression for the values of the mapping

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Mass(loc: At) extends PredefinedType, RealTypeExpression

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait NumericType
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Merge(loc: At) extends StreamletShape

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
object MessageRef

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
MessageRef.type
sealed trait MessageRef extends Reference[Type]

Base trait for the four kinds of message references

Base trait for the four kinds of message references

Attributes

Companion
object
Supertypes
class Reference[Type]
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class CommandRef
class EventRef
class QueryRef
class RecordRef
class ResultRef

A leaf definition that is a callable method (function) of an aggregation type expressions.

A leaf definition that is a callable method (function) of an aggregation type expressions. Methods associate an identifier with a computed type expression.

Value parameters

args

The type of the field

brief

A brief description (one sentence) for use in documentation

description

An optional description of the field.

id

The name of the field

loc

The location of the field definition

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait AlwaysEmpty
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class MethodArgument(loc: At, key: String, value: TypeExpression) extends RiddlNode

An argument to a method

An argument to a method

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Mole(loc: At) extends PredefinedType, RealTypeExpression

A predefined type expression for the SI Base Unit for Mole (mole)

A predefined type expression for the SI Base Unit for Mole (mole)

Value parameters

loc

\- The location of the mass type expression

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait NumericType
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class MorphStatement(loc: At, entity: EntityRef, state: StateRef, value: MessageRef) extends Statement

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

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

Value parameters

entity

The entity to be affected

loc

The location of the morph action in the source

state

The reference to the new state structure

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Statement
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Natural(loc: At) extends PredefinedType, IntegerTypeExpression

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait NumericType
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Nothing(loc: At) extends PredefinedType

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

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

Value parameters

loc

The location of the nothing type expression.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all

A predefined type expression for an arbitrary number value

A predefined type expression for an arbitrary number value

Value parameters

loc

The location of the number type expression

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait NumericType
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait NumericType extends TypeExpression

Attributes

Supertypes
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Bool
class Enumeration
class Integer
class Natural
class Number
class RangeType
class Whole
class Current
class Decimal
class Length
class Luminosity
class Mass
class Mole
class Real
class Temperature
Show all
sealed trait OnClause extends LeafDefinition, HandlerDefinition

A sealed trait for the kinds of OnClause that can occur within a Handler definition.

A sealed trait for the kinds of OnClause that can occur within a Handler definition.

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
sealed trait OnClauseDefinition extends Definition

Base trait of definitions that are part of an On Clause Definition

Base trait of definitions that are part of an On Clause Definition

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class OnInitClause(loc: At, statements: Seq[Statement], brief: Option[LiteralString], description: Option[Description]) extends OnClause

Defines the actions to be taken when the component this OnClause occurs in is initialized.

Defines the actions to be taken when the component this OnClause occurs in is initialized.

Value parameters

brief

A brief description (one sentence) for use in documentation

description

An optional description of the on clause.

loc

THe location of the "on other" clause

statements

A set of statements that define the behavior when a message doesn't match

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait OnClause
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class OnMessageClause(loc: At, msg: MessageRef, from: Option[Reference[Definition]], statements: Seq[Statement], brief: Option[LiteralString], description: Option[Description]) extends OnClause

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. OnMessageClauses are used in the definition of a Handler with one for each kind of message that handler deals with.

Value parameters

brief

A brief description (one sentence) for use in documentation

description

An optional description of the on clause.

from

Optional message generating

loc

The location of the "on" clause

msg

A reference to the message type that is handled

statements

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

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait OnClause
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class OnOtherClause(loc: At, statements: Seq[Statement], brief: Option[LiteralString], description: Option[Description]) extends OnClause

Defines the actions to be taken when a message does not match any of the OnMessageClauses.

Defines the actions to be taken when a message does not match any of the OnMessageClauses. OnOtherClause corresponds to the "other" case of an Handler.

Value parameters

brief

A brief description (one sentence) for use in documentation

description

An optional description of the on clause.

loc

THe location of the "on other" clause

statements

A set of examples that define the behavior when a message doesn't match

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait OnClause
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class OnTerminationClause(loc: At, statements: Seq[Statement], brief: Option[LiteralString], description: Option[Description]) extends OnClause

Defines the actions to be taken when the component this OnClause occurs in is initialized.

Defines the actions to be taken when the component this OnClause occurs in is initialized.

Value parameters

brief

A brief description (one sentence) for use in documentation

description

An optional description of the on clause.

loc

THe location of the "on other" clause

statements

A set of statements that define the behavior when a message doesn't match

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait OnClause
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class OneOrMore(loc: At, typeExp: TypeExpression) extends Cardinality

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.

Value parameters

loc

The location of the one-or-more cardinality

typeExp

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

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Cardinality
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait OptionValue extends RiddlValue
case class Optional(loc: At, typeExp: TypeExpression) extends Cardinality

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.

Value parameters

loc

The location of the optional cardinality

typeExp

The type expression that is indicated as optional

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Cardinality
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class OptionalInteractions(loc: At, id: Identifier, contents: Seq[Interaction], brief: Option[LiteralString], description: Option[Description]) extends Interaction

An interaction expression that specifies that its contents are optional

An interaction expression that specifies that its contents are optional

Value parameters

brief

A brief description of the optional group

contents

The optional expressions

loc

The location of the optional group

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Interaction
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class OutboundAdaptor(loc: At) extends AdaptorDirection

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Outlet(loc: At, id: Identifier, type_: Reference[Type], brief: Option[LiteralString], description: Option[Description]) extends Portlet, LeafDefinition, ProcessorDefinition, AlwaysEmpty

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

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

Value parameters

brief

A brief description (one sentence) for use in documentation

description

An optional description of the Outlet.

id

The name of the outlet

loc

The location of the outlet definition

type_

The type expression for the kind of data put out

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait AlwaysEmpty
trait Portlet
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class OutletRef(loc: At, pathId: PathIdentifier) extends PortletRef[Outlet]

A reference to an Outlet

A reference to an Outlet

Value parameters

loc

The location of the outlet reference

pathId

The path identifier of the referenced Outlet

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Reference[Outlet]
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Output(loc: At, nounAlias: String, id: Identifier, verbAlias: String, putOut: TypeRef, outputs: Seq[OutputDefinition], brief: Option[LiteralString], description: Option[Description]) extends ApplicationDefinition, OutputDefinition, GroupDefinition

A UI Element that presents some information to the user

A UI Element that presents some information to the user

Value parameters

brief

A brief description of the view

description

A detailed description of the view

id

unique identifier oof the view

loc

Location of the view in the source

outputs

Any contained outputs

putOut

A result reference for the data too be presented

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait OutputDefinition extends Definition

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

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

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Output
case class OutputRef(loc: At, pathId: PathIdentifier) extends Reference[Output]

A reference to an View using a path identifier

A reference to an View using a path identifier

Value parameters

loc

The location of the ViewRef in the source code

pathId

The path identifier that refers to the View

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Reference[Output]
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class ParallelInteractions(loc: At, id: Identifier, contents: Seq[Interaction], brief: Option[LiteralString], description: Option[Description]) extends Interaction

An interaction expression that specifies that each contained expression should be executed in parallel

An interaction expression that specifies that each contained expression should be executed in parallel

Value parameters

brief

A brief description of the parallel group

contents

The expressions to execute in parallel

loc

Location of the parallel group

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Interaction
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class ParallelOption(loc: At) extends SagaOption

A SagaOption that indicates parallel execution of the saga actions.

A SagaOption that indicates parallel execution of the saga actions.

Value parameters

loc

The location of the parallel option

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class SagaOption
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class PartialHandlerOption(loc: At) extends HandlerOption

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class PathIdentifier(loc: At, value: Seq[String]) extends RiddlValue

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.

Value parameters

loc

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

value

The list of strings that make up the path identifier

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
case class Pattern(loc: At, pattern: Seq[LiteralString]) extends PredefinedType

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

Value parameters

loc

The location of the pattern type expression

pattern

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

Attributes

See also

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

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait Portlet extends Definition

A sealed trait for Inlets and Outlets

A sealed trait for Inlets and Outlets

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Inlet
class Outlet
sealed trait PortletRef[+T <: Portlet] extends Reference[T]

Sealed base trait of references to Inlets or Outlets

Sealed base trait of references to Inlets or Outlets

Type parameters

T

The type of definition to which the references refers.

Attributes

Supertypes
class Reference[T]
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class InletRef
class OutletRef
abstract class PredefinedType extends TypeExpression

Base class of all pre-defined type expressions

Base class of all pre-defined type expressions

Attributes

Companion
object
Supertypes
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Abstract
class Bool
class Currency
class Current
class Integer
class Length
class Location
class Luminosity
class Mass
class Mole
class Natural
class Nothing
class Number
class Pattern
class Real
class Strng
class Temperature
trait TimeType
class Date
class DateTime
class Duration
class Time
class TimeStamp
class URL
class UUID
class UniqueId
class UnknownType
class UserId
class Whole
Show all

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
sealed trait Processor[OPT <: OptionValue, DEF <: Definition] extends VitalDefinition[OPT, DEF], WithTypes

Definition of a Processor.

Definition of a Processor. This is a base class for all Processor definitions (things that have inlets, outlets, handlers, and take messages directly with a reference).

Attributes

Supertypes
trait WithTypes
trait VitalDefinition[OPT, DEF]
trait WithTerms
trait WithIncludes[DEF]
trait WithAuthors
trait WithOptions[OPT]
trait Definition
trait Container[DEF]
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Adaptor
class Application
class Context
class Entity
class Projector
class Repository
class Streamlet
Show all

Base trait of definitions defined in a processor

Base trait of definitions defined in a processor

Attributes

Supertypes
Known subtypes
class Constant
class Inlet
class Invariant
class Outlet
class Type
sealed trait ProcessorRef[+T <: Processor[_, _]] extends Reference[T]

Base trait of definitions that can accept a message directly via a reference

Base trait of definitions that can accept a message directly via a reference

Type parameters

T

The kind of reference needed

Attributes

Supertypes
class Reference[T]
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class AdaptorRef
class ContextRef
class EntityRef
class ProjectorRef
class StreamletRef
Show all
case class Projector(loc: At, id: Identifier, authors: Seq[AuthorRef], options: Seq[ProjectorOption], includes: Seq[Include[ProjectorDefinition]], types: Seq[Type], constants: Seq[Constant], inlets: Seq[Inlet], outlets: Seq[Outlet], handlers: Seq[Handler], functions: Seq[Function], invariants: Seq[Invariant], terms: Seq[Term], brief: Option[LiteralString], description: Option[Description]) extends Processor[ProjectorOption, ProjectorDefinition], ContextDefinition, WithTypes

Projectors get their name from Euclidean Geometry but are probably more analogous to a relational database view.

Projectors get their name from Euclidean Geometry but are probably more analogous to a relational database view. The concept is very simple in RIDDL: projectors gather data from entities and other sources, transform that data into a specific record type, and support querying that data arbitrarily.

Value parameters

authors

The authors of this definition

brief

A brief description of this Projector

description

A detailed description of this Projector

handlers

Specifies how to handle

id

The unique identifier for this Projector

loc

Location in the source of the Projector

options

Options that can be used by the translators

terms

Definitions of terms about this Projector

types

The type definitions necessary to construct the query results

Attributes

See also

https://en.wikipedia.org/wiki/View_(SQL)).

https://en.wikipedia.org/wiki/Projector_(mathematics)

Supertypes
sealed trait ProjectorDefinition extends Definition

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

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

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Field
class Function
class Handler
class Method
class Constant
class Inlet
class Invariant
class Outlet
class Type
class Include[T]
class Term
Show all
sealed abstract class ProjectorOption(val name: String) extends OptionValue

Attributes

Supertypes
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
case class ProjectorRef(loc: At, pathId: PathIdentifier) extends ProcessorRef[Projector]

A reference to an context's projector definition

A reference to an context's projector definition

Value parameters

loc

The location of the state reference

pathId

The path identifier of the referenced projector definition

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class ProjectorTechnologyOption(loc: At, args: Seq[LiteralString]) extends ProjectorOption

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case object QueryCase extends AggregateUseCase

An enumerator value for query types

An enumerator value for query types

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Self type
QueryCase.type
case class QueryRef(loc: At, id: Option[Identifier], pathId: PathIdentifier) extends MessageRef

A reference to a query message type

A reference to a query message type

Value parameters

loc

The location of the reference

pathId

The path identifier to the query type

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait MessageRef
class Reference[Type]
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class RangeType(loc: At, min: Long, max: Long) extends IntegerTypeExpression

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.

Value parameters

loc

The location of the RangeType type expression

max

The maximum value of the RangeType

min

The minimum value of the RangeType

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait NumericType
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Real(loc: At) extends PredefinedType, RealTypeExpression

A predefined type expression for a real number value.

A predefined type expression for a real number value.

Value parameters

loc

The location of the real number type expression

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait NumericType
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait RealTypeExpression extends NumericType

Attributes

Supertypes
trait NumericType
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Current
class Decimal
class Length
class Luminosity
class Mass
class Mole
class Number
class Real
class Temperature
Show all
case object RecordCase extends AggregateUseCase

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Self type
RecordCase.type
case class RecordRef(loc: At, id: Option[Identifier], pathId: PathIdentifier) extends MessageRef

A reference to a record message type

A reference to a record message type

Value parameters

loc

The location of the reference

pathId

The path identifier to the result type

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait MessageRef
class Reference[Type]
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
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.

Type parameters

T

The type of definition to which the references refers.

Attributes

Companion
object
Supertypes
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Known subtypes
class AuthorRef
class ConstantRef
class DomainRef
class EpicRef
class FieldRef
class FunctionRef
class GroupRef
class HandlerRef
class InputRef
trait MessageRef
class CommandRef
class EventRef
class QueryRef
class RecordRef
class ResultRef
class OutputRef
trait PortletRef[T]
class InletRef
class OutletRef
trait ProcessorRef[T]
class AdaptorRef
class ContextRef
class EntityRef
class ProjectorRef
class StreamletRef
class SagaRef
class StateRef
class TypeRef
class UserRef
Show all
object Reference

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
Reference.type
case class Replica(loc: At, id: Identifier, typeExp: TypeExpression, brief: Option[LiteralString], description: Option[Description]) extends LeafDefinition, ContextDefinition

A replicated value within a context.

A replicated value within a context. Integer, Map and Set values will use CRDTs

Value parameters

loc

The location of

typeExp

The type of the replica

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class ReplyStatement(loc: At, message: MessageRef) extends Statement

A statement that replies in a handler to a query

A statement that replies in a handler to a query

Value parameters

loc

The location in the source of the publish action

message

The message to be returned

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Statement
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Repository(loc: At, id: Identifier, types: Seq[Type], handlers: Seq[Handler], inlets: Seq[Inlet], outlets: Seq[Outlet], authors: Seq[AuthorRef], functions: Seq[Function], constants: Seq[Constant], invariants: Seq[Invariant], includes: Seq[Include[RepositoryDefinition]], options: Seq[RepositoryOption], terms: Seq[Term], brief: Option[LiteralString], description: Option[Description]) extends Processor[RepositoryOption, RepositoryDefinition], ContextDefinition

A RIDDL repository is an abstraction for anything that can retain information(e.g.

A RIDDL repository is an abstraction for anything that can retain information(e.g. messages for retrieval at a later time. This might be a relational database, NoSQL database, data lake, API, or something not yet invented. There is no specific technology implied other than the retention and retrieval of information. You should think of repositories more like a message-oriented version of the Java Repository Pattern than any particular kind ofdatabase.

Value parameters

authors

The author(s) who wrote this repository specification.

brief

A brief description of this repository

description

A detailed description of this repository

handlers

The handler for specifying how messages should be handled by the repository

id

The unique identifier for this Repository

includes

Included files

loc

Location in the source of the Repository

options

Options that can be used by the translators

terms

Definitions of terms about this repository

types

The types, typically messages, that the Repository uses

Attributes

See also

https://java-design-patterns.com/patterns/repository/#explanation

Supertypes
sealed trait RepositoryDefinition extends Definition

Base trait of definitions defined in a repository

Base trait of definitions defined in a repository

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Function
class Handler
class Constant
class Inlet
class Invariant
class Outlet
class Type
class Include[T]
class Term
Show all
sealed abstract class RepositoryOption(val name: String) extends OptionValue

Attributes

Supertypes
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
case class RepositoryRef(loc: At, pathId: PathIdentifier) extends ProcessorRef[Projector]

A reference to a repository definition

A reference to a repository definition

Value parameters

loc

The location of the state reference

pathId

The path identifier of the referenced projector definition

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case object ResultCase extends AggregateUseCase

An enumerator value for result types

An enumerator value for result types

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Self type
ResultCase.type
case class ResultRef(loc: At, id: Option[Identifier], pathId: PathIdentifier) extends MessageRef

A reference to a result message type

A reference to a result message type

Value parameters

loc

The location of the reference

pathId

The path identifier to the result type

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait MessageRef
class Reference[Type]
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class ReturnStatement(loc: At, value: LiteralString) extends Statement

An action that returns a value from a function

An action that returns a value from a function

Value parameters

loc

The location in the source of the publish action

value

The value to be returned

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Statement
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait RiddlNode

The root trait of all things RIDDL AST.

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

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait RiddlValue
trait Definition
class Function
class Handler
class Constant
class Inlet
class Invariant
class Outlet
class Type
class Include[T]
class Term
trait AlwaysEmpty
class Field
class Method
class Group
class Input
class Output
class Adaptor
class Connector
class Entity
class Projector
class Replica
class Repository
class Saga
class Streamlet
class Application
class Author
class Context
class Domain
class Epic
class User
class State
class UseCase
trait OnClause
class OnInitClause
class Enumerator
class SagaStep
trait Portlet
trait Interaction
trait VitalDefinition[OPT, DEF]
trait Processor[OPT, DEF]
trait WithAuthors
trait WithOptions[T]
trait WithTypes
trait Container[D]
class Aggregation
trait WithIncludes[T]
trait Description
trait EntityValue
class EntityOption
class EntityKind
class Identifier
trait OptionValue
class DomainOption
class EpicOption
class SagaOption
class Reference[T]
class AuthorRef
class ConstantRef
class DomainRef
class EpicRef
class FieldRef
class FunctionRef
class GroupRef
class HandlerRef
class InputRef
trait MessageRef
class CommandRef
class EventRef
class QueryRef
class RecordRef
class ResultRef
class OutputRef
trait PortletRef[T]
class InletRef
class OutletRef
trait ProcessorRef[T]
class AdaptorRef
class ContextRef
class EntityRef
class ProjectorRef
class StreamletRef
class SagaRef
class StateRef
class TypeRef
class UserRef
trait Statement
class SetStatement
class Flow
class Merge
class Router
class Sink
class Source
class Split
class Void
class Alternation
trait Cardinality
class OneOrMore
class Optional
class ZeroOrMore
class Mapping
trait NumericType
class Bool
class Enumeration
class Integer
class Natural
class Number
class RangeType
class Whole
class Current
class Decimal
class Length
class Luminosity
class Mass
class Mole
class Real
class Temperature
class Abstract
class Currency
class Location
class Nothing
class Pattern
class Strng
trait TimeType
class Date
class DateTime
class Duration
class Time
class TimeStamp
class URL
class UUID
class UniqueId
class UnknownType
class UserId
class Sequence
class Set
class UserStory
Show all
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. The distinguishing factor is the inclusion of the parsing location given by the loc field.

Attributes

Supertypes
trait RiddlNode
class Object
trait Matchable
class Any
Known subtypes
trait Definition
class Function
class Handler
class Constant
class Inlet
class Invariant
class Outlet
class Type
class Include[T]
class Term
trait AlwaysEmpty
class Field
class Method
class Group
class Input
class Output
class Adaptor
class Connector
class Entity
class Projector
class Replica
class Repository
class Saga
class Streamlet
class Application
class Author
class Context
class Domain
class Epic
class User
class State
class UseCase
trait OnClause
class OnInitClause
class Enumerator
class SagaStep
trait Portlet
trait Interaction
trait VitalDefinition[OPT, DEF]
trait Processor[OPT, DEF]
trait WithAuthors
trait WithOptions[T]
trait WithTypes
trait Container[D]
class Aggregation
trait WithIncludes[T]
trait Description
trait EntityValue
class EntityOption
class EntityKind
class Identifier
trait OptionValue
class DomainOption
class EpicOption
class SagaOption
class Reference[T]
class AuthorRef
class ConstantRef
class DomainRef
class EpicRef
class FieldRef
class FunctionRef
class GroupRef
class HandlerRef
class InputRef
trait MessageRef
class CommandRef
class EventRef
class QueryRef
class RecordRef
class ResultRef
class OutputRef
trait PortletRef[T]
class InletRef
class OutletRef
trait ProcessorRef[T]
class AdaptorRef
class ContextRef
class EntityRef
class ProjectorRef
class StreamletRef
class SagaRef
class StateRef
class TypeRef
class UserRef
trait Statement
class SetStatement
class Flow
class Merge
class Router
class Sink
class Source
class Split
class Void
class Alternation
trait Cardinality
class OneOrMore
class Optional
class ZeroOrMore
class Mapping
trait NumericType
class Bool
class Enumeration
class Integer
class Natural
class Number
class RangeType
class Whole
class Current
class Decimal
class Length
class Luminosity
class Mass
class Mole
class Real
class Temperature
class Abstract
class Currency
class Location
class Nothing
class Pattern
class Strng
trait TimeType
class Date
class DateTime
class Duration
class Time
class TimeStamp
class URL
class UUID
class UniqueId
class UnknownType
class UserId
class Sequence
class Set
class UserStory
Show all
case class RootContainer(contents: Seq[RootDefinition], inputs: Seq[RiddlParserInput]) extends Definition

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.

Value parameters

contents

The sequence top level definitions contained by this root container

inputs

The inputs for this root scope

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
object RootContainer

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
sealed trait RootDefinition extends Definition

Base trait of definitions defined at root scope

Base trait of definitions defined at root scope

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Author
class Domain
class Include[T]
case class Router(loc: At) extends StreamletShape

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Saga(loc: At, id: Identifier, options: Seq[SagaOption], input: Option[Aggregation], output: Option[Aggregation], sagaSteps: Seq[SagaStep], functions: Seq[Function], inlets: Seq[Inlet], outlets: Seq[Outlet], authors: Seq[AuthorRef], includes: Seq[Include[SagaDefinition]], terms: Seq[Term], brief: Option[LiteralString], description: Option[Description]) extends VitalDefinition[SagaOption, SagaDefinition], ContextDefinition, DomainDefinition

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.

Value parameters

brief

A brief description (one sentence) for use in documentation

description

An optional description of the saga.

id

The name of the saga

input

A definition of the aggregate input values needed to invoke the saga, if any.

loc

The location of the Saga definition

options

The options of the saga

output

A definition of the aggregate output values resulting from invoking the saga, if any.

sagaSteps

The set of SagaSteps that comprise the saga.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait WithTerms
trait WithAuthors
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait SagaDefinition extends Definition

Base trait of definitions that are part of a Saga Definition

Base trait of definitions that are part of a Saga Definition

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Field
class Function
class Method
class Constant
class Inlet
class Invariant
class Outlet
class Type
class SagaStep
class Include[T]
class Term
Show all
sealed abstract class SagaOption(val name: String) extends OptionValue

Base trait for all options applicable to a saga.

Base trait for all options applicable to a saga.

Attributes

Supertypes
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
case class SagaRef(loc: At, pathId: PathIdentifier) extends Reference[Saga]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Reference[Saga]
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class SagaStep(loc: At, id: Identifier, doStatements: Seq[Statement], undoStatements: Seq[Statement], brief: Option[LiteralString], description: Option[Description]) extends LeafDefinition, SagaDefinition

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.

Value parameters

brief

A brief description (one sentence) for use in documentation

description

An optional description of the saga action

doStatements

The command to be done.

id

The name of the SagaAction

loc

The location of the saga action definition

undoStatements

The command that undoes doStatements

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class SagaTechnologyOption(loc: At, args: Seq[LiteralString]) extends SagaOption

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class SagaOption
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class SelfInteraction(loc: At, id: Identifier, from: Reference[Definition], relationship: LiteralString, brief: Option[LiteralString], description: Option[Description]) extends GenericInteraction

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Interaction
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class SendStatement(loc: At, msg: MessageRef, portlet: PortletRef[Portlet]) extends Statement

An action that sends a message to an Inlet or Outlet.

An action that sends a message to an Inlet or Outlet.

Value parameters

loc

The location in the source of the send action

msg

The constructed message to be sent

portlet

The inlet or outlet to which the message is sent

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Statement
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Sequence(loc: At, of: TypeExpression) extends TypeExpression

A type expression for a sequence of some other type expression

A type expression for a sequence of some other type expression

Value parameters

loc

Where this type expression occurs in the source code

of

The type expression of the sequence's elements

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class SequentialInteractions(loc: At, id: Identifier, contents: Seq[Interaction], brief: Option[LiteralString], description: Option[Description]) extends Interaction

An interaction expression that specifies that each contained expression should be executed in strict sequential order

An interaction expression that specifies that each contained expression should be executed in strict sequential order

Value parameters

brief

A brief description of the sequence group

contents

The interactions to execute in sequence

description

A longer description of the sequence

id

Identifier for the interaction

loc

Location of the sequence

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Interaction
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class SequentialOption(loc: At) extends SagaOption

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

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

Value parameters

loc

The location of the sequential option

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class SagaOption
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class ServiceOption(loc: At) extends ContextOption

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

Value parameters

loc

The location at which the option occurs

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Set(loc: At, of: TypeExpression) extends TypeExpression

A mathematical set of some other type of value

A mathematical set of some other type of value

Value parameters

loc

Where the type expression occurs in the source

of

The type of the elements of the set.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class SetStatement(loc: At, field: FieldRef, value: LiteralString) extends Statement

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Statement
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class ShowOutputInteraction(loc: At, id: Identifier, from: OutputRef, relationship: LiteralString, to: UserRef, brief: Option[LiteralString], description: Option[Description]) extends GenericInteraction

An interaction where an User receives output

An interaction where an User receives output

Value parameters

brief

A brief description of this interaction

from

The output received

loc

The locaiton of the interaction in the source

relationship

THe name of the relationship

to

THe user that receives the output

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Interaction
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Sink(loc: At) extends StreamletShape

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Source(loc: At) extends StreamletShape

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class SpecificRange(loc: At, typeExp: TypeExpression, min: Long, max: Long) extends Cardinality

A cardinality type expression that indicates another type expression as having a specific range of instances

A cardinality type expression that indicates another type expression as having a specific range of instances

Value parameters

loc

The location of the one-or-more cardinality

max

The maximum number of items

min

The minimum number of items

typeExp

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

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Cardinality
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Split(loc: At) extends StreamletShape

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class State(loc: At, id: Identifier, typ: TypeRef, handlers: Seq[Handler], invariants: Seq[Invariant], brief: Option[LiteralString], description: Option[Description]) extends EntityDefinition

Represents the state of an entity.

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

Value parameters

brief

A brief description (one sentence) for use in documentation

description

An optional description of the state.

handlers

The handler definitions that may occur when this state is active

id

The name of the state definition

invariants

Expressions of boolean logic that must always evaluate to true before and after an entity changes when this state is active.

loc

The location of the state definition

typ

A reference to a type definition that provides the range of values that the state may assume.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait StateDefinition extends Definition

Base trait of definitions that are part of a Saga Definition

Base trait of definitions that are part of a Saga Definition

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Field
class Handler
class Invariant
class Method
case class StateRef(loc: At, pathId: PathIdentifier) extends Reference[State]

A reference to an entity's state definition

A reference to an entity's state definition

Value parameters

loc

The location of the state reference

pathId

The path identifier of the referenced state definition

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Reference[State]
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait Statement extends RiddlValue

Attributes

Supertypes
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Known subtypes
case class StopStatement(loc: At) extends Statement

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Statement
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Streamlet(loc: At, id: Identifier, shape: StreamletShape, inlets: Seq[Inlet], outlets: Seq[Outlet], handlers: Seq[Handler], functions: Seq[Function], constants: Seq[Constant], invariants: Seq[Invariant], types: Seq[Type], includes: Seq[Include[StreamletDefinition]], authors: Seq[AuthorRef], options: Seq[StreamletOption], terms: Seq[Term], brief: Option[LiteralString], description: Option[Description]) extends Processor[StreamletOption, StreamletDefinition], ContextDefinition

Definition of a Streamlet.

Definition of a Streamlet. A computing element for processing data from Inlets to Outlets. A processor's processing is specified by free text statements in Handlers. Streamlets come in various shapes: Source, Sink, Flow, Merge, Split, and Router depending on how many inlets and outlets they have

Value parameters

brief

A brief description (one sentence) for use in documentation

description

An optional description of the processor

handlers

Definitions of how the processor handles each event type

id

The name of the processor

inlets

The list of inlets that provide the data the processor needs

loc

The location of the Processor definition

outlets

The list of outlets that the processor produces

shape

The shape of the processor's inputs and outputs

Attributes

Supertypes
sealed trait StreamletDefinition extends Definition

Base trait of definitions define within a Streamlet

Base trait of definitions define within a Streamlet

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Function
class Handler
class Constant
class Inlet
class Invariant
class Outlet
class Type
class Include[T]
class Term
Show all
sealed abstract class StreamletOption(val name: String) extends OptionValue

Attributes

Supertypes
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
case class StreamletRef(loc: At, pathId: PathIdentifier) extends ProcessorRef[Streamlet]

A reference to an context's projector definition

A reference to an context's projector definition

Value parameters

loc

The location of the state reference

pathId

The path identifier of the referenced projector definition

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait StreamletShape extends RiddlValue

Attributes

Supertypes
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Known subtypes
class Flow
class Merge
class Router
class Sink
class Source
class Split
class Void
Show all
case class StreamletTechnologyOption(loc: At, args: Seq[LiteralString]) extends StreamletOption

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Strng(loc: At, min: Option[Long], max: Option[Long]) extends PredefinedType

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.

Value parameters

loc

The location of the Strng type expression

max

The maximum length of the string (default: MaxInt)

min

The minimum length of the string (default: 0)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class TailRecursive(loc: At) extends FunctionOption

A function option to mark a function as being tail recursive

A function option to mark a function as being tail recursive

Value parameters

loc

The location of the tail recursive option

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class TakeInputInteraction(loc: At, id: Identifier, from: UserRef, relationship: LiteralString, to: InputRef, brief: Option[LiteralString], description: Option[Description]) extends GenericInteraction

A interaction where and User provides input

A interaction where and User provides input

Value parameters

brief

A description of this interaction step

from

The user providing the input

loc

The location of the interaction in the source

relationship

A description of the relationship in this interaction

to

The input definition that receives the input

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Interaction
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class TellStatement(loc: At, msg: MessageRef, processorRef: ProcessorRef[Processor[_, _]]) extends Statement

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. Unlike using an Portlet, this implies a direct relationship between the telling entity and the told entity. This action is considered useful in "high cohesion" scenarios. Use SendStatement to reduce the coupling between entities because the relationship is managed by a Context 's Connector instead.

Value parameters

loc

The location of the tell action

msg

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

processorRef

The processor to which the message is directed

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Statement
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Temperature(loc: At) extends PredefinedType, RealTypeExpression

A predefined type expression for the SI Base Unit for Temperature (Kelvin)

A predefined type expression for the SI Base Unit for Temperature (Kelvin)

Value parameters

loc

\- The location of the mass type expression

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait NumericType
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Term(loc: At, id: Identifier, brief: Option[LiteralString], description: Option[Description]) extends LeafDefinition, VitalDefinitionDefinition

A term definition for the glossary

A term definition for the glossary

Attributes

Supertypes
case class Time(loc: At) extends TimeType

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

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

Value parameters

loc

The location of the time type expression.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait TimeType
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class TimeStamp(loc: At) extends TimeType

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.

Value parameters

loc

The location of the timestamp

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait TimeType
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait TimeType extends PredefinedType

Attributes

Supertypes
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Date
class DateTime
class Duration
class Time
class TimeStamp

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

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

Value parameters

brief

A brief description (one sentence) for use in documentation

description

An optional description of the type.

id

The name of the type being defined

loc

The location of the type definition

typ

The type expression of the type being defined

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait TypeDefinition extends Definition

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Field
class Method
class Enumerator
sealed trait TypeExpression extends RiddlValue

Base trait of an expression that defines a type

Base trait of an expression that defines a type

Attributes

Supertypes
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Known subtypes
class Aggregation
class Alternation
trait Cardinality
class OneOrMore
class Optional
class ZeroOrMore
class Mapping
trait NumericType
class Bool
class Enumeration
class Integer
class Natural
class Number
class RangeType
class Whole
class Current
class Decimal
class Length
class Luminosity
class Mass
class Mole
class Real
class Temperature
class Abstract
class Currency
class Location
class Nothing
class Pattern
class Strng
trait TimeType
class Date
class DateTime
class Duration
class Time
class TimeStamp
class URL
class UUID
class UniqueId
class UnknownType
class UserId
class Sequence
class Set
Show all
case class TypeRef(loc: At, pathId: PathIdentifier) extends Reference[Type]

A reference to a type definition

A reference to a type definition

Value parameters

loc

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

pathId

The path identifier of the reference type

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Reference[Type]
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class URL(loc: At, scheme: Option[LiteralString]) extends PredefinedType

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.

Value parameters

loc

The location of the URL type expression

scheme

The scheme to which the URL is constrained.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class URLDescription(loc: At, url: URL) extends Description

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Description
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class UUID(loc: At) extends PredefinedType

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.

Value parameters

loc

The location of the UUID type expression

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class UniqueId(loc: At, entityPath: PathIdentifier) extends PredefinedType

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.

Value parameters

entityPath

The path identifier of the entity type

loc

The location of the unique identifier type expression

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class UnknownType(loc: At) extends PredefinedType

A type expression that is unknown at compile type but will be resolved before validation time.

A type expression that is unknown at compile type but will be resolved before validation time.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class UseCase(loc: At, id: Identifier, userStory: Option[UserStory], contents: Seq[Interaction], brief: Option[LiteralString], description: Option[Description]) extends EpicDefinition, Container[Interaction]

The definition of a Jacobsen Use Case RIDDL defines these epics by allowing a linkage between the user and RIDDL applications or bounded contexts.

The definition of a Jacobsen Use Case RIDDL defines these epics by allowing a linkage between the user and RIDDL applications or bounded contexts.

Value parameters

brief

A brief description of this use case

contents

The interactions between users and system components that define the use case.

description

A longer description of this use case

id

The unique identifier for this use case

loc

Where in the source this use case occurs

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait UseCaseDefinition extends Definition

Base trait of definitions in a UseCase, typically interactions

Base trait of definitions in a UseCase, typically interactions

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
case class User(loc: At, id: Identifier, is_a: LiteralString, brief: Option[LiteralString], description: Option[Description]) extends LeafDefinition, DomainDefinition

An User (Role) who is the initiator of the user story.

An User (Role) who is the initiator of the user story. Users may be persons or machines

Value parameters

brief

A brief description of the user

description

A longer description of the user and its role

id

The name (role) of the user

is_a

What kind of thing the user is

loc

The location of the user in the source

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class UserId(loc: At) extends PredefinedType

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class UserRef(loc: At, pathId: PathIdentifier) extends Reference[User]

A reference to an User using a path identifier

A reference to an User using a path identifier

Value parameters

loc

THe location of the User in the source code

pathId

The path identifier that locates the User

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Reference[User]
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class UserStory(loc: At, user: UserRef, capability: LiteralString, benefit: LiteralString) extends RiddlValue

An agile user story definition in the usual "As a {role} I want {capability} so that {benefit}" style.

An agile user story definition in the usual "As a {role} I want {capability} so that {benefit}" style.

Value parameters

benefit

The benefit of that utilization

capability

The capability the user wishes to utilize

loc

Location of the user story

user

The user, or instigator, of the story.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class VagueInteraction(loc: At, id: Identifier, relationship: LiteralString, brief: Option[LiteralString], description: Option[Description]) extends Interaction

A very vague step just written as text

A very vague step just written as text

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Interaction
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait VitalDefinition[OPT <: OptionValue, DEF <: Definition] extends Definition, WithOptions[OPT], WithAuthors, WithIncludes[DEF], WithTerms

Attributes

Supertypes
trait WithTerms
trait WithIncludes[DEF]
trait WithAuthors
trait WithOptions[OPT]
trait Definition
trait Container[DEF]
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Domain
class Epic
class Function
trait Processor[OPT, DEF]
class Adaptor
class Application
class Context
class Entity
class Projector
class Repository
class Streamlet
class Saga
Show all
case class Void(loc: At) extends StreamletShape

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class Whole(loc: At) extends PredefinedType, IntegerTypeExpression

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait NumericType
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
sealed trait WithAuthors extends Definition

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
trait VitalDefinition[OPT, DEF]
class Domain
class Epic
class Function
trait Processor[OPT, DEF]
class Adaptor
class Application
class Context
class Entity
class Projector
class Repository
class Streamlet
class Saga
Show all
sealed trait WithIncludes[T <: Definition] extends Container[T]

Added to definitions that support includes

Added to definitions that support includes

Attributes

Supertypes
trait Container[T]
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
trait VitalDefinition[OPT, DEF]
class Domain
class Epic
class Function
trait Processor[OPT, DEF]
class Adaptor
class Application
class Context
class Entity
class Projector
class Repository
class Streamlet
class Saga
Show all
sealed trait WithOptions[T <: OptionValue] extends Definition

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.

Type parameters

T

The sealed base trait of the permitted options for this definition

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Connector
trait VitalDefinition[OPT, DEF]
class Domain
class Epic
class Function
trait Processor[OPT, DEF]
class Adaptor
class Application
class Context
class Entity
class Projector
class Repository
class Streamlet
class Saga
Show all
sealed trait WithTerms

Added to definitions that support a list of term definitions

Added to definitions that support a list of term definitions

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait VitalDefinition[OPT, DEF]
class Domain
class Epic
class Function
trait Processor[OPT, DEF]
class Adaptor
class Application
class Context
class Entity
class Projector
class Repository
class Streamlet
class Saga
Show all
sealed trait WithTypes extends Definition

Base trait of any definition that is a container and contains types

Base trait of any definition that is a container and contains types

Attributes

Supertypes
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
Known subtypes
class Domain
class Function
trait Processor[OPT, DEF]
class Adaptor
class Application
class Context
class Entity
class Projector
class Repository
class Streamlet
Show all
case class WrapperOption(loc: At) extends ContextOption

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

Value parameters

loc

The location of the wrapper option

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait OptionValue
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
case class ZeroOrMore(loc: At, typeExp: TypeExpression) extends Cardinality

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.

Value parameters

loc

The location of the zero-or-more cardinality

typeExp

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

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Cardinality
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all

Value members

Concrete methods

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

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

Value parameters

te

The type expression to examine

Attributes

Returns

A string indicating the kind corresponding to te

def findAuthors(defn: Definition, parents: Seq[Definition]): Seq[AuthorRef]