AccessAttribute

sealed class AccessAttribute<in S : Any, V : Any>

A reference to an access attribute of the aggregate whose state is S: a Single value or Multiple ones of type, under its published name. The state declares its attributes with @Access, and the compiler generates a reference to each in <State>Access (AccessAttributes); OWNER and SPACE are the built-in ones every aggregate has, its scope's, so they are references of every state (S is in: a reference of Any is one of each state). An access policy of a state takes the references of that state alone, which the compiler checks.

type is the class of each value: String, Integer, Long, Boolean or an enum class (isValueType); the name follows the rule the compiler and the Manifest hold it to (me.ahoo.wow.manifest.AccessAttributeName of :manifest). Two references are equal when they name the same attribute alike.

Inheritors

Types

Link copied to clipboard
object Companion
Link copied to clipboard
class Multiple<in S : Any, V : Any> : AccessAttribute<S, V>

An attribute of several values, a set of them.

Link copied to clipboard
class Single<in S : Any, V : Any> : AccessAttribute<S, V>

An attribute of one value, or none.

Properties

Link copied to clipboard
abstract val multiple: Boolean

Whether the attribute holds several values: Multiple.

Link copied to clipboard
Link copied to clipboard
val type: Class<V>

Functions

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
open override fun toString(): String