*/ class implementation_restricted implements interface_output { /** * @var interface_output * @author Christian Fraß */ protected $core; /** * @var int * @author Christian Fraß */ protected $level_threshold; /** * @param int $level_threshold * @author Christian Fraß */ public function __construct( interface_output $core, int $level_threshold ) { $this->core = $core; $this->level_threshold = $level_threshold; } /** * @implementation * @author Christian Fraß */ public function process( int $level, \alveolata\report\struct_report $report ) : void { if ($level <= $this->level_threshold) { $this->core->process($level, $report); } else { // do nothing } } } ?>