Package-level declarations

Types

Link copied to clipboard
data class Attribute(val name: String, val type: Attribute.Type)

Represents an Attribute of a BusinessObjectType.

Link copied to clipboard
class AttributeNotFoundError(attributeName: String, businessObjectTypeName: String) : ModelError

This error occurs when trying to access an Attribute that does not exist in a BusinessObjectType.

Link copied to clipboard
data class BusinessObjectType(val name: String, val stateMachine: StateMachine? = null, val attributes: Set<Attribute> = emptySet())

Represents a BusinessObjectType in the Merode Model.

Link copied to clipboard
data class EventType(val name: String, var ownerType: BusinessObjectType, val ownerEffect: EventType.OwnedEffect, val attributes: Set<Attribute> = ownerType.attributes)

Represents an EventType in a Merode Model. These types can be instantiated as Events. The Events can be applied to BusinessObjects of the EventType.ownerType using the BusinessObject.handleEvent method.

Link copied to clipboard
data class ExistenceDependency(val name: String, val master: BusinessObjectType, val dependent: BusinessObjectType, val type: ExistenceDependency.Type)
Link copied to clipboard
data class Model(val objectTypes: Set<BusinessObjectType>, val existenceDependencies: Set<ExistenceDependency>)

Represents a Merode Model.

Link copied to clipboard
open class ModelError(msg: String? = null) : MerodeError

Represents errors in the Model domain, not in its instantiation.

Link copied to clipboard
class ModelParsingError(msg: String? = null) : ModelError
Link copied to clipboard
data class State(val name: String, val type: State.Type)

Represents a State in a StateMachine.

Link copied to clipboard
data class StateMachine(matrix: Map<State, Map<EventType, State>> = emptyMap())

Represents a StateMachine that defines the lifecycle of a BusinessObjectType. A state machine is defined by a set of States and Transitions between them. Using the nextState method, the next State of the StateMachine can be retrieved for a given State and EventType. This is the way BusinessObjects evolve through their lifecycle.

Link copied to clipboard
data class Transition(val onEventType: EventType, val fromState: State, val toState: State)

Represents a Transition in a StateMachine.