1 | <?php |
||
14 | abstract class AbstractFactory implements ProjectFactoryStrategy |
||
15 | { |
||
16 | /** |
||
17 | * @var callable |
||
18 | */ |
||
19 | private $middlewareChain; |
||
20 | |||
21 | public function __construct($middleware = []) |
||
29 | |||
30 | |||
31 | abstract public function matches($object); |
||
32 | |||
33 | 42 | final public function create($object, StrategyContainer $strategies, Context $context = null) |
|
50 | |||
51 | abstract protected function doCreate($object, StrategyContainer $strategies, Context $context = null); |
||
52 | |||
53 | /** |
||
54 | * @param Node|PropertyIterator|ClassConstantIterator|Doc $stmt |
||
55 | * @param StrategyContainer $strategies |
||
56 | * @param Context $context |
||
57 | * @return Element |
||
58 | */ |
||
59 | 11 | protected function createMember($stmt, StrategyContainer $strategies, Context $context = null) |
|
64 | |||
65 | /** |
||
66 | * @param StrategyContainer $strategies |
||
67 | * @param Doc $docBlock |
||
68 | * @param Context $context |
||
69 | * @return null|\phpDocumentor\Reflection\DocBlock |
||
70 | */ |
||
71 | 28 | protected function createDocBlock(StrategyContainer $strategies, Doc $docBlock = null, Context $context = null) |
|
79 | } |
||
80 |