class PrevUntilOperation extends AbstractOperation (View source)

"prevUntil" operation working on ContentRepository nodes. It iterates over all context elements and returns each preceding sibling until the matching sibling is found.

If an optional filter expression is provided as a second argument, it only returns the nodes matching the given expression.

Properties

static protected string $shortName {@inheritdoc}
static protected int $priority {@inheritdoc}

Methods

bool
canEvaluate(array $context)

{@inheritdoc}

void
evaluate(FlowQuery $flowQuery, array $arguments)

{@inheritdoc}

array|null
getPrevForNode(TraversableNodeInterface $contextNode)

No description

getNodesUntil(array $prevNodes, TraversableNodeInterface $until)

No description

Details

bool canEvaluate(array $context)

{@inheritdoc}

Parameters

array $context

$context onto which this operation should be applied (array or array-like object)

Return Value

bool

true if the operation can be applied onto the $context, false otherwise

void evaluate(FlowQuery $flowQuery, array $arguments)

{@inheritdoc}

Parameters

FlowQuery $flowQuery

the FlowQuery object

array $arguments

the arguments for this operation

Return Value

void

Exceptions

Exception

protected array|null getPrevForNode(TraversableNodeInterface $contextNode)

No description

Parameters

TraversableNodeInterface $contextNode

The node for which the previous nodes should be found

Return Value

array|null

The previous nodes of $contextNode or NULL

protected TraversableNodeInterface[] getNodesUntil(array $prevNodes, TraversableNodeInterface $until)

No description

Parameters

array $prevNodes

the remaining nodes

TraversableNodeInterface $until

Return Value

TraversableNodeInterface[]