2025-01-02 22:17:56 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
declare(strict_types=1);
|
|
|
|
|
|
|
|
namespace FireflyIII\Support\Search\QueryParser;
|
|
|
|
|
|
|
|
/**
|
2025-01-02 23:19:21 +01:00
|
|
|
* Represents a group of nodes.
|
|
|
|
*
|
|
|
|
* NodeGroups can be nested inside other NodeGroups, making them subqueries
|
2025-01-02 22:17:56 +01:00
|
|
|
*/
|
2025-01-02 23:19:21 +01:00
|
|
|
class NodeGroup extends Node
|
2025-01-02 22:17:56 +01:00
|
|
|
{
|
|
|
|
/** @var Node[] */
|
|
|
|
private array $nodes;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param Node[] $nodes
|
|
|
|
* @param bool $prohibited
|
|
|
|
*/
|
|
|
|
public function __construct(array $nodes, bool $prohibited = false)
|
|
|
|
{
|
|
|
|
$this->nodes = $nodes;
|
|
|
|
$this->prohibited = $prohibited;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return Node[]
|
|
|
|
*/
|
|
|
|
public function getNodes(): array
|
|
|
|
{
|
|
|
|
return $this->nodes;
|
|
|
|
}
|
|
|
|
}
|