Definitions

com.reactific.riddl.language.ast.Definitions
trait Definitions

Unit Tests For Definitions

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object AST.type
Self type

Members list

Type members

Classlikes

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], 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 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
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 Application(loc: At, id: Identifier, options: Seq[ApplicationOption], types: Seq[Type], constants: Seq[Constant], 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 Handler
class Constant
class Inlet
class Outlet
class Type
trait UIElement
class Group
class Input
class Output
class Include[T]
class Term
Show all
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
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 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 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

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 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], 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

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 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 Outlet
class Type
class Projector
class Replica
class Repository
class Saga
class Streamlet
class Include[T]
class Term
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 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 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 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 Invariant
class Constant
class Inlet
class Outlet
class Type
class State
class Include[T]
class Term
Show all
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
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
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 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
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 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

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

brief

A brief description (one sentence) for use in documentation

description

An optional description of the function.

examples

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

id

The identifier that names the function

input

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

loc

The location of the function definition

output

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

Attributes

Supertypes
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

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, id: Identifier, types: Seq[Type], elements: Seq[UIElement], brief: Option[LiteralString], description: Option[Description]) extends UIElement

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

A group of UIElement 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 UIElements

id

The unique identifier of the group

loc

The location of the group

types

Type definitions to define types shared by more than one UIElement

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait UIElement
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
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
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 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, id: Identifier, types: Seq[Type], putIn: MessageRef, brief: Option[LiteralString], description: Option[Description]) extends UIElement

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

types

type definitions needed for the Give

Attributes

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

description

An optional description of the invariant.

expression

The conditional expression that must always be true.

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

examples

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

loc

THe location of the "on other" clause

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.

examples

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

from

Optional message generating

loc

The location of the "on" clause

msg

A reference to the message type that is handled

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.

examples

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

loc

THe location of the "on other" clause

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 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, id: Identifier, types: Seq[Type], putOut: MessageRef, brief: Option[LiteralString], description: Option[Description]) extends UIElement

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

putOut

A result reference for the data too be presented

types

any type definitions the view needs

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait UIElement
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
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
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
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 Outlet
class Type
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
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 PutInputInteraction(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 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 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
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 Repository(loc: At, id: Identifier, types: Seq[Type], handlers: Seq[Handler], inlets: Seq[Inlet], outlets: Seq[Outlet], authors: Seq[AuthorRef], functions: Seq[Function], 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 Outlet
class Type
class Include[T]
class Term
Show all
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
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 RootContainer(domains: Seq[Domain], authors: Seq[Author], 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

authors

The sequence of authors defined at root scope

domains

The sequence of domains 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
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 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 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 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 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, types: Seq[Type], 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.

types

Types defined within the body of the state

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Definition
trait RiddlValue
trait RiddlNode
class Object
trait Matchable
class Any
Show all
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
case class Streamlet(loc: At, id: Identifier, shape: StreamletShape, inlets: Seq[Inlet], outlets: Seq[Outlet], handlers: Seq[Handler], functions: Seq[Function], 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 Outlet
class Type
class Include[T]
class Term
Show all
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 TakeOutputInteraction(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 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

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
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
sealed trait UIElement extends ApplicationDefinition

Sealed trait for all UI elements that derive from it

Sealed trait for all UI elements that derive from it

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

Value members

Concrete fields

final val maxMaturity: 100