AggregateModel

constructor(type: AggregateType, stateType: Class<S>, initial: (AggregateRef) -> S, deciders: Map<Class<*>, DecideFunction<S>>, evolvers: Map<Class<*>, (S, Any) -> S>, eventTypes: Collection<EventType>, commandTypes: Collection<CommandType>, afterFunctions: List<AfterFunction<S>> = emptyList(), lifecycle: Set<Class<*>> = Lifecycle.COMMANDS.values.toSet(), mountedCommandTypes: Collection<CommandType> = emptyList(), ownership: Ownership = Ownership.OWNER, stateRevision: Int = 1, retiredEvents: Collection<String> = emptyList(), idSource: AggregateIdSource = AggregateIdSource.ASSIGNED, aggregateIds: Map<Class<*>, (Any) -> String?> = emptyMap(), commitEvolvers: Map<Class<*>, (S, Any, EventStream) -> S> = emptyMap(), access: Map<AccessAttribute<*, *>, (S) -> Any?> = emptyMap())