trait NodeReferencing (View source)

internal  implementation detail of Command Handlers
 

Traits

Methods

requireContentStream(WorkspaceName $workspaceName, CommandHandlingDependencies $commandHandlingDependencies)

No description

void
requireDimensionSpacePointToExist(DimensionSpacePoint $dimensionSpacePoint)

No description

requireNodeType(NodeTypeName $nodeTypeName)

No description

void
requireNodeTypeToNotBeAbstract(NodeType $nodeType)

No description

void
requireNodeTypeToBeOfTypeRoot(NodeType $nodeType)

No description

void
requireNodeTypeToNotBeOfTypeRoot(NodeType $nodeType)

No description

void
requireRootNodeTypeToBeUnoccupied(ContentGraphInterface $contentGraph, NodeTypeName $nodeTypeName)

No description

void
requireNodeTypeToDeclareProperty(NodeTypeName $nodeTypeName, PropertyName $propertyName)

No description

void
requireNodeTypeToDeclareReference(NodeTypeName $nodeTypeName, ReferenceName $referenceName)

No description

void
void
requireNodeTypeToAllowNodesOfTypeInReference(NodeTypeName $nodeTypeName, ReferenceName $referenceName, NodeTypeName $nodeTypeNameInQuestion)

No description

void
requireConstraintsImposedByAncestorsAreMet(ContentGraphInterface $contentGraph, NodeType $nodeType, array $parentNodeAggregateIds)

No description

void
requireNodeTypeConstraintsImposedByParentToBeMet(NodeType $parentsNodeType, NodeType $nodeType)

No description

bool
areNodeTypeConstraintsImposedByParentValid(NodeType $parentsNodeType, NodeType $nodeType)

No description

void
requireNodeTypeConstraintsImposedByGrandparentToBeMet(NodeType $grandParentsNodeType, NodeName|null $parentNodeName, NodeType $nodeType)

No description

bool
areNodeTypeConstraintsImposedByGrandparentValid(NodeType $grandParentsNodeType, NodeName|null $parentNodeName, NodeType $nodeType)

No description

requireProjectedNodeAggregate(ContentGraphInterface $contentGraph, NodeAggregateId $nodeAggregateId)

No description

void
requireProjectedNodeAggregateToNotExist(ContentGraphInterface $contentGraph, NodeAggregateId $nodeAggregateId)

No description

requireProjectedParentNodeAggregate(ContentGraphInterface $contentGraph, NodeAggregateId $childNodeAggregateId, OriginDimensionSpacePoint $childOriginDimensionSpacePoint)

No description

void
requireNodeAggregateToCoverDimensionSpacePoint(NodeAggregate $nodeAggregate, DimensionSpacePoint $dimensionSpacePoint)

No description

void
requireNodeAggregateToCoverDimensionSpacePoints(NodeAggregate $nodeAggregate, DimensionSpacePointSet $dimensionSpacePointSet)

No description

void
requireNodeAggregateToNotBeRoot(NodeAggregate $nodeAggregate, string|null $extraReason = '.')

No description

void
requireNodeAggregateToBeUntethered(NodeAggregate $nodeAggregate)

No description

void
requireNodeAggregateToNotBeDescendant(ContentGraphInterface $contentGraph, NodeAggregate $nodeAggregate, NodeAggregate $referenceNodeAggregate)

No description

void
requireNodeAggregateToBeSibling(ContentGraphInterface $contentGraph, NodeAggregateId $referenceNodeAggregateId, NodeAggregateId $siblingNodeAggregateId, DimensionSpacePoint $dimensionSpacePoint)

No description

void
requireNodeAggregateToBeChild(ContentGraphInterface $contentGraph, NodeAggregateId $childNodeAggregateId, NodeAggregateId $parentNodeAggregateId, DimensionSpacePoint $dimensionSpacePoint)

No description

void
requireNodeNameToBeUncovered(ContentGraphInterface $contentGraph, NodeName|null $nodeName, NodeAggregateId $parentNodeAggregateId, NodeAggregateId|null $exclusivelyAllowedNodeAggregateId = null)

No description

void
requireNodeAggregateToOccupyDimensionSpacePoint(NodeAggregate $nodeAggregate, OriginDimensionSpacePoint $originDimensionSpacePoint)

No description

void
requireNodeAggregateToNotOccupyDimensionSpacePoint(NodeAggregate $nodeAggregate, OriginDimensionSpacePoint $originDimensionSpacePoint)

No description

void
validateReferenceProperties(ReferenceName $referenceName, PropertyValuesToWrite $referenceProperties, NodeTypeName $nodeTypeName)

No description

ExpectedVersion
getExpectedVersionOfContentStream(ContentStreamId $contentStreamId, CommandHandlingDependencies $commandHandlingDependencies)

No description

Details

abstract protected NodeTypeManager getNodeTypeManager()

No description

Return Value

NodeTypeManager

abstract protected DimensionSpacePointSet getAllowedDimensionSubspace()

No description

Return Value

DimensionSpacePointSet

protected ContentStreamId requireContentStream(WorkspaceName $workspaceName, CommandHandlingDependencies $commandHandlingDependencies)

No description

Parameters

WorkspaceName $workspaceName
CommandHandlingDependencies $commandHandlingDependencies

Return Value

ContentStreamId

Exceptions

ContentStreamDoesNotExistYet

protected void requireDimensionSpacePointToExist(DimensionSpacePoint $dimensionSpacePoint)

No description

Parameters

DimensionSpacePoint $dimensionSpacePoint

Return Value

void

Exceptions

DimensionSpacePointNotFound

abstract protected NodeType requireNodeType(NodeTypeName $nodeTypeName)

No description

Parameters

NodeTypeName $nodeTypeName

Return Value

NodeType

protected void requireNodeTypeToNotBeAbstract(NodeType $nodeType)

No description

Parameters

NodeType $nodeType

Return Value

void

protected void requireNodeTypeToBeOfTypeRoot(NodeType $nodeType)

No description

Parameters

NodeType $nodeType

Return Value

void

Exceptions

NodeTypeIsNotOfTypeRoot

protected void requireNodeTypeToNotBeOfTypeRoot(NodeType $nodeType)

No description

Parameters

NodeType $nodeType

Return Value

void

Exceptions

NodeTypeIsOfTypeRoot

protected void requireRootNodeTypeToBeUnoccupied(ContentGraphInterface $contentGraph, NodeTypeName $nodeTypeName)

No description

Parameters

ContentGraphInterface $contentGraph
NodeTypeName $nodeTypeName

Return Value

void

protected void requireTetheredDescendantNodeTypesToExist(NodeType $nodeType)

No description

Parameters

NodeType $nodeType

Return Value

void

Exceptions

NodeTypeNotFound

protected void requireTetheredDescendantNodeTypesToNotBeOfTypeRoot(NodeType $nodeType)

No description

Parameters

NodeType $nodeType

Return Value

void

Exceptions

NodeTypeIsOfTypeRoot

protected void requireExistingDeclaredTetheredDescendantsToBeTethered(ContentGraphInterface $contentGraph, NodeAggregate $nodeAggregate, NodeType $nodeType)

No description

Parameters

ContentGraphInterface $contentGraph
NodeAggregate $nodeAggregate
NodeType $nodeType

Return Value

void

Exceptions

NodeAggregateIsUntethered

protected void requireNodeTypeToDeclareProperty(NodeTypeName $nodeTypeName, PropertyName $propertyName)

No description

Parameters

NodeTypeName $nodeTypeName
PropertyName $propertyName

Return Value

void

protected void requireNodeTypeToDeclareReference(NodeTypeName $nodeTypeName, ReferenceName $referenceName)

No description

Parameters

NodeTypeName $nodeTypeName
ReferenceName $referenceName

Return Value

void

protected void requireNodeTypeNotToDeclareTetheredChildNodeName(NodeTypeName $nodeTypeName, NodeName $nodeName)

No description

Parameters

NodeTypeName $nodeTypeName
NodeName $nodeName

Return Value

void

protected void requireNodeTypeToAllowNodesOfTypeInReference(NodeTypeName $nodeTypeName, ReferenceName $referenceName, NodeTypeName $nodeTypeNameInQuestion)

No description

Parameters

NodeTypeName $nodeTypeName
ReferenceName $referenceName
NodeTypeName $nodeTypeNameInQuestion

Return Value

void

protected void requireNodeTypeToAllowNumberOfReferencesInReference(SerializedNodeReferences $nodeReferences, NodeTypeName $nodeTypeName)

No description

Parameters

SerializedNodeReferences $nodeReferences
NodeTypeName $nodeTypeName

Return Value

void

protected void requireConstraintsImposedByAncestorsAreMet(ContentGraphInterface $contentGraph, NodeType $nodeType, array $parentNodeAggregateIds)

No description

Parameters

ContentGraphInterface $contentGraph
NodeType $nodeType
array $parentNodeAggregateIds

Return Value

void

Exceptions

NodeConstraintException

protected void requireNodeTypeConstraintsImposedByParentToBeMet(NodeType $parentsNodeType, NodeType $nodeType)

No description

Parameters

NodeType $parentsNodeType
NodeType $nodeType

Return Value

void

Exceptions

NodeTypeNotFound
NodeConstraintException

protected bool areNodeTypeConstraintsImposedByParentValid(NodeType $parentsNodeType, NodeType $nodeType)

No description

Parameters

NodeType $parentsNodeType
NodeType $nodeType

Return Value

bool

protected void requireNodeTypeConstraintsImposedByGrandparentToBeMet(NodeType $grandParentsNodeType, NodeName|null $parentNodeName, NodeType $nodeType)

No description

Parameters

NodeType $grandParentsNodeType
NodeName|null $parentNodeName
NodeType $nodeType

Return Value

void

Exceptions

NodeConstraintException

protected bool areNodeTypeConstraintsImposedByGrandparentValid(NodeType $grandParentsNodeType, NodeName|null $parentNodeName, NodeType $nodeType)

No description

Parameters

NodeType $grandParentsNodeType
NodeName|null $parentNodeName
NodeType $nodeType

Return Value

bool

abstract protected NodeAggregate requireProjectedNodeAggregate(ContentGraphInterface $contentGraph, NodeAggregateId $nodeAggregateId)

No description

Parameters

ContentGraphInterface $contentGraph
NodeAggregateId $nodeAggregateId

Return Value

NodeAggregate

protected void requireProjectedNodeAggregateToNotExist(ContentGraphInterface $contentGraph, NodeAggregateId $nodeAggregateId)

No description

Parameters

ContentGraphInterface $contentGraph
NodeAggregateId $nodeAggregateId

Return Value

void

Exceptions

NodeAggregateCurrentlyExists

NodeAggregate requireProjectedParentNodeAggregate(ContentGraphInterface $contentGraph, NodeAggregateId $childNodeAggregateId, OriginDimensionSpacePoint $childOriginDimensionSpacePoint)

No description

Parameters

ContentGraphInterface $contentGraph
NodeAggregateId $childNodeAggregateId
OriginDimensionSpacePoint $childOriginDimensionSpacePoint

Return Value

NodeAggregate

Exceptions

NodeAggregateCurrentlyDoesNotExist

protected void requireNodeAggregateToCoverDimensionSpacePoint(NodeAggregate $nodeAggregate, DimensionSpacePoint $dimensionSpacePoint)

No description

Parameters

NodeAggregate $nodeAggregate
DimensionSpacePoint $dimensionSpacePoint

Return Value

void

Exceptions

NodeAggregateDoesCurrentlyNotCoverDimensionSpacePoint

protected void requireNodeAggregateToCoverDimensionSpacePoints(NodeAggregate $nodeAggregate, DimensionSpacePointSet $dimensionSpacePointSet)

No description

Parameters

NodeAggregate $nodeAggregate
DimensionSpacePointSet $dimensionSpacePointSet

Return Value

void

Exceptions

NodeAggregateDoesCurrentlyNotCoverDimensionSpacePointSet

protected void requireNodeAggregateToNotBeRoot(NodeAggregate $nodeAggregate, string|null $extraReason = '.')

No description

Parameters

NodeAggregate $nodeAggregate
string|null $extraReason

Return Value

void

Exceptions

NodeAggregateIsRoot

protected void requireNodeAggregateToBeUntethered(NodeAggregate $nodeAggregate)

No description

Parameters

NodeAggregate $nodeAggregate

Return Value

void

Exceptions

NodeAggregateIsTethered

protected void requireNodeAggregateToNotBeDescendant(ContentGraphInterface $contentGraph, NodeAggregate $nodeAggregate, NodeAggregate $referenceNodeAggregate)

No description

Parameters

ContentGraphInterface $contentGraph
NodeAggregate $nodeAggregate
NodeAggregate $referenceNodeAggregate

Return Value

void

Exceptions

NodeAggregateIsDescendant

protected void requireNodeAggregateToBeSibling(ContentGraphInterface $contentGraph, NodeAggregateId $referenceNodeAggregateId, NodeAggregateId $siblingNodeAggregateId, DimensionSpacePoint $dimensionSpacePoint)

No description

Parameters

ContentGraphInterface $contentGraph
NodeAggregateId $referenceNodeAggregateId
NodeAggregateId $siblingNodeAggregateId
DimensionSpacePoint $dimensionSpacePoint

Return Value

void

Exceptions

NodeAggregateIsNoSibling

protected void requireNodeAggregateToBeChild(ContentGraphInterface $contentGraph, NodeAggregateId $childNodeAggregateId, NodeAggregateId $parentNodeAggregateId, DimensionSpacePoint $dimensionSpacePoint)

No description

Parameters

ContentGraphInterface $contentGraph
NodeAggregateId $childNodeAggregateId
NodeAggregateId $parentNodeAggregateId
DimensionSpacePoint $dimensionSpacePoint

Return Value

void

Exceptions

NodeAggregateIsNoChild

protected void requireNodeNameToBeUncovered(ContentGraphInterface $contentGraph, NodeName|null $nodeName, NodeAggregateId $parentNodeAggregateId, NodeAggregateId|null $exclusivelyAllowedNodeAggregateId = null)

No description

Parameters

ContentGraphInterface $contentGraph
NodeName|null $nodeName
NodeAggregateId $parentNodeAggregateId
NodeAggregateId|null $exclusivelyAllowedNodeAggregateId

in some cases, aggregates of a given ID are allowed to cover this name. E.g. in the move case, if a node is moved (back) to its other variants, the name does not need to be reserved for future variants because the moved node already is that exact one

Return Value

void

Exceptions

NodeNameIsAlreadyCovered

protected void requireNodeAggregateToOccupyDimensionSpacePoint(NodeAggregate $nodeAggregate, OriginDimensionSpacePoint $originDimensionSpacePoint)

No description

Parameters

NodeAggregate $nodeAggregate
OriginDimensionSpacePoint $originDimensionSpacePoint

Return Value

void

Exceptions

DimensionSpacePointIsNotYetOccupied

protected void requireNodeAggregateToNotOccupyDimensionSpacePoint(NodeAggregate $nodeAggregate, OriginDimensionSpacePoint $originDimensionSpacePoint)

No description

Parameters

NodeAggregate $nodeAggregate
OriginDimensionSpacePoint $originDimensionSpacePoint

Return Value

void

Exceptions

DimensionSpacePointIsAlreadyOccupied

protected void validateReferenceProperties(ReferenceName $referenceName, PropertyValuesToWrite $referenceProperties, NodeTypeName $nodeTypeName)

No description

Parameters

ReferenceName $referenceName
PropertyValuesToWrite $referenceProperties
NodeTypeName $nodeTypeName

Return Value

void

protected ExpectedVersion getExpectedVersionOfContentStream(ContentStreamId $contentStreamId, CommandHandlingDependencies $commandHandlingDependencies)

No description

Parameters

ContentStreamId $contentStreamId
CommandHandlingDependencies $commandHandlingDependencies

Return Value

ExpectedVersion

protected void requireDescendantNodesToNotFallbackToDimensionSpacePointsOtherThan(NodeAggregateId $nodeAggregateId, ContentGraphInterface $contentGraph, DimensionSpacePointsWithAllowedSpecializations $fallbackConstraints)

No description

Parameters

NodeAggregateId $nodeAggregateId
ContentGraphInterface $contentGraph
DimensionSpacePointsWithAllowedSpecializations $fallbackConstraints

Return Value

void

abstract protected PropertyConverter getPropertyConverter()

No description

Return Value

PropertyConverter