ApiOpenStudio PHPDoc

DoWhile extends ProcessorEntity

Class DoWhile

Processor class to Do...While logic.

Table of Contents

$id  : mixed
Processor ID.
$db  : ADOConnection|null
DB connections.
$deepCopy  : DeepCopy
$details  : array<string|int, mixed>
{@inheritDoc}
$logger  : MonologWrapper
Logger object.
$meta  : array<string|int, mixed>
Metadata for the processor.
$processorHelper  : ProcessorHelper
$request  : Request
All the request details.
$treeParser  : TreeParser
__construct()  : mixed
details()  : array<string|int, mixed>
Return details for processor.
process()  : DataContainer
{@inheritDoc}
val()  : mixed|DataContainer
Process a variable into a final result for the processor.
comparisonTrue()  : bool
Evaluate continuing the do...while loop.
generateParams()  : array<string|int, mixed>
Generate the params array for the sql search.
getComparisonVals()  : array<string|int, mixed>
return calculated valued for LHS, RHS and operator for comparison.
isDataContainer()  : bool
Validate if a set of data is wrapped in a DataContainer object.
validateAllowedTypes()  : void
Validate an input for allowed variable types
validateAllowedValues()  : void
Validate an input for allowed values.

Properties

$id

Processor ID.

public mixed $id = ''

Processor ID.

$deepCopy

protected DeepCopy $deepCopy

Enable deep copy of objects.

$details

{@inheritDoc}

protected array<string|int, mixed> $details = ['name' => 'Do While', 'machineName' => 'do_while', 'description' => 'A processor for do...while logic.', 'menu' => 'Logic', 'conditional' => true, 'input' => ['lhs' => ['description' => 'The left-land side value in the equation.', 'cardinality' => [0, 1], 'literalAllowed' => true, 'limitProcessors' => [], 'limitTypes' => [], 'limitValues' => [], 'default' => null, 'conditional' => true], 'rhs' => ['description' => 'The right-land side value in the equation.', 'cardinality' => [0, 1], 'literalAllowed' => true, 'limitProcessors' => [], 'limitTypes' => [], 'limitValues' => [], 'default' => null, 'conditional' => true], 'operator' => ['description' => 'The comparison operator in the equation.', 'cardinality' => [1, 1], 'literalAllowed' => true, 'limitProcessors' => [], 'limitTypes' => ['text'], 'limitValues' => ['==', '!=', '>', '>=', '<', '<='], 'default' => null, 'conditional' => true], 'process_loop' => ['description' => 'The processing logic to apply to each item.', 'cardinality' => [1, 1], 'literalAllowed' => false, 'limitProcessors' => [], 'limitTypes' => [], 'limitValues' => [], 'default' => [], 'conditional' => true], 'max_loops' => [ // phpcs:ignore 'description' => 'Optionally set the maximum times a the do...while loops can run. A negative value will run until the LHS/RHS comparison returns false.', 'cardinality' => [0, 1], 'literalAllowed' => true, 'limitProcessors' => [], 'limitTypes' => ['integer'], 'limitValues' => [], 'default' => -1, ]]]

Details of the processor.

$meta

Metadata for the processor.

protected array<string|int, mixed> $meta

$request

All the request details.

protected Request $request

Request.

Methods

__construct()

public __construct(array<string|int, mixed> $meta, Request &$request, ADOConnection|null $db, MonologWrapper|null $logger) : mixed
Parameters
$meta : array<string|int, mixed>

Metadata for the processor.

$request : Request

The full request object.

$db : ADOConnection|null

The DB connection object.

$logger : MonologWrapper|null

The logger.

Tags
throws
ApiException
Return values
mixed

details()

Return details for processor.

public details() : array<string|int, mixed>
Return values
array<string|int, mixed>

val()

Process a variable into a final result for the processor.

public val(string $key[, bool|null $rawData = false ]) : mixed|DataContainer

This method can be used to process a value in its meta to return a final result that it can use. If the object is a processor, then it will process that down to a final return value, or if the obj is a simple value, then it will return that. Anything else will return an error object.

Setting $realValue to true will force the value to be the actual value, rather than a potential dataContainer.

Parameters
$key : string

The key for the input variable in the meta.

$rawData : bool|null = false

Return the raw data or a DataContainer.

Tags
throws
ApiException

Invalid key or data.

Return values
mixed|DataContainer

comparisonTrue()

Evaluate continuing the do...while loop.

protected comparisonTrue(mixed|null $lhs, mixed|null $rhs, string|null $operator) : bool
Parameters
$lhs : mixed|null
$rhs : mixed|null
$operator : string|null
Tags
throws
ApiException
Return values
bool

generateParams()

Generate the params array for the sql search.

protected generateParams(string|null $keyword, array<string|int, mixed>|null $keywordCols, string|null $orderBy, string|null $direction) : array<string|int, mixed>
Parameters
$keyword : string|null

Search keyword.

$keywordCols : array<string|int, mixed>|null

Columns to search for the keyword.

$orderBy : string|null

Order by column.

$direction : string|null

Order direction.

Return values
array<string|int, mixed>

getComparisonVals()

return calculated valued for LHS, RHS and operator for comparison.

protected getComparisonVals() : array<string|int, mixed>
Tags
throws
ApiException
Return values
array<string|int, mixed>

isDataContainer()

Validate if a set of data is wrapped in a DataContainer object.

protected isDataContainer(mixed $data) : bool
Parameters
$data : mixed

DataContainer or raw data.

Return values
bool

validateAllowedTypes()

Validate an input for allowed variable types

private validateAllowedTypes(string $type, array<string|int, mixed> $limitTypes, int $min, string $key) : void
Parameters
$type : string

Input value type.

$limitTypes : array<string|int, mixed>

List of limit on variable types.

$min : int

Minimum number of values.

$key : string

The key of the input being validated.

Tags
throws
ApiException

Invalid data type.

Return values
void

validateAllowedValues()

Validate an input for allowed values.

private validateAllowedValues(mixed $val, array<string|int, mixed> $limitValues, int $min, string $key) : void
Parameters
$val : mixed

Input value.

$limitValues : array<string|int, mixed>

List of allowed values.

$min : int

Minimum number of values.

$key : string

The key of the input being validated.

Tags
throws
ApiException

Invalid value.

Return values
void

Search results