$constraints */ public function __construct( private array $constraints, private readonly string $table, private readonly SearchDemand $searchDemand ) {} /** * @return array */ public function getConstraints(): array { return $this->constraints; } /** * Note that we only add a single/multiple constraints * and do not allow to remove or override existing ones. This is * a safeguard to not overwrite security-related query constraints. */ public function addConstraints(string|CompositeExpression ...$constraints): void { foreach ($constraints as $constraint) { $this->addConstraint($constraint); } } public function addConstraint(string|CompositeExpression $constraint): void { $this->constraints[] = $constraint; } public function getTableName(): string { return $this->table; } public function getSearchDemand(): SearchDemand { return $this->searchDemand; } }