<?php
namespace FSVendor\WPDesk\ShowDecision;
class AndStrategy implements ShouldShowStrategy
{
/**
* @var ShouldShowStrategy[]
*/
private array $conditions = [];
public function __construct(ShouldShowStrategy $strategy)
{
$this->conditions[] = $strategy;
}
public function addCondition(ShouldShowStrategy $condition): self
{
$this->conditions[] = $condition;
return $this;
}
public function shouldDisplay(): bool
{
foreach ($this->conditions as $condition) {
if (!$condition->shouldDisplay()) {
return \false;
}
}
return \true;
}
}