trait Definitions extends Expressions with Options
Unit Tests For Definitions
- Alphabetic
- By Inheritance
- Definitions
- Options
- Expressions
- TypeExpression
- AbstractDefinitions
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- trait Action extends RiddlValue
Base class for all actions.
Base class for all actions. Actions are used in the "then" and "but" clauses of a Gherkin example such as in the body of a handler's
on
clause or in the definition of a Function. The subclasses define different kinds of actions that can be used.- Definition Classes
- AbstractDefinitions
- trait AlwaysEmpty extends Definition
- Definition Classes
- AbstractDefinitions
- case class BlockDescription(loc: At = At.empty, lines: Seq[LiteralString] = Seq.empty[LiteralString]) extends Description with Product with Serializable
- Definition Classes
- AbstractDefinitions
- trait BrieflyDescribedValue extends RiddlValue
- Definition Classes
- AbstractDefinitions
- trait Container[+D <: RiddlValue] extends RiddlValue
Base trait of any definition that is also a ContainerValue
Base trait of any definition that is also a ContainerValue
- D
The kind of definition that is contained by the container
- Definition Classes
- AbstractDefinitions
- trait Definition extends DescribedValue with BrieflyDescribedValue with Container[Definition]
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
- Definition Classes
- AbstractDefinitions
- trait DescribedValue extends RiddlValue
Base trait of all values that have an optional Description
Base trait of all values that have an optional Description
- Definition Classes
- AbstractDefinitions
- 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.
- Definition Classes
- AbstractDefinitions
- case class FileDescription(loc: At, file: Path) extends Description with Product with Serializable
- Definition Classes
- AbstractDefinitions
- 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.
- Definition Classes
- AbstractDefinitions
- trait GherkinClause extends GherkinValue
Base class of one of the four Gherkin clauses (Given, When, Then, But)
Base class of one of the four Gherkin clauses (Given, When, Then, But)
- Definition Classes
- AbstractDefinitions
- trait GherkinValue extends RiddlValue
Base class of any Gherkin value
Base class of any Gherkin value
- Definition Classes
- AbstractDefinitions
- case class Identifier(loc: At, value: String) extends RiddlValue with Product with Serializable
A RiddlValue that is a parsed identifier, typically the name of a definition.
A RiddlValue that is a parsed identifier, typically the name of a definition.
- loc
The location in the input where the identifier starts
- value
The parsed value of the identifier
- Definition Classes
- AbstractDefinitions
- trait LeafDefinition extends Definition
- Definition Classes
- AbstractDefinitions
- case class LiteralString(loc: At, s: String) extends RiddlValue with Product with Serializable
Represents a literal string parsed between quote characters in the input
Represents a literal string parsed between quote characters in the input
- loc
The location in the input of the opening quote character
- s
The parsed value of the string content
- Definition Classes
- AbstractDefinitions
- case class PathIdentifier(loc: At, value: Seq[String]) extends RiddlValue with Product with Serializable
Represents a segmented identifier to a definition in the model.
Represents a segmented identifier to a definition in the model. Path Identifiers are parsed from a dot-separated list of identifiers in the input. Path identifiers are used to reference other definitions in the model.
- loc
Location in the input of the first letter of the path identifier
- value
The list of strings that make up the path identifier
- Definition Classes
- AbstractDefinitions
- trait ProjectionDefinition extends Definition
Base trait of any definition that occurs in the body of a projection
Base trait of any definition that occurs in the body of a projection
- Definition Classes
- AbstractDefinitions
- abstract class Reference[+T <: Definition] extends RiddlValue
A reference to a definition of a specific type.
A reference to a definition of a specific type.
- T
The type of definition to which the references refers.
- Definition Classes
- AbstractDefinitions
- trait RiddlNode extends AnyRef
The root trait of all things RIDDL AST.
The root trait of all things RIDDL AST. Every node in the tree is a RiddlNode.
- Definition Classes
- AbstractDefinitions
- 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.- Definition Classes
- AbstractDefinitions
- 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
- Definition Classes
- AbstractDefinitions
- 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
- Definition Classes
- AbstractDefinitions
- case class URLDescription(loc: At, url: URL) extends Description with Product with Serializable
- Definition Classes
- AbstractDefinitions
- case class ActivateOutputStep(loc: At, from: OutputRef, relationship: Definitions.LiteralString, to: ActorRef, brief: Option[Definitions.LiteralString] = None) extends InteractionStep with Product with Serializable
- case class Actor(loc: At, id: Definitions.Identifier, is_a: Definitions.LiteralString, brief: Option[Definitions.LiteralString] = None, description: Option[Definitions.Description] = None) extends LeafDefinition with DomainDefinition with Product with Serializable
An StoryActor (Role) who is the initiator of the user story.
An StoryActor (Role) who is the initiator of the user story. Actors may be persons or machines
- loc
The location of the actor in the source
- id
The name (role) of the actor
- is_a
What kind of thing the actor is
- brief
A brief description of the actor
- description
A longer description of the actor and its role
- case class ActorRef(loc: At, pathId: Definitions.PathIdentifier) extends Reference[Actor] with Product with Serializable
A reference to an StoryActor using a path identifier
A reference to an StoryActor using a path identifier
- loc
THe location of the StoryActor in the source code
- pathId
The path identifier that locates the references StoryActor
- case class Adaptor(loc: At, id: Definitions.Identifier, direction: AdaptorDirection, context: ContextRef, handlers: Seq[Handler] = Seq.empty[Handler], inlets: Seq[Inlet] = Seq.empty[Inlet], outlets: Seq[Outlet] = Seq.empty[Outlet], types: Seq[Type] = Seq.empty[Type], includes: Seq[Include[AdaptorDefinition]] = Seq
.empty[Include[AdaptorDefinition]], authors: Seq[AuthorRef] = Seq.empty[AuthorRef], options: Seq[Definitions.AdaptorOption] = Seq.empty[AdaptorOption], terms: Seq[Term] = Seq.empty[Term], brief: Option[Definitions.LiteralString] = Option.empty[LiteralString], description: Option[Definitions.Description] = None) extends Processor[AdaptorOption, AdaptorDefinition] with ContextDefinition with Product with SerializableDefinition of an Adaptor.
Definition of an Adaptor. Adaptors are defined in Contexts to convert messages from another bounded context. Adaptors translate incoming messages into corresponding messages using the ubiquitous language of the defining bounded context. There should be one Adapter for each external Context
- loc
Location in the parsing input
- id
Name of the adaptor
- direction
An indication of whether this is an inbound or outbound adaptor.
- context
A reference to the bounded context from which messages are adapted
- handlers
A set of Handlers that indicate what to do when messages occur.
- brief
A brief description (one sentence) for use in documentation
- description
Optional description of the adaptor.
- sealed trait AdaptorDefinition extends Definition
Base trait of any definition that is in the content of an adaptor
- sealed trait AdaptorDirection extends RiddlValue
- case class AdaptorRef(loc: At, pathId: Definitions.PathIdentifier) extends Reference[Adaptor] with MessageTakingRef[Adaptor] with Product with Serializable
- case class Application(loc: At, id: Definitions.Identifier, options: Seq[Definitions.ApplicationOption] = Seq.empty[ApplicationOption], types: Seq[Type] = Seq.empty[Type], groups: Seq[Group] = Seq.empty[Group], handlers: Seq[Handler] = Seq.empty[Handler], inlets: Seq[Inlet] = Seq.empty[Inlet], outlets: Seq[Outlet] = Seq.empty[Outlet], authors: Seq[AuthorRef] = Seq.empty[AuthorRef], terms: Seq[Term] = Seq.empty[Term], includes: Seq[Include[ApplicationDefinition]] = Seq.empty, brief: Option[Definitions.LiteralString] = None, description: Option[Definitions.Description] = None) extends Processor[ApplicationOption, ApplicationDefinition] with DomainDefinition with Product with Serializable
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.
- loc
The location of the application in the source
- id
The unique identifier for the application
- options
The options for the application
- types
Types that are needed for the communication with the user
- groups
A list of group definitions needed by the application
- handlers
The handlers for this application to process incoming messages
- inlets
Message inlets for the application
- outlets
Message outlets for the application
- authors
Author definitions for the application, for attribution of application components.
- terms
Definitions of terms useful in comprehending the application's purpose
- includes
Included source code
- brief
A brief description of the application
- description
A longer description of the application.
- sealed trait ApplicationDefinition extends Definition
Base trait of any definition that is in the content of an Application
- case class ApplicationRef(loc: At, pathId: Definitions.PathIdentifier) extends Reference[Application] with MessageTakingRef[Application] with Product with Serializable
A reference to an Application using a path identifier
A reference to an Application using a path identifier
- loc
THe location of the StoryActor in the source code
- case class ArbitraryStep(loc: At, from: Definitions.Reference[Definitions.Definition], relationship: Definitions.LiteralString, to: Definitions.Reference[Definitions.Definition], brief: Option[Definitions.LiteralString] = None) extends InteractionStep with Product with Serializable
An arbitrary interaction step.
An arbitrary interaction step. The abstract nature of the relationship is
- loc
The location of the step
- from
A reference to the source of the interaction
- relationship
A literal spring that specifies the arbitrary relationship
- to
A reference to the destination of the interaction
- brief
A brief description of the interaction step
- case class Author(loc: At, id: Definitions.Identifier, name: Definitions.LiteralString, email: Definitions.LiteralString, organization: Option[Definitions.LiteralString] = None, title: Option[Definitions.LiteralString] = None, url: Option[java.net.URL] = None, brief: Option[Definitions.LiteralString] = None, description: Option[Definitions.Description] = None) extends LeafDefinition with DomainDefinition with Product with Serializable
A RiddlValue that holds the author's information
A RiddlValue that holds the author's information
- loc
The location of the author information
- name
The full name of the author
The author's email address
- organization
The name of the organization the author is associated with
- title
The author's title within the organization
- url
A URL associated with the author
- case class AuthorRef(loc: At, pathId: Definitions.PathIdentifier) extends Reference[Author] with Product with Serializable
- case class ButClause(loc: At, action: Definitions.Action) extends GherkinClause with Product with Serializable
A GherkinClause for the But part of a Gherkin Example.
A GherkinClause for the But part of a Gherkin Example. This part specifies what should be done if the WhenClause evaluates to false.
- loc
The location of the But clause
- action
The action to be performed
- case class CommandRef(loc: At, pathId: Definitions.PathIdentifier) extends Reference[Type] with MessageRef with Product with Serializable
A Reference to a command message type
A Reference to a command message type
- loc
The location of the reference
- pathId
The path identifier to the event type
- case class Connector(loc: At, id: Definitions.Identifier, options: Seq[Definitions.ConnectorOption] = Seq.empty[ConnectorOption], flows: Option[TypeRef] = Option.empty[TypeRef], from: Option[OutletRef] = Option.empty[OutletRef], to: Option[InletRef] = Option.empty[InletRef], brief: Option[Definitions.LiteralString] = Option.empty[LiteralString], description: Option[Definitions.Description] = Option.empty[Description]) extends LeafDefinition with ContextDefinition with WithOptions[ConnectorOption] with Product with Serializable
- case class Context(loc: At, id: Definitions.Identifier, options: Seq[Definitions.ContextOption] = Seq.empty[ContextOption], types: Seq[Type] = Seq.empty[Type], entities: Seq[Entity] = Seq.empty[Entity], adaptors: Seq[Adaptor] = Seq.empty[Adaptor], sagas: Seq[Saga] = Seq.empty[Saga], streamlets: Seq[Streamlet] = Seq.empty[Streamlet], functions: Seq[Function] = Seq.empty[Function], terms: Seq[Term] = Seq.empty[Term], includes: Seq[Include[ContextDefinition]] = Seq
.empty[Include[ContextDefinition]], handlers: Seq[Handler] = Seq.empty[Handler], projections: Seq[Projection] = Seq.empty[Projection], repositories: Seq[Repository] = Seq.empty[Repository], inlets: Seq[Inlet] = Seq.empty[Inlet], outlets: Seq[Outlet] = Seq.empty[Outlet], connections: Seq[Connector] = Seq.empty[Connector], authors: Seq[AuthorRef] = Seq.empty[AuthorRef], brief: Option[Definitions.LiteralString] = Option.empty[LiteralString], description: Option[Definitions.Description] = None) extends Processor[ContextOption, ContextDefinition] with DomainDefinition with Product with SerializableA bounded context definition.
A bounded context definition. Bounded contexts provide a definitional boundary on the language used to describe some aspect of a system. They imply a tightly integrated ecosystem of one or more microservices that share a common purpose. Context can be used to house entities, read side projections, sagas, adaptations to other contexts, apis, and etc.
- loc
The location of the bounded context definition
- id
The name of the context
- options
The options for the context
- types
Types defined for the scope of this context
- entities
Entities defined for the scope of this context
- adaptors
Adaptors to messages from other contexts
- sagas
Sagas with all-or-none semantics across various entities
- functions
Features specified for the context
- brief
A brief description (one sentence) for use in documentation
- description
An optional description of the context
- sealed trait ContextDefinition extends Definition
Base trait of any definition that is in the content of a context
- case class ContextRef(loc: At, pathId: Definitions.PathIdentifier) extends Reference[Context] with MessageTakingRef[Context] with Product with Serializable
A reference to a bounded context
A reference to a bounded context
- loc
The location of the reference
- pathId
The path identifier for the referenced context
- case class Domain(loc: At, id: Definitions.Identifier, options: Seq[Definitions.DomainOption] = Seq.empty[DomainOption], authors: Seq[AuthorRef] = Seq.empty[AuthorRef], authorDefs: Seq[Author] = Seq.empty[Author], types: Seq[Type] = Seq.empty[Type], contexts: Seq[Context] = Seq.empty[Context], actors: Seq[Actor] = Seq.empty[Actor], stories: Seq[Story] = Seq.empty[Story], applications: Seq[Application] = Seq.empty[Application], domains: Seq[Domain] = Seq.empty[Domain], terms: Seq[Term] = Seq.empty[Term], includes: Seq[Include[DomainDefinition]] = Seq
.empty[Include[DomainDefinition]], brief: Option[Definitions.LiteralString] = Option.empty[LiteralString], description: Option[Definitions.Description] = None) extends VitalDefinition[DomainOption, DomainDefinition] with RootDefinition with WithTypes with DomainDefinition with Product with SerializableThe definition of a domain.
The definition of a domain. Domains are the highest building block in RIDDL and may be nested inside each other to form a hierarchy of domains. Generally, domains follow hierarchical organization structure but other taxonomies and ontologies may be modelled with domains too.
- loc
The location of the domain definition
- id
The name of the domain
- options
Options for the domain
- types
Type definitions with a domain (nearly global) scope, with applicability to many contexts or subdomains
- contexts
The contexts defined in the scope of the domain
- actors
Actor definitions for use in stories
- stories
Story definitions for this domain
- applications
Application definitions for this domain
- domains
Nested sub-domains within this domain
- terms
Definition of terms pertaining to this domain that provide explanation of concepts from the domain.
- brief
A brief description (one sentence) for use in documentation
- description
An optional description of the domain.
- sealed trait DomainDefinition extends Definition
Base trait of any definition that is in the content of a domain
- case class DomainRef(loc: At, pathId: Definitions.PathIdentifier) extends Reference[Domain] with Product with Serializable
A reference to a domain definition
A reference to a domain definition
- loc
The location at which the domain definition occurs
- case class Entity(loc: At, id: Definitions.Identifier, options: Seq[Definitions.EntityOption] = Seq.empty[EntityOption], states: Seq[State] = Seq.empty[State], types: Seq[Type] = Seq.empty[Type], handlers: Seq[Handler] = Seq.empty[Handler], functions: Seq[Function] = Seq.empty[Function], invariants: Seq[Invariant] = Seq.empty[Invariant], inlets: Seq[Inlet] = Seq.empty[Inlet], outlets: Seq[Outlet] = Seq.empty[Outlet], includes: Seq[Include[EntityDefinition]] = Seq
.empty[Include[EntityDefinition]], authors: Seq[AuthorRef] = Seq.empty[AuthorRef], terms: Seq[Term] = Seq.empty[Term], brief: Option[Definitions.LiteralString] = Option.empty[LiteralString], description: Option[Definitions.Description] = None) extends Processor[EntityOption, EntityDefinition] with ContextDefinition with Product with SerializableDefinition of an Entity
Definition of an Entity
- loc
The location in the input
- id
The name of the entity
- options
The options for the entity
- states
The state values of the entity
- types
Type definitions useful internally to the entity definition
- handlers
A set of event handlers
- functions
Utility functions defined for the entity
- invariants
Invariant properties of the entity
- brief
A brief description (one sentence) for use in documentation
- description
Optional description of the entity
- sealed trait EntityDefinition extends Definition
Base trait of any definition that is in the content of an entity.
- case class EntityRef(loc: At, pathId: Definitions.PathIdentifier) extends Reference[Entity] with MessageTakingRef[Entity] with Product with Serializable
A reference to an entity
A reference to an entity
- loc
The location of the entity reference
- pathId
The path identifier of the referenced entity.
- case class EventRef(loc: At, pathId: Definitions.PathIdentifier) extends Reference[Type] with MessageRef with Product with Serializable
A Reference to an event message type
A Reference to an event message type
- loc
The location of the reference
- pathId
The path identifier to the event type
- case class Example(loc: At, id: Definitions.Identifier, givens: Seq[GivenClause] = Seq.empty[GivenClause], whens: Seq[WhenClause] = Seq.empty[WhenClause], thens: Seq[ThenClause] = Seq.empty[ThenClause], buts: Seq[ButClause] = Seq.empty[ButClause], brief: Option[Definitions.LiteralString] = Option.empty[LiteralString], description: Option[Definitions.Description] = Option.empty[Description]) extends LeafDefinition with OnClauseDefinition with FunctionDefinition with StoryDefinition with Product with Serializable
A Gherkin example.
A Gherkin example. Examples have names, id, and a sequence of each of the four kinds of Gherkin clauses: GivenClause, WhenClause, ThenClause, ButClause
- loc
The location of the start of the example
- id
The name of the example
- givens
The list of Given/And statements
- whens
The list of When/And statements
- thens
The list of Then/And statements
- buts
The List of But/And statements
- brief
A brief description (one sentence) for use in documentation
- description
An optional description of the example
- See also
- case class Flow(loc: At) extends StreamletShape with Product with Serializable
- case class Function(loc: At, id: Definitions.Identifier, input: Option[Definitions.Aggregation] = None, output: Option[Definitions.Aggregation] = None, types: Seq[Type] = Seq.empty[Type], functions: Seq[Function] = Seq.empty[Function], examples: Seq[Example] = Seq.empty[Example], authors: Seq[AuthorRef] = Seq.empty[AuthorRef], includes: Seq[Include[Definitions.FunctionDefinition]] = Seq
.empty[Include[FunctionDefinition]], options: Seq[Definitions.FunctionOption] = Seq.empty[FunctionOption], terms: Seq[Term] = Seq.empty[Term], brief: Option[Definitions.LiteralString] = Option.empty[LiteralString], description: Option[Definitions.Description] = None) extends VitalDefinition[FunctionOption, FunctionDefinition] with WithTypes with SagaDefinition with EntityDefinition with ContextDefinition with FunctionDefinition with Product with SerializableA function definition which can be part of a bounded context or an entity.
A function definition which can be part of a bounded context or an entity.
- loc
The location of the function definition
- id
The identifier that names the function
- input
An optional type expression that names and types the fields of the input of the function
- output
An optional type expression that names and types the fields of the output of the function
- examples
The set of examples that define the behavior of the function.
- brief
A brief description (one sentence) for use in documentation
- description
An optional description of the function.
- case class FunctionRef(loc: At, pathId: Definitions.PathIdentifier) extends Reference[Function] with Product with Serializable
A reference to a function.
A reference to a function.
- loc
The location of the function reference.
- pathId
The path identifier of the referenced function.
- case class GivenClause(loc: At, scenario: Seq[Definitions.LiteralString]) extends GherkinClause with Product with Serializable
A GherkinClause for the Given part of a Gherkin Example
A GherkinClause for the Given part of a Gherkin Example
- loc
The location of the Given clause
- scenario
The strings that define the scenario
- case class Group(loc: At, id: Definitions.Identifier, types: Seq[Type] = Seq.empty[Type], elements: Seq[UIElement] = Seq.empty[UIElement], brief: Option[Definitions.LiteralString] = None, description: Option[Definitions.Description] = None) extends UIElement with Product with Serializable
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.
- loc
The location of the group
- id
The unique identifier of the group
- types
Type definitions to define types shared by more than one UIElement
- elements
The list of UIElements
- brief
A brief description of the group
- description
A more detailed description of the group
- case class GroupRef(loc: At, pathId: Definitions.PathIdentifier) extends Reference[Group] with Product with Serializable
A Reference to a Group
A Reference to a Group
- loc
The At locator of the group reference
- pathId
The path to the referenced group
- case class Handler(loc: At, id: Definitions.Identifier, clauses: Seq[OnClause] = Seq.empty[OnClause], authors: Seq[AuthorRef] = Seq.empty[AuthorRef], brief: Option[Definitions.LiteralString] = Option.empty[LiteralString], description: Option[Definitions.Description] = None) extends Container[HandlerDefinition] with AdaptorDefinition with ApplicationDefinition with ContextDefinition with EntityDefinition with StateDefinition with RepositoryDefinition with StreamletDefinition with ProjectionDefinition with Product with Serializable
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
- loc
The location of the handler definition
- id
The name of the handler.
- clauses
The set of OnMessageClause definitions that define how the entity responds to received messages.
- brief
A brief description (one sentence) for use in documentation
- description
An optional description of the handler
- sealed trait HandlerDefinition extends Definition
Base trait of definitions that are part of a Handler Definition
- case class HandlerRef(loc: At, pathId: Definitions.PathIdentifier) extends Reference[Handler] with Product with Serializable
A reference to a Handler
A reference to a Handler
- loc
The location of the handler reference
- pathId
The path identifier of the referenced handler
- case class InboundAdaptor(loc: At) extends AdaptorDirection with Product with Serializable
- case class Include[T <: Definition](loc: At = At(RiddlParserInput.empty), contents: Seq[T] = Seq.empty[T], source: Option[String] = None) extends Definition with VitalDefinitionDefinition with RootDefinition with Product with Serializable
A RiddlValue to record an inclusion of a file while parsing.
A RiddlValue to record an inclusion of a file while parsing.
- loc
The location of the include statement in the source
- contents
The Vital Definitions read from the file
- source
A string providing the source (path or URL) of the included source
- case class Inlet(loc: At, id: Definitions.Identifier, type_: Definitions.Reference[Type], brief: Option[Definitions.LiteralString] = None, description: Option[Definitions.Description] = None) extends Portlet with LeafDefinition with ProcessorDefinition with AlwaysEmpty with Product with Serializable
A streamlet that supports input of data of a particular type.
A streamlet that supports input of data of a particular type.
- loc
The location of the Inlet definition
- id
The name of the inlet
- type_
The type of the data that is received from the inlet
- brief
A brief description (one sentence) for use in documentation
- description
An optional description of the Inlet
- case class InletRef(loc: At, pathId: Definitions.PathIdentifier) extends Reference[Inlet] with PortletRef[Inlet] with Product with Serializable
A reference to an Inlet
- case class Input(loc: At, id: Definitions.Identifier, types: Seq[Type], putIn: MessageRef, brief: Option[Definitions.LiteralString] = None, description: Option[Definitions.Description] = None) extends UIElement with Product with Serializable
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
- loc
Location of the Give
- id
Name of the give
- types
type definitions needed for the Give
- putIn
a Type reference of the type given by the user
- brief
A brief description of the Give
- description
a detailed description of the Give
- case class InputRef(loc: At, pathId: Definitions.PathIdentifier) extends Reference[Input] with Product with Serializable
A reference to an Input using a path identifier
A reference to an Input using a path identifier
- loc
THe location of the GiveRef in the source code
- pathId
The path identifier that refers to the Give
- sealed trait InteractionExpression extends RiddlValue with BrieflyDescribedValue
- sealed trait InteractionStep extends InteractionExpression
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.
- case class Invariant(loc: At, id: Definitions.Identifier, expression: Option[Definitions.Condition] = None, brief: Option[Definitions.LiteralString] = Option.empty[LiteralString], description: Option[Definitions.Description] = None) extends LeafDefinition with EntityDefinition with ProjectionDefinition with StateDefinition with Product with Serializable
An invariant expression that can be used in the definition of an entity.
An invariant expression that can be used in the definition of an entity. Invariants provide conditional expressions that must be true at all times in the lifecycle of an entity.
- loc
The location of the invariant definition
- id
The name of the invariant
- expression
The conditional expression that must always be true.
- brief
A brief description (one sentence) for use in documentation
- description
An optional description of the invariant.
- case class Merge(loc: At) extends StreamletShape with Product with Serializable
- sealed trait MessageRef extends Reference[Type]
Base trait for the four kinds of message references
- trait MessageTakingRef[+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
- T
The kind of reference needed
- sealed trait OnClause extends HandlerDefinition
A sealed trait for the kinds of OnClause that can occur within a Handler definition.
- sealed trait OnClauseDefinition extends Definition
Base trait of definitions that are part of an On Clause Definition
- case class OnInitClause(loc: At, examples: Seq[Example] = Seq.empty[Example], brief: Option[Definitions.LiteralString] = Option.empty[LiteralString], description: Option[Definitions.Description] = None) extends OnClause with Product with Serializable
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.
- loc
THe location of the "on other" clause
- examples
A set of examples that define the behavior when a message doesn't match
- brief
A brief description (one sentence) for use in documentation
- description
An optional description of the on clause.
- case class OnMessageClause(loc: At, msg: MessageRef, from: Option[Definitions.Reference[Definitions.Definition]], examples: Seq[Example] = Seq.empty[Example], brief: Option[Definitions.LiteralString] = Option.empty[LiteralString], description: Option[Definitions.Description] = None) extends OnClause with Product with Serializable
Defines the actions to be taken when a particular message is received by an entity.
Defines the actions to be taken when a particular message is received by an entity. OnMessageClauses are used in the definition of a Handler with one for each kind of message that handler deals with.
- loc
The location of the "on" clause
- msg
A reference to the message type that is handled
- from
Optional message generating
- examples
A set of examples that define the behavior when the msg is received.
- brief
A brief description (one sentence) for use in documentation
- description
An optional description of the on clause.
- case class OnOtherClause(loc: At, examples: Seq[Example] = Seq.empty[Example], brief: Option[Definitions.LiteralString] = Option.empty[LiteralString], description: Option[Definitions.Description] = None) extends OnClause with Product with Serializable
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.
- loc
THe location of the "on other" clause
- examples
A set of examples that define the behavior when a message doesn't match
- brief
A brief description (one sentence) for use in documentation
- description
An optional description of the on clause.
- case class OnTermClause(loc: At, examples: Seq[Example] = Seq.empty[Example], brief: Option[Definitions.LiteralString] = Option.empty[LiteralString], description: Option[Definitions.Description] = None) extends OnClause with Product with Serializable
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.
- loc
THe location of the "on other" clause
- examples
A set of examples that define the behavior when a message doesn't match
- brief
A brief description (one sentence) for use in documentation
- description
An optional description of the on clause.
- case class OptionalGroup(loc: At, contents: Seq[InteractionExpression], brief: Option[Definitions.LiteralString]) extends InteractionExpression with Product with Serializable
An interaction expression that specifies that its contents are optional
An interaction expression that specifies that its contents are optional
- loc
The location of the optional group
- contents
The optional expressions
- brief
A brief description of the optional group
- case class OtherRef(loc: At, pathId: Definitions.PathIdentifier) extends Reference[Type] with MessageRef with Product with Serializable
A reference to an other message type
A reference to an other message type
- loc
The location of the reference
- pathId
The path identifier to the result type
- case class OutboundAdaptor(loc: At) extends AdaptorDirection with Product with Serializable
- case class Outlet(loc: At, id: Definitions.Identifier, type_: Definitions.Reference[Type], brief: Option[Definitions.LiteralString] = None, description: Option[Definitions.Description] = None) extends Portlet with LeafDefinition with ProcessorDefinition with AlwaysEmpty with Product with Serializable
A streamlet that supports output of data of a particular type.
A streamlet that supports output of data of a particular type.
- loc
The location of the outlet definition
- id
The name of the outlet
- type_
The type expression for the kind of data put out
- brief
A brief description (one sentence) for use in documentation
- description
An optional description of the Outlet.
- case class OutletRef(loc: At, pathId: Definitions.PathIdentifier) extends Reference[Outlet] with PortletRef[Outlet] with Product with Serializable
A reference to an Outlet
- case class Output(loc: At, id: Definitions.Identifier, types: Seq[Type], putOut: MessageRef, brief: Option[Definitions.LiteralString] = None, description: Option[Definitions.Description] = None) extends UIElement with Product with Serializable
A UI Element that presents some information to the user
A UI Element that presents some information to the user
- loc
Location of the view in the source
- id
unique identifier oof the view
- types
any type definitions the view needs
- putOut
A result reference for the data too be presented
- brief
A brief description of the view
- description
A detailed description of the view
- case class OutputRef(loc: At, pathId: Definitions.PathIdentifier) extends Reference[Output] with Product with Serializable
A reference to an View using a path identifier
A reference to an View using a path identifier
- loc
The location of the ViewRef in the source code
- pathId
The path identifier that refers to the View
- case class ParallelGroup(loc: At, contents: Seq[InteractionExpression], brief: Option[Definitions.LiteralString]) extends InteractionExpression with Product with Serializable
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
- loc
Location of the parallel group
- contents
The expressions to execute in parallel
- brief
A brief description of the parallel group
- sealed trait Portlet extends Definition
A sealed trait for Inlets and Outlets
- sealed trait PortletRef[+T <: Portlet] extends Reference[T]
- trait Processor[OPT <: OptionValue, DEF <: Definition] extends VitalDefinition[OPT, DEF] with 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).
- sealed trait ProcessorDefinition extends Definition with AdaptorDefinition with ApplicationDefinition with ContextDefinition with EntityDefinition with ProjectionDefinition with RepositoryDefinition with StreamletDefinition with SagaDefinition
Base trait of definitions defined in a processor
- case class Projection(loc: At, id: Definitions.Identifier, authors: Seq[AuthorRef] = Seq.empty[AuthorRef], options: Seq[Definitions.ProjectionOption] = Seq.empty[ProjectionOption], includes: Seq[Include[Definitions.ProjectionDefinition]] = Seq
.empty[Include[ProjectionDefinition]], types: Seq[Type] = Seq.empty[Type], inlets: Seq[Inlet] = Seq.empty[Inlet], outlets: Seq[Outlet] = Seq.empty[Outlet], handlers: Seq[Handler] = Seq.empty[Handler], invariants: Seq[Invariant] = Seq.empty[Invariant], terms: Seq[Term] = Seq.empty[Term], brief: Option[Definitions.LiteralString] = Option.empty[LiteralString], description: Option[Definitions.Description] = None) extends Processor[ProjectionOption, ProjectionDefinition] with ContextDefinition with WithTypes with Product with SerializableProjections get their name from Euclidean Geometry but are probably more analogous to a relational database view.
Projections get their name from Euclidean Geometry but are probably more analogous to a relational database view. The concept is very simple in RIDDL: projections gather data from entities and other sources, transform that data into a specific record type, and support querying that data arbitrarily.
- loc
Location in the source of the Projection
- id
The unique identifier for this Projection
- authors
The authors of this definition
- options
Options that can be used by the translators
- types
The type definitions necessary to construct the query results
- handlers
Specifies how to handle
- terms
Definitions of terms about this Projection
- brief
A brief description of this Projection
- description
A detailed description of this Projection
- See also
https://en.wikipedia.org/wiki/View_(SQL)).
https://en.wikipedia.org/wiki/Projection_(mathematics)
- case class ProjectionRef(loc: At, pathId: Definitions.PathIdentifier) extends Reference[Projection] with MessageTakingRef[Projection] with Product with Serializable
A reference to an context's projection definition
A reference to an context's projection definition
- loc
The location of the state reference
- pathId
The path identifier of the referenced projection definition
- case class ProvideInputStep(loc: At, from: ActorRef, relationship: Definitions.LiteralString, to: InputRef, brief: Option[Definitions.LiteralString] = None) extends InteractionStep with Product with Serializable
- case class QueryRef(loc: At, pathId: Definitions.PathIdentifier) extends Reference[Type] with MessageRef with Product with Serializable
A reference to a query message type
A reference to a query message type
- loc
The location of the reference
- pathId
The path identifier to the query type
- case class RecordRef(loc: At = At.empty, pathId: Definitions.PathIdentifier = PathIdentifier.empty) extends Reference[Type] with MessageRef with Product with Serializable
A reference to a record message type
A reference to a record message type
- loc
The location of the reference
- pathId
The path identifier to the result type
- case class Repository(loc: At, id: Definitions.Identifier, types: Seq[Type] = Seq.empty[Type], handlers: Seq[Handler] = Seq.empty[Handler], inlets: Seq[Inlet] = Seq.empty[Inlet], outlets: Seq[Outlet] = Seq.empty[Outlet], authors: Seq[AuthorRef] = Seq.empty[AuthorRef], includes: Seq[Include[RepositoryDefinition]] = Seq
.empty[Include[RepositoryDefinition]], options: Seq[Definitions.RepositoryOption] = Seq.empty[RepositoryOption], terms: Seq[Term] = Seq.empty[Term], brief: Option[Definitions.LiteralString] = Option.empty[LiteralString], description: Option[Definitions.Description] = None) extends Processor[RepositoryOption, RepositoryDefinition] with ContextDefinition with Product with SerializableA 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.
- loc
Location in the source of the Repository
- id
The unique identifier for this Repository
- types
The types, typically messages, that the Repository uses
- handlers
The handler for specifying how messages should be handled by the repository
- authors
The author(s) who wrote this repository specification.
- includes
Included files
- options
Options that can be used by the translators
- terms
Definitions of terms about this repository
- brief
A brief description of this repository
- description
A detailed description of this repository
- See also
https://java-design-patterns.com/patterns/repository/#explanation
- sealed trait RepositoryDefinition extends Definition
Base trait of definitions defined in a repository
- case class RepositoryRef(loc: At, pathId: Definitions.PathIdentifier) extends Reference[Projection] with MessageTakingRef[Projection] with Product with Serializable
A reference to a repository definition
A reference to a repository definition
- loc
The location of the state reference
- pathId
The path identifier of the referenced projection definition
- case class ResultRef(loc: At, pathId: Definitions.PathIdentifier) extends Reference[Type] with MessageRef with Product with Serializable
A reference to a result message type
A reference to a result message type
- loc
The location of the reference
- pathId
The path identifier to the result type
- case class RootContainer(contents: Seq[Domain] = Nil, inputs: Seq[RiddlParserInput] = Nil) extends Definition with Product with Serializable
The root of the containment hierarchy, corresponding roughly to a level about a file.
The root of the containment hierarchy, corresponding roughly to a level about a file.
- contents
The sequence of domains contained by this root container
- sealed trait RootDefinition extends Definition
Base trait of definitions defined at root scope
- case class Router(loc: At) extends StreamletShape with Product with Serializable
- case class Saga(loc: At, id: Definitions.Identifier, options: Seq[Definitions.SagaOption] = Seq.empty[SagaOption], input: Option[Definitions.Aggregation] = None, output: Option[Definitions.Aggregation] = None, sagaSteps: Seq[SagaStep] = Seq.empty[SagaStep], functions: Seq[Function] = Seq.empty[Function], inlets: Seq[Inlet] = Seq.empty[Inlet], outlets: Seq[Outlet] = Seq.empty[Outlet], authors: Seq[AuthorRef] = Seq.empty[AuthorRef], includes: Seq[Include[Definitions.SagaDefinition]] = Seq.empty[Include[SagaDefinition]], terms: Seq[Term] = Seq.empty[Term], brief: Option[Definitions.LiteralString] = Option.empty[LiteralString], description: Option[Definitions.Description] = None) extends VitalDefinition[SagaOption, SagaDefinition] with ContextDefinition with Product with Serializable
The definition of a Saga based on inputs, outputs, and the set of SagaSteps involved in the saga.
The definition of a Saga based on inputs, outputs, and the set of SagaSteps involved in the saga. Sagas define a computing action based on a variety of related commands that must all succeed atomically or have their effects undone.
- loc
The location of the Saga definition
- id
The name of the saga
- options
The options of the saga
- input
A definition of the aggregate input values needed to invoke the saga, if any.
- output
A definition of the aggregate output values resulting from invoking the saga, if any.
- sagaSteps
The set of SagaSteps that comprise the saga.
- brief
A brief description (one sentence) for use in documentation
- description
An optional description of the saga.
- case class SagaRef(loc: At, pathId: Definitions.PathIdentifier) extends Reference[Saga] with Product with Serializable
- case class SagaStep(loc: At, id: Definitions.Identifier, doAction: Seq[Example] = Seq.empty[Example], undoAction: Seq[Example] = Seq.empty[Example], brief: Option[Definitions.LiteralString] = Option.empty[LiteralString], description: Option[Definitions.Description] = None) extends SagaDefinition with Product with Serializable
The definition of one step in a saga with its undo step and example.
The definition of one step in a saga with its undo step and example.
- loc
The location of the saga action definition
- id
The name of the SagaAction
- doAction
The command to be done.
- undoAction
The command that undoes doAction
- brief
A brief description (one sentence) for use in documentation
- description
An optional description of the saga action
- case class SelfProcessingStep(loc: At, from: Definitions.Reference[Definitions.Definition], relationship: Definitions.LiteralString, brief: Option[Definitions.LiteralString] = None) extends InteractionStep with Product with Serializable
- case class Sink(loc: At) extends StreamletShape with Product with Serializable
- case class Source(loc: At) extends StreamletShape with Product with Serializable
- case class Split(loc: At) extends StreamletShape with Product with Serializable
- case class State(loc: At, id: Definitions.Identifier, typ: TypeRef, types: Seq[Type] = Seq.empty[Type], handlers: Seq[Handler] = Seq.empty[Handler], invariants: Seq[Invariant] = Seq.empty[Invariant], brief: Option[Definitions.LiteralString] = Option.empty[LiteralString], description: Option[Definitions.Description] = None) extends EntityDefinition with Product with Serializable
Represents the state of an entity.
Represents the state of an entity. The MorphAction can cause the state definition of an entity to change.
- loc
The location of the state definition
- id
The name of the state definition
- brief
A brief description (one sentence) for use in documentation
- description
An optional description of the state.
- case class StateRef(loc: At, pathId: Definitions.PathIdentifier) extends Reference[State] with Product with Serializable
A reference to an entity's state definition
A reference to an entity's state definition
- loc
The location of the state reference
- pathId
The path identifier of the referenced state definition
- case class Story(loc: At, id: Definitions.Identifier, userStory: Option[UserStory] = Option.empty[UserStory], shownBy: Seq[java.net.URL] = Seq.empty[java.net.URL], cases: Seq[UseCase] = Seq.empty[UseCase], examples: Seq[Example] = Seq.empty[Example], authors: Seq[AuthorRef] = Seq.empty[AuthorRef], includes: Seq[Include[StoryDefinition]] = Seq
.empty[Include[StoryDefinition]], options: Seq[Definitions.StoryOption] = Seq.empty[StoryOption], terms: Seq[Term] = Seq.empty[Term], brief: Option[Definitions.LiteralString] = Option.empty[LiteralString], description: Option[Definitions.Description] = None) extends VitalDefinition[StoryOption, StoryDefinition] with DomainDefinition with Product with SerializableThe definition of an Jacobsen use case which focuses on a story.
The definition of an Jacobsen use case which focuses on a story. Stories define functionality from the perspective of actor's (man or machine) interaction with the system that is part of their role. RIDDL defines these stories by allowing a linkage between the actor and RIDDL applications or bounded contexts.
- loc
The location of the story definition
- id
The name of the story
- userStory
The user story per agile and xP (I as a >role< need >feature< so that >reason>)
- shownBy
A list of URLs to visualizations or other materials related to the story
- cases
A list of UseCase's that define the story
- examples
Gherkin examples to specify "done" for the implementation of the user story
- brief
A brief description (one sentence) for use in documentation
- description
An optional description of the
- sealed trait StoryDefinition extends Definition
Base trait of definitions that are in the body of a Story definition
- case class StoryRef(loc: At, pathId: Definitions.PathIdentifier) extends Reference[Story] with Product with Serializable
A reference to a Story definintion.
A reference to a Story definintion.
- loc
Location of the StoryRef
- pathId
The path id of the referenced Story
- case class Streamlet(loc: At, id: Definitions.Identifier, shape: StreamletShape, inlets: Seq[Inlet] = Seq.empty[Inlet], outlets: Seq[Outlet] = Seq.empty[Outlet], handlers: Seq[Handler] = Seq.empty[Handler], types: Seq[Type] = Seq.empty[Type], includes: Seq[Include[StreamletDefinition]] = Seq
.empty[Include[StreamletDefinition]], authors: Seq[AuthorRef] = Seq.empty[AuthorRef], options: Seq[Definitions.StreamletOption] = Seq.empty[StreamletOption], terms: Seq[Term] = Seq.empty[Term], brief: Option[Definitions.LiteralString] = Option.empty[LiteralString], description: Option[Definitions.Description] = None) extends Processor[StreamletOption, StreamletDefinition] with ContextDefinition with Product with SerializableDefinition of a Streamlet.
Definition of a Streamlet. A computing element for processing data from Inlets to Outlets. A processor's processing is specified by Gherkin Examples. Streamlets come in various shapes: Source, Sink, Flow, Merge, Split, and Router depending on how many inlets and outlets they have
- loc
The location of the Processor definition
- id
The name of the processor
- shape
The shape of the processor's inputs and outputs
- inlets
The list of inlets that provide the data the processor needs
- outlets
The list of outlets that the processor produces
- handlers
Definitions of how the processor handles each event type
- brief
A brief description (one sentence) for use in documentation
- description
An optional description of the processor
- sealed trait StreamletDefinition extends Definition
Base trait of definitions define within a Streamlet
- case class StreamletRef(loc: At, pathId: Definitions.PathIdentifier) extends Reference[Streamlet] with MessageTakingRef[Streamlet] with Product with Serializable
A reference to an context's projection definition
A reference to an context's projection definition
- loc
The location of the state reference
- pathId
The path identifier of the referenced projection definition
- sealed trait StreamletShape extends RiddlValue
- case class Term(loc: At, id: Definitions.Identifier, brief: Option[Definitions.LiteralString] = None, description: Option[Definitions.Description] = None) extends LeafDefinition with VitalDefinitionDefinition with Product with Serializable
A term definition for the glossary
- case class ThenClause(loc: At, action: Definitions.Action) extends GherkinClause with Product with Serializable
A GherkinClause for the Then part of a Gherkin Example.
A GherkinClause for the Then part of a Gherkin Example. This part specifies what should be done if the WhenClause evaluates to true.
- loc
The location of the Then clause
- action
The action to be performed
- case class Type(loc: At, id: Definitions.Identifier, typ: Definitions.TypeExpression, brief: Option[Definitions.LiteralString] = Option.empty[LiteralString], description: Option[Definitions.Description] = None) extends Definition with StateDefinition with ProcessorDefinition with FunctionDefinition with DomainDefinition with Product with Serializable
A type definition which associates an identifier with a type expression.
A type definition which associates an identifier with a type expression.
- loc
The location of the type definition
- id
The name of the type being defined
- typ
The type expression of the type being defined
- brief
A brief description (one sentence) for use in documentation
- description
An optional description of the type.
- case class TypeRef(loc: At = At.empty, pathId: Definitions.PathIdentifier = PathIdentifier.empty) extends Reference[Type] with Product with Serializable
A reference to a type definition
A reference to a type definition
- loc
The location in the source where the reference to the type is made
- pathId
The path identifier of the reference type
- sealed trait UIElement extends ApplicationDefinition
Sealed trait for all UI elements that derive from it
- case class UseCase(loc: At, id: Definitions.Identifier, interactions: Seq[InteractionExpression] = Seq.empty[InteractionExpression], brief: Option[Definitions.LiteralString] = None, description: Option[Definitions.Description] = None) extends LeafDefinition with StoryDefinition with Product with Serializable
- case class UserStory(loc: At, actor: ActorRef, capability: Definitions.LiteralString, benefit: Definitions.LiteralString) extends RiddlValue with Product with Serializable
An agile user story definition
An agile user story definition
- loc
Location of the user story
- actor
The actor, or instigator, of the story
- capability
The capability the actor wishes to utilize
- benefit
The benefit of that utilization
- sealed trait VitalDefinition[OPT <: OptionValue, DEF <: Definition] extends Definition with WithOptions[OPT] with WithAuthors with WithIncludes[DEF] with WithTerms
- sealed trait VitalDefinitionDefinition extends AdaptorDefinition with ApplicationDefinition with ContextDefinition with DomainDefinition with EntityDefinition with FunctionDefinition with StreamletDefinition with ProjectionDefinition with RepositoryDefinition with SagaDefinition with StoryDefinition
- case class Void(loc: At) extends StreamletShape with Product with Serializable
- case class WhenClause(loc: At, condition: Definitions.Condition) extends GherkinClause with Product with Serializable
A GherkinClause for the When part of a Gherkin Example
A GherkinClause for the When part of a Gherkin Example
- loc
The location of the When clause
- condition
The condition expression that defines the trigger for the Example
- trait WithAuthors extends Definition
- trait WithIncludes[T <: Definition] extends Container[T]
Added to definitions that support includes
- trait WithTerms extends AnyRef
Added to definitions that support a list of term definitions
- trait WithTypes extends Definition
Base trait of any definition that is a container and contains types
- case class AggregateConstructionExpression(loc: At, msg: Expressions.PathIdentifier, args: ArgList = ArgList()) extends Expression with Product with Serializable
A helper class for creating aggregates and messages that represents the construction of the message or aggregate value from parameters
A helper class for creating aggregates and messages that represents the construction of the message or aggregate value from parameters
- msg
A message reference that specifies the specific type of message to construct
- args
An argument list that should correspond to teh fields of the message
- Definition Classes
- Expressions
- case class AndCondition(loc: At, conditions: Seq[Condition]) extends MultiCondition with Product with Serializable
And condition
And condition
- loc
Location of the and condition
- conditions
The conditions (minimum 2) that must all be true for "and" to be true
- Definition Classes
- Expressions
- case class ArbitraryCondition(loc: At, cond: Expressions.LiteralString) extends Condition with Product with Serializable
Represents an arbitrary condition that is specified merely with a literal string.
Represents an arbitrary condition that is specified merely with a literal string. This can't be easily processed downstream but provides the author with the ability to include arbitrary ideas/concepts into an condition expression. For example in a when condition:
example foo { when "the timer has expired" }
shows the use of an arbitrary condition for the "when" part of a Gherkin example.
- cond
The arbitrary condition provided as a quoted string
- Definition Classes
- Expressions
- case class ArbitraryExpression(cond: Expressions.LiteralString) extends Expression with Product with Serializable
An arbitrary expression provided by a LiteralString Arbitrary expressions conform to the type based on the context in which they are found.
An arbitrary expression provided by a LiteralString Arbitrary expressions conform to the type based on the context in which they are found. Another way to think of it is that arbitrary expressions are assignment compatible with any other type For example, in an arithmetic expression like this
+(42,"number of widgets in a wack-a-mole")
the arbitrary expression given by the string conforms to a numeric type since the context is the addition of 42 and the arbitrary expression
- Definition Classes
- Expressions
- case class ArbitraryOperator(loc: At, opName: Expressions.LiteralString, arguments: ArgList) extends Expression with Product with Serializable
- Definition Classes
- Expressions
- case class ArgList(args: ListMap[Expressions.Identifier, Expression] = ListMap
.empty[Identifier, Expression]) extends RiddlNode with Product with SerializableThe arguments of a FunctionCallExpression and AggregateConstructionExpression is a mapping between an argument name and the expression that provides the value for that argument.
The arguments of a FunctionCallExpression and AggregateConstructionExpression is a mapping between an argument name and the expression that provides the value for that argument.
- args
A mapping of Identifier to Expression to provide the arguments for the function call.
- Definition Classes
- Expressions
- case class ArithmeticOperator(loc: At, operator: String, operands: Seq[Expression]) extends NumericExpression with Product with Serializable
Represents the use of an arithmetic operator or well-known function call.
Represents the use of an arithmetic operator or well-known function call. The operator can be simple like addition or subtraction or complicated like pow, sqrt, etc. There is no limit on the number of operands but defining them shouldn't be necessary as they are pre-determined by use of the name of the operator (e.g. pow takes two floating point numbers, sqrt takes one.
- loc
The location of the operator
- operator
The name of the operator (+, -, sqrt, ...)
- operands
A list of expressions that correspond to the required operands for the operator
- Definition Classes
- Expressions
- sealed trait Comparator extends RiddlNode
- Definition Classes
- Expressions
- case class Comparison(loc: At, op: Comparator, expr1: Expression, expr2: Expression) extends Condition with Product with Serializable
Represents one of the six comparison operators
Represents one of the six comparison operators
- loc
Location of the comparison
- op
The comparison operator
- expr1
The first operand in the comparison
- expr2
The second operand in the comparison
- Definition Classes
- Expressions
- sealed abstract class Condition extends Expression
Base trait for expressions that yield a boolean value (a condition)
Base trait for expressions that yield a boolean value (a condition)
- Definition Classes
- Expressions
- case class DateFunction(loc: At, name: String, args: Seq[Expression] = Seq.empty[Expression]) extends ValueFunctionExpression with Product with Serializable
- Definition Classes
- Expressions
- sealed trait Expression extends RiddlValue
Base trait of all expressions
Base trait of all expressions
- Definition Classes
- Expressions
- case class False(loc: At) extends Condition with Product with Serializable
A condition value for "false"
- case class FunctionCallCondition(loc: At, name: Expressions.PathIdentifier, arguments: ArgList) extends Condition with Product with Serializable
A RIDDL Function call to the function identified by its path identifier with a matching set of arguments.
A RIDDL Function call to the function identified by its path identifier with a matching set of arguments. This function must return a boolean since it is defined as a Condition.
- loc
The location of the function call expression
- name
The path identifier of the RIDDL Function being called
- arguments
An ArgList to pass to the function.
- Definition Classes
- Expressions
- case class FunctionCallExpression(loc: At, name: Expressions.PathIdentifier, arguments: ArgList) extends Expression with Product with Serializable
A RIDDL Function call.
A RIDDL Function call. The only callable thing here is a function identified by its path identifier with a matching set of arguments
- loc
The location of the function call expression
- name
The path identifier of the RIDDL Function being called
- arguments
An ArgList to pass to the function.
- Definition Classes
- Expressions
- case class GroupExpression(loc: At, expressions: Seq[Expression]) extends Expression with Product with Serializable
A syntactic convenience for grouping a list of expressions.
A syntactic convenience for grouping a list of expressions.
- loc
The location of the expression group
- expressions
The expressions that are grouped
- Definition Classes
- Expressions
- case class LiteralDecimal(loc: At, d: BigDecimal) extends NumericExpression with Product with Serializable
An expression that is a liberal constant decimal value
An expression that is a liberal constant decimal value
- loc
The location of the decimal value
- d
The decimal number to use as the value of the expression
- Definition Classes
- Expressions
- case class LiteralInteger(loc: At, n: BigInt) extends NumericExpression with Product with Serializable
An expression that is a literal constant integer value
An expression that is a literal constant integer value
- loc
The location of the integer value
- n
The number to use as the value of the expression
- Definition Classes
- Expressions
- abstract class MultiCondition extends Condition
Base class for conditions with two operands
Base class for conditions with two operands
- Definition Classes
- Expressions
- case class NewEntityIdOperator(loc: At, entityId: Expressions.PathIdentifier) extends Expression with Product with Serializable
A helper class for creating expressions that represent the creation of a new entity identifier for a specific kind of entity.
A helper class for creating expressions that represent the creation of a new entity identifier for a specific kind of entity.
- loc
The location of the expression in the source
- entityId
The PathIdentifier of the entity type for with the Id is created
- Definition Classes
- Expressions
- case class NotCondition(loc: At, cond1: Condition) extends Condition with Product with Serializable
Not condition
Not condition
- loc
Location of the not condition
- cond1
The condition being negated
- Definition Classes
- Expressions
- case class NumberFunction(loc: At, name: String, args: Seq[Expression] = Seq.empty[Expression]) extends NumericExpression with ValueFunctionExpression with Product with Serializable
- Definition Classes
- Expressions
- sealed abstract class NumericExpression extends Expression
Base trait for expressions that yield a numeric value
Base trait for expressions that yield a numeric value
- Definition Classes
- Expressions
- case class OrCondition(loc: At, conditions: Seq[Condition]) extends MultiCondition with Product with Serializable
Or condition
Or condition
- loc
Location of the
or
condition- conditions
The conditions (minimum 2), any one of which must be true for "Or" to be true
- Definition Classes
- Expressions
- case class StringFunction(loc: At, name: String, args: Seq[Expression] = Seq.empty[Expression]) extends ValueFunctionExpression with Product with Serializable
- Definition Classes
- Expressions
- case class Ternary(loc: At, condition: Condition, expr1: Expression, expr2: Expression) extends Expression with Product with Serializable
Ternary operator to accept a conditional and two expressions and choose one of the expressions as the resulting value based on the conditional.
Ternary operator to accept a conditional and two expressions and choose one of the expressions as the resulting value based on the conditional.
- loc
The location of the ternary operator
- condition
The conditional expression that determines the result
- expr1
An expression for the result if the condition is true
- expr2
An expression for the result if the condition is false
- Definition Classes
- Expressions
- case class TimeStampFunction(loc: At, name: String, args: Seq[Expression] = Seq.empty[Expression]) extends ValueFunctionExpression with Product with Serializable
- Definition Classes
- Expressions
- case class True(loc: At) extends Condition with Product with Serializable
A condition value for "true"
- case class UndefinedOperator(loc: At) extends Expression with Product with Serializable
Represents a expression that will be specified later and uses the ??? syntax to represent that condition.
Represents a expression that will be specified later and uses the ??? syntax to represent that condition.
- loc
The location of the undefined condition
- Definition Classes
- Expressions
- case class ValueCondition(loc: At, path: Expressions.PathIdentifier) extends Condition with Product with Serializable
Represents a condition that is merely a reference to some Boolean value, presumably an entity state value or parameter.
Represents a condition that is merely a reference to some Boolean value, presumably an entity state value or parameter.
- loc
The location of this condition
- path
The path to the value for this condition
- Definition Classes
- Expressions
- trait ValueFunctionExpression extends Expression
Base trait for expressions that yield a TimeStamp value
Base trait for expressions that yield a TimeStamp value
- Definition Classes
- Expressions
- case class ValueOperator(loc: At, path: Expressions.PathIdentifier) extends Expression with Product with Serializable
Represents an opoerator that is merely a reference to some value, presumably an entity state value but could also be a projection or repository value.
Represents an opoerator that is merely a reference to some value, presumably an entity state value but could also be a projection or repository value.
- loc
The location of this expression
- path
The path to the value for this expression
- Definition Classes
- Expressions
- case class XorCondition(loc: At, conditions: Seq[Condition]) extends MultiCondition with Product with Serializable
Xor condition
Xor condition
- loc
Location of the
xor
condition- conditions
The conditions (minimum 2), only one of which may be true for "xor" to be true.
- Definition Classes
- Expressions
- sealed abstract class AdaptorOption extends OptionValue
- Definition Classes
- Options
- case class AdaptorTechnologyOption(loc: At, args: Seq[Options.LiteralString]) extends AdaptorOption with Product with Serializable
- Definition Classes
- Options
- sealed abstract class ApplicationOption extends OptionValue
- Definition Classes
- Options
- case class ApplicationTechnologyOption(loc: At, args: Seq[Options.LiteralString] = Seq.empty[LiteralString]) extends ApplicationOption with Product with Serializable
- Definition Classes
- Options
- sealed abstract class ConnectorOption extends OptionValue
- Definition Classes
- Options
- case class ConnectorPersistentOption(loc: At) extends ConnectorOption with Product with Serializable
- Definition Classes
- Options
- case class ConnectorTechnologyOption(loc: At, args: Seq[Options.LiteralString]) extends ConnectorOption with Product with Serializable
- Definition Classes
- Options
- sealed abstract class ContextOption extends OptionValue
Base trait for all options a Context can have.
Base trait for all options a Context can have.
- Definition Classes
- Options
- case class ContextPackageOption(loc: At, args: Seq[Options.LiteralString]) extends ContextOption with Product with Serializable
- Definition Classes
- Options
- case class ContextTechnologyOption(loc: At, args: Seq[Options.LiteralString]) extends ContextOption with Product with Serializable
- Definition Classes
- Options
- case class DomainExternalOption(loc: At) extends DomainOption with Product with Serializable
- Definition Classes
- Options
- sealed abstract class DomainOption extends OptionValue
Base trait for all options a Domain can have.
Base trait for all options a Domain can have.
- Definition Classes
- Options
- case class DomainPackageOption(loc: At, args: Seq[Options.LiteralString]) extends DomainOption with Product with Serializable
A context's "wrapper" option.
A context's "wrapper" option. This option suggests the bounded context is to be used as a wrapper around an external system and is therefore at the boundary of the context map
- loc
The location of the wrapper option
- Definition Classes
- Options
- case class DomainTechnologyOption(loc: At, args: Seq[Options.LiteralString]) extends DomainOption with Product with Serializable
- Definition Classes
- Options
- case class EntityEventSourced(loc: At) extends EntityOption with Product with Serializable
An EntityOption that indicates that this entity should store its state in an event sourced fashion.
An EntityOption that indicates that this entity should store its state in an event sourced fashion.
- loc
The location of the option.
- Definition Classes
- Options
- case class EntityIsAggregate(loc: At) extends EntityOption with Product with Serializable
An EntityOption that indicates that this entity is an aggregate root entity through which all commands and queries are sent on behalf of the aggregated entities.
An EntityOption that indicates that this entity is an aggregate root entity through which all commands and queries are sent on behalf of the aggregated entities.
- loc
The location of the option
- Definition Classes
- Options
- case class EntityIsAvailable(loc: At) extends EntityOption with Product with Serializable
A EntityOption that indicates that this entity favors availability over consistency in the CAP theorem.
A EntityOption that indicates that this entity favors availability over consistency in the CAP theorem.
- loc
The location of the option.
- Definition Classes
- Options
- case class EntityIsConsistent(loc: At) extends EntityOption with Product with Serializable
An EntityOption that indicates that this entity favors consistency over availability in the CAP theorem.
An EntityOption that indicates that this entity favors consistency over availability in the CAP theorem.
- loc
The location of the option.
- Definition Classes
- Options
- case class EntityIsDevice(loc: At) extends EntityOption with Product with Serializable
- Definition Classes
- Options
- case class EntityIsFiniteStateMachine(loc: At) extends EntityOption with Product with Serializable
An EntityOption that indicates that this entity is intended to implement a finite state machine.
An EntityOption that indicates that this entity is intended to implement a finite state machine.
- loc
The location of the option.
- Definition Classes
- Options
- case class EntityKind(loc: At, args: Seq[Options.LiteralString]) extends EntityOption with Product with Serializable
An EntityOption that indicates the general kind of entity being defined.
An EntityOption that indicates the general kind of entity being defined. This option takes a value which provides the kind. Examples of useful kinds are "device", "actor", "concept", "machine", and similar kinds of entities. This entity option may be used by downstream AST processors, especially code generators.
- loc
The location of the entity kind option
- args
The argument to the option
- Definition Classes
- Options
- case class EntityMessageQueue(loc: At) extends EntityOption with Product with Serializable
An EntityOption that indicates that this entity should allow receipt of commands and queries via a message queue.
An EntityOption that indicates that this entity should allow receipt of commands and queries via a message queue.
- loc
The location at which this option occurs.
- Definition Classes
- Options
- sealed abstract class EntityOption extends EntityValue with OptionValue
Abstract base class of options for entities
Abstract base class of options for entities
- Definition Classes
- Options
- case class EntityTechnologyOption(loc: At, args: Seq[Options.LiteralString]) extends EntityOption with Product with Serializable
- Definition Classes
- Options
- case class EntityTransient(loc: At) extends EntityOption with Product with Serializable
An EntityOption that indicates that this entity should not persist its state and is only available in transient memory.
An EntityOption that indicates that this entity should not persist its state and is only available in transient memory. All entity values will be lost when the service is stopped.
- loc
The location of the option.
- Definition Classes
- Options
- 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
- Definition Classes
- Options
- case class EntityValueOption(loc: At) extends EntityOption with Product with Serializable
An EntityOption that indicates that this entity should store only the latest value without using event sourcing.
An EntityOption that indicates that this entity should store only the latest value without using event sourcing. In other words, the history of changes is not stored.
- loc
The location of the option
- Definition Classes
- Options
- sealed abstract class FunctionOption extends OptionValue
Base class of all function options
Base class of all function options
- Definition Classes
- Options
- case class GatewayOption(loc: At) extends ContextOption with Product with Serializable
A context's "gateway" option that suggests the bounded context is intended to be an application gateway to the model.
A context's "gateway" option that suggests the bounded context is intended to be an application gateway to the model. Gateway's provide authentication and authorization access to external systems, usually user applications.
- loc
The location of the gateway option
- Definition Classes
- Options
- sealed abstract class HandlerOption extends OptionValue
- Definition Classes
- Options
- trait OptionValue extends RiddlValue
Base trait for option values for any option of a definition.
Base trait for option values for any option of a definition.
- Definition Classes
- Options
- case class ParallelOption(loc: At) extends SagaOption with Product with Serializable
A SagaOption that indicates parallel execution of the saga actions.
A SagaOption that indicates parallel execution of the saga actions.
- loc
The location of the parallel option
- Definition Classes
- Options
- case class PartialHandlerOption(loc: At) extends HandlerOption with Product with Serializable
- Definition Classes
- Options
- sealed abstract class ProjectionOption extends OptionValue
- Definition Classes
- Options
- case class ProjectionTechnologyOption(loc: At, args: Seq[Options.LiteralString]) extends ProjectionOption with Product with Serializable
- Definition Classes
- Options
- sealed abstract class RepositoryOption extends OptionValue
- Definition Classes
- Options
- case class RepositoryTechnologyOption(loc: At, args: Seq[Options.LiteralString]) extends RepositoryOption with Product with Serializable
- Definition Classes
- Options
- sealed abstract class SagaOption extends OptionValue
Base trait for all options applicable to a saga.
Base trait for all options applicable to a saga.
- Definition Classes
- Options
- case class SagaTechnologyOption(loc: At, args: Seq[Options.LiteralString]) extends SagaOption with Product with Serializable
- Definition Classes
- Options
- case class SequentialOption(loc: At) extends SagaOption with Product with Serializable
A SagaOption that indicates sequential (serial) execution of the saga actions.
A SagaOption that indicates sequential (serial) execution of the saga actions.
- loc
The location of the sequential option
- Definition Classes
- Options
- case class ServiceOption(loc: At) extends ContextOption with Product with Serializable
A context's "service" option.
A context's "service" option. This option suggests the bounded context is intended to be a DDD service, similar to a wrapper but without any persistent state and more of a stateless service aspect to its nature
- loc
The location at which the option occurs
- Definition Classes
- Options
- sealed abstract class StoryOption extends OptionValue
- Definition Classes
- Options
- case class StorySynchronousOption(loc: At) extends StoryOption with Product with Serializable
- Definition Classes
- Options
- case class StoryTechnologyOption(loc: At, args: Seq[Options.LiteralString]) extends StoryOption with Product with Serializable
- Definition Classes
- Options
- sealed abstract class StreamletOption extends OptionValue
- Definition Classes
- Options
- case class StreamletTechnologyOption(loc: At, args: Seq[Options.LiteralString]) extends StreamletOption with Product with Serializable
- Definition Classes
- Options
- case class TailRecursive(loc: At) extends FunctionOption with Product with Serializable
A function option to mark a function as being tail recursive
A function option to mark a function as being tail recursive
- loc
The location of the tail recursive option
- Definition Classes
- Options
- 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.
- T
The sealed base trait of the permitted options for this definition
- Definition Classes
- Options
- case class WrapperOption(loc: At) extends ContextOption with Product with Serializable
A context's "wrapper" option.
A context's "wrapper" option. This option suggests the bounded context is to be used as a wrapper around an external system and is therefore at the boundary of the context map
- loc
The location of the wrapper option
- Definition Classes
- Options
- case class Abstract(loc: At) extends PredefinedType with Product with Serializable
The simplest type expression: Abstract An abstract type expression is one that is not defined explicitly.
The simplest type expression: Abstract An abstract type expression is one that is not defined explicitly. It is treated as a concrete type but without any structural or type information. This is useful for types that are defined only at implementation time or for types whose variations are so complicated they need to remain abstract at the specification level.
- loc
The location of the Bool type expression
- Definition Classes
- TypeExpression
- trait AggregateTypeExpression extends TypeExpression with Container[Field]
A type expression that contains an aggregation of fields
A type expression that contains an aggregation of fields
This is used as the base trait of Aggregations and Messages
- Definition Classes
- TypeExpression
- sealed trait AggregateUseCase extends AnyRef
Base of an enumeration for the four kinds of message types
Base of an enumeration for the four kinds of message types
- Definition Classes
- TypeExpression
- case class AggregateUseCaseTypeExpression(loc: At, usecase: AggregateUseCase, fields: Seq[Field] = Seq.empty[Field]) extends AggregateTypeExpression with Product with Serializable
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.
- loc
The location of the message type expression
- usecase
The kind of message defined
- fields
The fields of the message's aggregation
- Definition Classes
- TypeExpression
- case class Aggregation(loc: At, fields: Seq[Field] = Seq.empty[Field]) extends AggregateTypeExpression with Product with Serializable
A type expression that takes a set of named fields as its value.
A type expression that takes a set of named fields as its value.
- loc
The location of the aggregation definition
- fields
The fields of the aggregation
- Definition Classes
- TypeExpression
- case class AliasedTypeExpression(loc: At, pathId: TypeExpression.PathIdentifier) extends TypeExpression with Product with Serializable
A TypeExpression that references another type by PathIdentifier
A TypeExpression that references another type by PathIdentifier
- loc
The location of the AliasedTypeExpression
- pathId
The path identifier to the aliased type
- Definition Classes
- TypeExpression
- case class Alternation(loc: At, of: Seq[AliasedTypeExpression]) extends TypeExpression with Product with Serializable
A type expression that that defines its range of possible values as being any one of the possible values from a set of other type expressions.
A type expression that that defines its range of possible values as being any one of the possible values from a set of other type expressions.
- loc
The location of the alternation type expression
- of
The set of type expressions from which the value for this alternation may be chosen
- Definition Classes
- TypeExpression
- case class Bool(loc: At) extends PredefinedType with NumericType with Product with Serializable
A predefined type expression for boolean values (true / false)
A predefined type expression for boolean values (true / false)
- loc
The location of the Bool type expression
- Definition Classes
- TypeExpression
- sealed trait Cardinality extends TypeExpression
Base trait of the cardinality type expressions
Base trait of the cardinality type expressions
- Definition Classes
- TypeExpression
- case class Currency(loc: At, country: String) extends PredefinedType with Product with Serializable
- Definition Classes
- TypeExpression
- case class Current(loc: At) extends PredefinedType with NumericType with Product with Serializable
A predefined type expression for the SI Base unit for Current (amperes)
A predefined type expression for the SI Base unit for Current (amperes)
- loc
\- The locaitonof the current type expression
- Definition Classes
- TypeExpression
- case class Date(loc: At) extends PredefinedType with TimeType with Product with Serializable
A predefined type expression for a calendar date.
A predefined type expression for a calendar date.
- loc
The location of the date type expression.
- Definition Classes
- TypeExpression
- case class DateTime(loc: At) extends PredefinedType with TimeType with Product with Serializable
A predefined type expression for a calendar date and clock time combination.
A predefined type expression for a calendar date and clock time combination.
- loc
The location of the datetime type expression.
- Definition Classes
- TypeExpression
- case class Decimal(loc: At) extends PredefinedType with NumericType with Product with Serializable
A predefined type expression for a decimal value including IEEE floating point syntax.
A predefined type expression for a decimal value including IEEE floating point syntax.
- loc
The location of the decimal integer type expression
- Definition Classes
- TypeExpression
- case class Duration(loc: At) extends PredefinedType with TimeType with Product with Serializable
A predefined type expression for a time duration that records the number of milliseconds between two fixed points in time
A predefined type expression for a time duration that records the number of milliseconds between two fixed points in time
- loc
The location of the duration type expression
- Definition Classes
- TypeExpression
- case class EntityReferenceTypeExpression(loc: At, entity: TypeExpression.PathIdentifier) extends TypeExpression with Product with Serializable
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.
- loc
The location of the reference type expression
- entity
The type of entity referenced by this type expression.
- Definition Classes
- TypeExpression
- case class Enumeration(loc: At, enumerators: Seq[Enumerator]) extends TypeExpression with Product with Serializable
A type expression that defines its range of possible values as being one value from a set of enumerated values.
A type expression that defines its range of possible values as being one value from a set of enumerated values.
- loc
The location of the enumeration type expression
- enumerators
The set of enumerators from which the value of this enumeration may be chosen.
- Definition Classes
- TypeExpression
- case class Enumerator(loc: At, id: TypeExpression.Identifier, enumVal: Option[Long] = None, brief: Option[TypeExpression.LiteralString] = Option.empty[LiteralString], description: Option[TypeExpression.Description] = None) extends LeafDefinition with TypeDefinition with Product with Serializable
Represents one variant among (one or) many variants that comprise an Enumeration
Represents one variant among (one or) many variants that comprise an Enumeration
- id
the identifier (name) of the Enumerator
- enumVal
the optional int value
- brief
A brief description (one sentence) for use in documentation
- description
the description of the enumerator. Each Enumerator in an enumeration may define independent descriptions
- Definition Classes
- TypeExpression
- case class Field(loc: At, id: TypeExpression.Identifier, typeEx: TypeExpression, brief: Option[TypeExpression.LiteralString] = Option.empty[LiteralString], description: Option[TypeExpression.Description] = None) extends LeafDefinition with AlwaysEmpty with TypeDefinition with SagaDefinition with StateDefinition with FunctionDefinition with ProjectionDefinition with Product with Serializable
A definition that is a field of an aggregation type expressions.
A definition that is a field of an aggregation type expressions. Fields associate an identifier with a type expression.
- loc
The location of the field definition
- id
The name of the field
- typeEx
The type of the field
- brief
A brief description (one sentence) for use in documentation
- description
An optional description of the field.
- Definition Classes
- TypeExpression
- case class Integer(loc: At) extends PredefinedType with NumericType with Product with Serializable
A predefined type expression for an integer value
A predefined type expression for an integer value
- loc
The location of the integer type expression
- Definition Classes
- TypeExpression
- case class Length(loc: At) extends PredefinedType with NumericType with Product with Serializable
A predefined type expression for the SI Base unit for Length (meters)
A predefined type expression for the SI Base unit for Length (meters)
- loc
The location of the current type expression
- Definition Classes
- TypeExpression
- case class Location(loc: At) extends PredefinedType with Product with Serializable
A predefined type expression for a location on earth given in latitude and longitude.
A predefined type expression for a location on earth given in latitude and longitude.
- loc
The location of the LatLong type expression.
- Definition Classes
- TypeExpression
- case class Luminosity(loc: At) extends PredefinedType with NumericType with Product with Serializable
A predefined type expression for the SI Base Unit for Luminosity (candela)
A predefined type expression for the SI Base Unit for Luminosity (candela)
- loc
The location of the luminosity expression
- Definition Classes
- TypeExpression
- case class Mapping(loc: At, from: TypeExpression, to: TypeExpression) extends TypeExpression with Product with Serializable
A type expressions that defines a mapping from a key to a value.
A type expressions that defines a mapping from a key to a value. The value of a Mapping is the set of mapped key -> value pairs, based on which keys have been provided values.
- loc
The location of the mapping type expression
- from
The type expression for the keys of the mapping
- to
The type expression for the values of the mapping
- Definition Classes
- TypeExpression
- case class Mass(loc: At) extends PredefinedType with NumericType with Product with Serializable
- Definition Classes
- TypeExpression
- case class Mole(loc: At) extends PredefinedType with NumericType with Product with Serializable
A predefined type expression for the SI Base Unit for Mole (mole)
A predefined type expression for the SI Base Unit for Mole (mole)
- loc
\- The location of the mass type expression
- Definition Classes
- TypeExpression
- case class Nothing(loc: At) extends PredefinedType with Product with Serializable
A predefined type expression for a type that can have no values
A predefined type expression for a type that can have no values
- loc
The location of the nothing type expression.
- Definition Classes
- TypeExpression
- case class Number(loc: At) extends PredefinedType with NumericType with Product with Serializable
A predefined type expression for an arbitrary number value
A predefined type expression for an arbitrary number value
- loc
The location of the number type expression
- Definition Classes
- TypeExpression
- sealed trait NumericType extends PredefinedType
- Definition Classes
- TypeExpression
- case class OneOrMore(loc: At, typeExp: TypeExpression) extends Cardinality with Product with Serializable
A cardinality type expression that indicates another type expression as having one or more instances.
A cardinality type expression that indicates another type expression as having one or more instances.
- loc
The location of the one-or-more cardinality
- typeExp
The type expression that is indicated with a cardinality of one or more.
- Definition Classes
- TypeExpression
- case class Optional(loc: At, typeExp: TypeExpression) extends Cardinality with Product with Serializable
A cardinality type expression that indicates another type expression as being optional; that is with a cardinality of 0 or 1.
A cardinality type expression that indicates another type expression as being optional; that is with a cardinality of 0 or 1.
- loc
The location of the optional cardinality
- typeExp
The type expression that is indicated as optional
- Definition Classes
- TypeExpression
- case class Pattern(loc: At, pattern: Seq[TypeExpression.LiteralString]) extends PredefinedType with Product with Serializable
A type expression that defines a string value constrained by a Java Regular Expression
A type expression that defines a string value constrained by a Java Regular Expression
- loc
The location of the pattern type expression
- pattern
The Java Regular Expression to which values of this type expression must obey.
- Definition Classes
- TypeExpression
- See also
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/regex/Pattern.html
- abstract class PredefinedType extends TypeExpression
Base class of all pre-defined type expressions
Base class of all pre-defined type expressions
- Definition Classes
- TypeExpression
- case class RangeType(loc: At, min: Long, max: Long) extends PredefinedType with NumericType with Product with Serializable
A type expression that defines a set of integer values from a minimum value to a maximum value, inclusively.
A type expression that defines a set of integer values from a minimum value to a maximum value, inclusively.
- loc
The location of the RangeType type expression
- min
The minimum value of the RangeType
- max
The maximum value of the RangeType
- Definition Classes
- TypeExpression
- case class Real(loc: At) extends PredefinedType with NumericType with Product with Serializable
A predefined type expression for a real number value.
A predefined type expression for a real number value.
- loc
The location of the real number type expression
- Definition Classes
- TypeExpression
- case class SpecificRange(loc: At, typeExp: TypeExpression, min: Long, max: Long) extends Cardinality with Product with Serializable
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
- loc
The location of the one-or-more cardinality
- typeExp
The type expression that is indicated with a cardinality of one or more.
- min
The minimum number of items
- max
The maximum number of items
- Definition Classes
- TypeExpression
- case class Strng(loc: At, min: Option[Long] = None, max: Option[Long] = None) extends PredefinedType with Product with Serializable
A type expression for values of arbitrary string type, possibly bounded by length.
A type expression for values of arbitrary string type, possibly bounded by length.
- loc
The location of the Strng type expression
- min
The minimum length of the string (default: 0)
- max
The maximum length of the string (default: MaxInt)
- Definition Classes
- TypeExpression
- case class Temperature(loc: At) extends PredefinedType with NumericType with Product with Serializable
A predefined type expression for the SI Base Unit for Temperature (Kelvin)
A predefined type expression for the SI Base Unit for Temperature (Kelvin)
- loc
\- The location of the mass type expression
- Definition Classes
- TypeExpression
- case class Time(loc: At) extends PredefinedType with TimeType with Product with Serializable
A predefined type expression for a clock time with hours, minutes, seconds.
A predefined type expression for a clock time with hours, minutes, seconds.
- loc
The location of the time type expression.
- Definition Classes
- TypeExpression
- case class TimeStamp(loc: At) extends PredefinedType with TimeType with Product with Serializable
A predefined type expression for a timestamp that records the number of milliseconds from the epoch.
A predefined type expression for a timestamp that records the number of milliseconds from the epoch.
- loc
The location of the timestamp
- Definition Classes
- TypeExpression
- sealed trait TimeType extends PredefinedType
- Definition Classes
- TypeExpression
- sealed trait TypeDefinition extends Definition
- Definition Classes
- TypeExpression
- sealed trait TypeExpression extends RiddlValue
Base trait of an expression that defines a type
Base trait of an expression that defines a type
- Definition Classes
- TypeExpression
- case class URL(loc: At, scheme: Option[TypeExpression.LiteralString] = None) extends PredefinedType with Product with Serializable
A predefined type expression for a Uniform Resource Locator of a specific schema.
A predefined type expression for a Uniform Resource Locator of a specific schema.
- loc
The location of the URL type expression
- scheme
The scheme to which the URL is constrained.
- Definition Classes
- TypeExpression
- case class UUID(loc: At) extends PredefinedType with Product with Serializable
A predefined type expression for a universally unique identifier as defined by the Java Virtual Machine.
A predefined type expression for a universally unique identifier as defined by the Java Virtual Machine.
- loc
The location of the UUID type expression
- Definition Classes
- TypeExpression
- case class UniqueId(loc: At, entityPath: TypeExpression.PathIdentifier) extends PredefinedType with Product with Serializable
A type expression for values that ensure a unique identifier for a specific entity.
A type expression for values that ensure a unique identifier for a specific entity.
- loc
The location of the unique identifier type expression
- entityPath
The path identifier of the entity type
- Definition Classes
- TypeExpression
- case class ZeroOrMore(loc: At, typeExp: TypeExpression) extends Cardinality with Product with Serializable
A cardinality type expression that indicates another type expression as having zero or more instances.
A cardinality type expression that indicates another type expression as having zero or more instances.
- loc
The location of the zero-or-more cardinality
- typeExp
The type expression that is indicated with a cardinality of zero or more.
- Definition Classes
- TypeExpression
Value Members
- object Identifier extends Serializable
- Definition Classes
- AbstractDefinitions
- object LiteralString extends Serializable
- Definition Classes
- AbstractDefinitions
- object PathIdentifier extends Serializable
- Definition Classes
- AbstractDefinitions
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def errorDescription(te: TypeExpression): String
A utility function for getting the kind of a type expression.
A utility function for getting the kind of a type expression.
- te
The type expression to examine
- returns
A string indicating the kind corresponding to te
- Definition Classes
- TypeExpression
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final val maxMaturity: Int(100)
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- object MessageRef
- object RootContainer extends Serializable
- case object eq extends Comparator with Product with Serializable
- Definition Classes
- Expressions
- case object ge extends Comparator with Product with Serializable
- Definition Classes
- Expressions
- case object gt extends Comparator with Product with Serializable
- Definition Classes
- Expressions
- case object le extends Comparator with Product with Serializable
- Definition Classes
- Expressions
- case object lt extends Comparator with Product with Serializable
- Definition Classes
- Expressions
- case object ne extends Comparator with Product with Serializable
- Definition Classes
- Expressions
- object Aggregation extends Serializable
- Definition Classes
- TypeExpression
- case object CommandCase extends AggregateUseCase with Product with Serializable
An enumerator value for command types
An enumerator value for command types
- Definition Classes
- TypeExpression
- case object EventCase extends AggregateUseCase with Product with Serializable
An enumerator value for event types
An enumerator value for event types
- Definition Classes
- TypeExpression
- case object OtherCase extends AggregateUseCase with Product with Serializable
- Definition Classes
- TypeExpression
- object PredefinedType
- Definition Classes
- TypeExpression
- case object QueryCase extends AggregateUseCase with Product with Serializable
An enumerator value for query types
An enumerator value for query types
- Definition Classes
- TypeExpression
- case object RecordCase extends AggregateUseCase with Product with Serializable
- Definition Classes
- TypeExpression
- case object ResultCase extends AggregateUseCase with Product with Serializable
An enumerator value for result types
An enumerator value for result types
- Definition Classes
- TypeExpression
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated