1: <?php
2:
3: namespace PHPixie\Processors\Processor;
4:
5: class CheckIsProcessable
6: {
7: protected $processor;
8: protected $processableProcessor;
9: protected $notProcessableProcessor;
10:
11: public function __construct($processor, $processableProcessor, $notProcessableProcessor)
12: {
13: $this->processor = $processor;
14: $this->processableProcessor = $processableProcessor;
15: $this->notProcessableProcessor = $notProcessableProcessor;
16: }
17:
18: public function process($value)
19: {
20: if($this->isProcessable($value)) {
21: $processor = $this->processableProcessor;
22:
23: }else{
24: $processor = $this->notProcessableProcessor;
25: }
26:
27: return $processor->process($value);
28: }
29:
30: protected function isProcessable($value)
31: {
32: if($this->processor instanceof Selective) {
33: return $this->processor->isProcessable($value);
34: }
35:
36: return true;
37: }
38: }