Package-level declarations
Types
Link copied to clipboard
data class Aggregate(val scopes: Set<String> = linkedSetOf(), val type: String? = null, val tenantId: String? = null, val id: String? = null, val commands: Set<String> = linkedSetOf(), val events: Set<String> = linkedSetOf()) : NamingScopes, Merge<Aggregate>
Configuration for an aggregate within a bounded context. Defines the aggregate's type, scopes, commands, events, and other metadata.
Link copied to clipboard
data class BoundedContext(val alias: String? = null, val description: String = "", val scopes: Set<String> = linkedSetOf(), val aggregates: Map<String, Aggregate> = emptyMap()) : NamingScopes, Merge<BoundedContext> , DescriptionCapable
Configuration for a bounded context, containing aggregates and their metadata. A bounded context represents a logical boundary within the domain model.
Link copied to clipboard
interface NamingScopes
Interface for entities that have package scopes. Scopes define the packages that belong to this entity.
Link copied to clipboard
Comparator for sorting package scopes by depth (number of dots) and length. Used to prioritize more specific scopes over general ones.
Link copied to clipboard
Link copied to clipboard
Root metadata class containing all bounded context configurations. WowMetadata represents the complete configuration for all bounded contexts and their aggregates.