AggregateRouteMetadata

data class AggregateRouteMetadata<C : Any>(val enabled: Boolean, val aggregateMetadata: AggregateMetadata<C, *>, val resourceName: String, val spaced: Boolean, val owner: AggregateRoute.Owner) : EnabledCapable, Metadata

The routing of an aggregate. It shapes both the route contracts and the HTTP adapter at runtime.

AggregateRouteMetadataParser takes the routing (enabled, resourceName) from the aggregate's AggregateRoute and the aggregate's own policies (spaced, ownerPolicy) from its AggregateMetadata, where core resolves them; a route contributor that serves a resource of its own may construct one directly.

Type Parameters

C

the command aggregate type.

Constructors

Link copied to clipboard
constructor(enabled: Boolean, aggregateMetadata: AggregateMetadata<C, *>, resourceName: String, spaced: Boolean, owner: AggregateRoute.Owner)
constructor(enabled: Boolean, aggregateMetadata: AggregateMetadata<C, *>, resourceName: String, spaced: Boolean, ownerPolicy: OwnerPolicy)

Creates the routing with an OwnerPolicy. Since 9.3.0.

Properties

Link copied to clipboard

the aggregate the routes serve.

Link copied to clipboard
open override val enabled: Boolean

whether the aggregate has routes at all.

Link copied to clipboard

the ownership policy of the routes, as the deprecated AggregateRoute.Owner; read ownerPolicy.

Link copied to clipboard

The ownership policy of the routes; parsed as AggregateMetadata.owner. Since 9.3.0.

Link copied to clipboard

the resource segment of the routes.

Link copied to clipboard

whether the routes take a space from the request (Wow-Space-Id); parsed as AggregateMetadata.spaced. Only a spaced aggregate has a space written to its commands or its queries scoped by space; for any other aggregate the adapter ignores the header.

Functions

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