| Total Complexity | 7 |
| Total Lines | 47 |
| Duplicated Lines | 0 % |
| Coverage | 83.33% |
| Changes | 2 | ||
| Bugs | 0 | Features | 0 |
| 1 | <?php |
||
| 23 | class DelegateTokenFactory implements TokenFactoryInterface |
||
| 24 | { |
||
| 25 | private $_callable; |
||
| 26 | private $_factory; |
||
| 27 | |||
| 28 | /** |
||
| 29 | * DelegateTokenFactory constructor. |
||
| 30 | * |
||
| 31 | * @param callable (TokenFactoryInterface $factory, array $params) $function |
||
|
|
|||
| 32 | * @param TokenFactoryInterface|null $factory |
||
| 33 | */ |
||
| 34 | 1 | public function __construct(callable $function, TokenFactoryInterface $factory = null) |
|
| 35 | { |
||
| 36 | 1 | $this->_factory = $factory ?: new TokenFactory(Token::class); |
|
| 37 | 1 | $this->_callable = $function; |
|
| 38 | 1 | } |
|
| 39 | |||
| 40 | /** |
||
| 41 | * @param $name |
||
| 42 | * @param array $params |
||
| 43 | * |
||
| 44 | * @return Token|null |
||
| 45 | */ |
||
| 46 | public function create($name, $params = []) |
||
| 47 | { |
||
| 48 | $callable = $this->_callable; |
||
| 49 | return $callable($this->_factory, $params); |
||
| 50 | } |
||
| 51 | |||
| 52 | 1 | public function setRule($rule) |
|
| 53 | { |
||
| 54 | 1 | $this->_factory->setRule($rule); |
|
| 55 | 1 | } |
|
| 56 | |||
| 57 | 1 | public function setClass($class) |
|
| 58 | { |
||
| 59 | 1 | $this->_factory->setClass($class); |
|
| 60 | 1 | } |
|
| 61 | |||
| 62 | 1 | public function setBase($base) |
|
| 63 | { |
||
| 64 | 1 | $this->_factory->setBase($base); |
|
| 65 | 1 | } |
|
| 66 | |||
| 67 | 1 | public function setType($type) |
|
| 70 | 1 | } |
|
| 71 | } |
||
| 72 |