1 | <?php |
||
10 | final class ProcessedShortcode extends AbstractShortcode implements ParsedShortcodeInterface |
||
11 | { |
||
12 | /** @var ShortcodeInterface */ |
||
13 | private $parent; |
||
14 | private $position; |
||
15 | private $namePosition; |
||
16 | private $text; |
||
17 | private $textContent; |
||
18 | private $offset; |
||
19 | private $shortcodeText; |
||
20 | private $iterationNumber; |
||
21 | private $recursionLevel; |
||
22 | /** @var ProcessorInterface */ |
||
23 | private $processor; |
||
24 | |||
25 | 33 | private function __construct() |
|
28 | |||
29 | 33 | public static function createFromContext(ProcessorContext $context) |
|
30 | { |
||
31 | 33 | $self = new self(); |
|
32 | |||
33 | // basic properties |
||
34 | 33 | $self->name = $context->shortcode->getName(); |
|
35 | 33 | $self->parameters = $context->shortcode->getParameters(); |
|
36 | 33 | $self->content = $context->shortcode->getContent(); |
|
37 | 33 | $self->bbCode = $context->shortcode->getBbCode(); |
|
38 | 33 | $self->textContent = $context->textContent; |
|
39 | |||
40 | // runtime context |
||
41 | 33 | $self->parent = $context->parent; |
|
42 | 33 | $self->position = $context->position; |
|
43 | 33 | $self->namePosition = $context->namePosition[$self->name]; |
|
44 | 33 | $self->text = $context->text; |
|
45 | 33 | $self->shortcodeText = $context->shortcodeText; |
|
46 | |||
47 | // processor state |
||
48 | 33 | $self->iterationNumber = $context->iterationNumber; |
|
49 | 33 | $self->recursionLevel = $context->recursionLevel; |
|
50 | 33 | $self->processor = $context->processor; |
|
51 | |||
52 | // text context |
||
53 | 33 | $self->offset = $context->offset; |
|
54 | |||
55 | 33 | return $self; |
|
56 | } |
||
57 | |||
58 | 24 | public function withContent($content) |
|
65 | |||
66 | 3 | public function hasAncestor($name) |
|
78 | 2 | ||
79 | public function getParent() |
||
83 | 2 | ||
84 | public function getTextContent() |
||
88 | 1 | ||
89 | public function getPosition() |
||
93 | 1 | ||
94 | public function getNamePosition() |
||
98 | 1 | ||
99 | public function getText() |
||
103 | 1 | ||
104 | public function getShortcodeText() |
||
108 | 1 | ||
109 | public function getOffset() |
||
113 | 1 | ||
114 | public function getIterationNumber() |
||
118 | |||
119 | public function getRecursionLevel() |
||
123 | |||
124 | public function getProcessor() |
||
128 | } |
||
129 |