final class MoveNodeAggregate implements CommandInterface, JsonSerializable, RebasableToOtherWorkspaceInterface (View source)

The "Move node aggregate" command

In contentStreamId and dimensionSpacePoint, move node aggregate nodeAggregateId into newParentNodeAggregateId (or keep the current parent) between newPrecedingSiblingNodeAggregateId and newSucceedingSiblingNodeAggregateId (or as last of all siblings) using relationDistributionStrategy

Why can you specify both newPrecedingSiblingNodeAggregateId and newSucceedingSiblingNodeAggregateId?

  • it can happen that in one subgraph, only one of these match.
  • See the PHPDoc of the attributes (a few lines down) for the exact behavior.

Methods

create(WorkspaceName $workspaceName, DimensionSpacePoint $dimensionSpacePoint, NodeAggregateId $nodeAggregateId, RelationDistributionStrategy $relationDistributionStrategy, NodeAggregateId|null $newParentNodeAggregateId = null, NodeAggregateId|null $newPrecedingSiblingNodeAggregateId = null, NodeAggregateId|null $newSucceedingSiblingNodeAggregateId = null)

No description

fromArray(array $array)

No description

array
jsonSerialize()

No description

Details

static MoveNodeAggregate create(WorkspaceName $workspaceName, DimensionSpacePoint $dimensionSpacePoint, NodeAggregateId $nodeAggregateId, RelationDistributionStrategy $relationDistributionStrategy, NodeAggregateId|null $newParentNodeAggregateId = null, NodeAggregateId|null $newPrecedingSiblingNodeAggregateId = null, NodeAggregateId|null $newSucceedingSiblingNodeAggregateId = null)

No description

Parameters

WorkspaceName $workspaceName

The workspace in which the move operation is to be performed

DimensionSpacePoint $dimensionSpacePoint

This is one of the covered dimension space points of the node aggregate and not necessarily one of the occupied ones. This allows us to move virtual specializations only when using the scatter strategy

NodeAggregateId $nodeAggregateId

The id of the node aggregate to move

RelationDistributionStrategy $relationDistributionStrategy

The relation distribution strategy to be used ({\Neos\ContentRepository\Core\Feature\NodeMove\Dto\RelationDistributionStrategy}).

NodeAggregateId|null $newParentNodeAggregateId

The id of the new parent node aggregate. If given, it enforces that all nodes in the given aggregate are moved into nodes of the parent aggregate, even if the given siblings belong to other parents. In latter case, those siblings are ignored

NodeAggregateId|null $newPrecedingSiblingNodeAggregateId

The id of the new preceding sibling node aggregate. If given and no successor found, it is attempted to insert the moved nodes right after nodes of this aggregate. In dimension space points this aggregate does not cover, other siblings, in order of proximity, are tried to be used instead

NodeAggregateId|null $newSucceedingSiblingNodeAggregateId

The id of the new succeeding sibling node aggregate. If given, it is attempted to insert the moved nodes right before nodes of this aggregate. In dimension space points this aggregate does not cover, the preceding sibling is tried to be used instead

Return Value

MoveNodeAggregate

static CommandInterface fromArray(array $array)

No description

Parameters

array $array

Return Value

CommandInterface

array jsonSerialize()

No description

Return Value

array

RebasableToOtherWorkspaceInterface createCopyForWorkspace(WorkspaceName $targetWorkspaceName)

No description

Parameters

WorkspaceName $targetWorkspaceName

Return Value

RebasableToOtherWorkspaceInterface