class ChildrenOperation extends AbstractOperation (View source)

"children" operation working on generic objects. It iterates over all context elements and returns the values of the properties given in the filter expression that has to be specified as argument or in a following filter operation.

Properties

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

The priority of operations. higher numbers override lower ones.

from  AbstractOperation
static protected bool $final

If true, the operation is final, i.e. directly executed.

from  AbstractOperation

Methods

static int
getPriority()

No description

static bool
isFinal()

No description

static string
getShortName()

No description

bool
canEvaluate(array $context)

This method is called to determine whether the operation can work with the $context objects. It can be implemented to implement runtime conditions.

mixed
evaluate(FlowQuery $flowQuery, array $arguments)

Evaluate the operation on the objects inside $flowQuery->getContext(), taking the $arguments into account.

void
evaluatePropertyNameFilter(FlowQuery $query, string $propertyNameFilter)

Evaluate the property name filter by traversing to the child object. We only support nested objects right now

Details

static int getPriority()

No description

Return Value

int

the priority of the operation

static bool isFinal()

No description

Return Value

bool

true if the operation is final, false otherwise

static string getShortName()

No description

Return Value

string

the short name of the operation

Exceptions

FlowQueryException

bool canEvaluate(array $context)

This method is called to determine whether the operation can work with the $context objects. It can be implemented to implement runtime conditions.

Parameters

array $context

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

Return Value

bool

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

mixed evaluate(FlowQuery $flowQuery, array $arguments)

Evaluate the operation on the objects inside $flowQuery->getContext(), taking the $arguments into account.

The resulting operation results should be stored using $flowQuery->setContext().

If the operation is final, evaluate should directly return the operation result.

Parameters

FlowQuery $flowQuery

the FlowQuery object

array $arguments

the arguments for this operation

Return Value

mixed

if the operation is final, the return value

protected void evaluatePropertyNameFilter(FlowQuery $query, string $propertyNameFilter)

Evaluate the property name filter by traversing to the child object. We only support nested objects right now

Parameters

FlowQuery $query
string $propertyNameFilter

Return Value

void