trait TetheredNodeInternals (View source)

internal  implementation details of command handlers
 

Traits

Methods

Events
createEventsForVariations(ContentStreamId $contentStreamId, OriginDimensionSpacePoint $sourceOrigin, OriginDimensionSpacePoint $targetOrigin, NodeAggregate $nodeAggregate, ContentRepository $contentRepository)

No description

Events
handleCreateNodeSpecializationVariant(ContentStreamId $contentStreamId, OriginDimensionSpacePoint $sourceOrigin, OriginDimensionSpacePoint $targetOrigin, NodeAggregate $nodeAggregate, ContentRepository $contentRepository)

No description

array
collectNodeSpecializationVariantsThatWillHaveBeenCreated(ContentStreamId $contentStreamId, OriginDimensionSpacePoint $sourceOrigin, OriginDimensionSpacePoint $targetOrigin, NodeAggregate $nodeAggregate, DimensionSpacePointSet $specializationVisibility, array $events, ContentRepository $contentRepository)

No description

Events
handleCreateNodeGeneralizationVariant(ContentStreamId $contentStreamId, OriginDimensionSpacePoint $sourceOrigin, OriginDimensionSpacePoint $targetOrigin, NodeAggregate $nodeAggregate, ContentRepository $contentRepository)

No description

array
collectNodeGeneralizationVariantsThatWillHaveBeenCreated(ContentStreamId $contentStreamId, OriginDimensionSpacePoint $sourceOrigin, OriginDimensionSpacePoint $targetOrigin, NodeAggregate $nodeAggregate, DimensionSpacePointSet $generalizationVisibility, array $events, ContentRepository $contentRepository)

No description

Events
handleCreateNodePeerVariant(ContentStreamId $contentStreamId, OriginDimensionSpacePoint $sourceOrigin, OriginDimensionSpacePoint $targetOrigin, NodeAggregate $nodeAggregate, ContentRepository $contentRepository)

No description

array
collectNodePeerVariantsThatWillHaveBeenCreated(ContentStreamId $contentStreamId, OriginDimensionSpacePoint $sourceOrigin, OriginDimensionSpacePoint $targetOrigin, NodeAggregate $nodeAggregate, DimensionSpacePointSet $peerVisibility, array $events, ContentRepository $contentRepository)

No description

Events
createEventsForMissingTetheredNode(NodeAggregate $parentNodeAggregate, Node $parentNode, NodeName $tetheredNodeName, NodeAggregateId|null $tetheredNodeAggregateId, NodeType $expectedTetheredNodeType, ContentRepository $contentRepository)

This is the remediation action for non-existing tethered nodes.

Details

abstract protected InterDimensionalVariationGraph getInterDimensionalVariationGraph()

No description

abstract protected Events createEventsForVariations(ContentStreamId $contentStreamId, OriginDimensionSpacePoint $sourceOrigin, OriginDimensionSpacePoint $targetOrigin, NodeAggregate $nodeAggregate, ContentRepository $contentRepository)

No description

Parameters

ContentStreamId $contentStreamId
OriginDimensionSpacePoint $sourceOrigin
OriginDimensionSpacePoint $targetOrigin
NodeAggregate $nodeAggregate
ContentRepository $contentRepository

Return Value

Events

protected Events handleCreateNodeSpecializationVariant(ContentStreamId $contentStreamId, OriginDimensionSpacePoint $sourceOrigin, OriginDimensionSpacePoint $targetOrigin, NodeAggregate $nodeAggregate, ContentRepository $contentRepository)

No description

Parameters

ContentStreamId $contentStreamId
OriginDimensionSpacePoint $sourceOrigin
OriginDimensionSpacePoint $targetOrigin
NodeAggregate $nodeAggregate
ContentRepository $contentRepository

Return Value

Events

protected array collectNodeSpecializationVariantsThatWillHaveBeenCreated(ContentStreamId $contentStreamId, OriginDimensionSpacePoint $sourceOrigin, OriginDimensionSpacePoint $targetOrigin, NodeAggregate $nodeAggregate, DimensionSpacePointSet $specializationVisibility, array $events, ContentRepository $contentRepository)

No description

Parameters

ContentStreamId $contentStreamId
OriginDimensionSpacePoint $sourceOrigin
OriginDimensionSpacePoint $targetOrigin
NodeAggregate $nodeAggregate
DimensionSpacePointSet $specializationVisibility
array $events
ContentRepository $contentRepository

Return Value

array

protected Events handleCreateNodeGeneralizationVariant(ContentStreamId $contentStreamId, OriginDimensionSpacePoint $sourceOrigin, OriginDimensionSpacePoint $targetOrigin, NodeAggregate $nodeAggregate, ContentRepository $contentRepository)

No description

Parameters

ContentStreamId $contentStreamId
OriginDimensionSpacePoint $sourceOrigin
OriginDimensionSpacePoint $targetOrigin
NodeAggregate $nodeAggregate
ContentRepository $contentRepository

Return Value

Events

protected array collectNodeGeneralizationVariantsThatWillHaveBeenCreated(ContentStreamId $contentStreamId, OriginDimensionSpacePoint $sourceOrigin, OriginDimensionSpacePoint $targetOrigin, NodeAggregate $nodeAggregate, DimensionSpacePointSet $generalizationVisibility, array $events, ContentRepository $contentRepository)

No description

Parameters

ContentStreamId $contentStreamId
OriginDimensionSpacePoint $sourceOrigin
OriginDimensionSpacePoint $targetOrigin
NodeAggregate $nodeAggregate
DimensionSpacePointSet $generalizationVisibility
array $events
ContentRepository $contentRepository

Return Value

array

protected Events handleCreateNodePeerVariant(ContentStreamId $contentStreamId, OriginDimensionSpacePoint $sourceOrigin, OriginDimensionSpacePoint $targetOrigin, NodeAggregate $nodeAggregate, ContentRepository $contentRepository)

No description

Parameters

ContentStreamId $contentStreamId
OriginDimensionSpacePoint $sourceOrigin
OriginDimensionSpacePoint $targetOrigin
NodeAggregate $nodeAggregate
ContentRepository $contentRepository

Return Value

Events

protected array collectNodePeerVariantsThatWillHaveBeenCreated(ContentStreamId $contentStreamId, OriginDimensionSpacePoint $sourceOrigin, OriginDimensionSpacePoint $targetOrigin, NodeAggregate $nodeAggregate, DimensionSpacePointSet $peerVisibility, array $events, ContentRepository $contentRepository)

No description

Parameters

ContentStreamId $contentStreamId
OriginDimensionSpacePoint $sourceOrigin
OriginDimensionSpacePoint $targetOrigin
NodeAggregate $nodeAggregate
DimensionSpacePointSet $peerVisibility
array $events
ContentRepository $contentRepository

Return Value

array

protected Events createEventsForMissingTetheredNode(NodeAggregate $parentNodeAggregate, Node $parentNode, NodeName $tetheredNodeName, NodeAggregateId|null $tetheredNodeAggregateId, NodeType $expectedTetheredNodeType, ContentRepository $contentRepository)

This is the remediation action for non-existing tethered nodes.

It handles two cases:

  • there is no tethered node IN ANY DimensionSpacePoint -> we can simply create it
  • there is a tethered node already in some DimensionSpacePoint -> we need to specialize/generalize/... the other Tethered Node.

Parameters

NodeAggregate $parentNodeAggregate
Node $parentNode
NodeName $tetheredNodeName
NodeAggregateId|null $tetheredNodeAggregateId
NodeType $expectedTetheredNodeType
ContentRepository $contentRepository

Return Value

Events

Exceptions

Exception