Hoa central
Rule.php
Go to the documentation of this file.
1 <?php
2 
37 namespace Hoa\Compiler\Llk\Rule;
38 
39 use Hoa\Core;
40 
49 abstract class Rule
50 {
56  protected $_name = null;
57 
63  protected $_content = null;
64 
70  protected $_nodeId = null;
71 
77  protected $_nodeOptions = [];
78 
84  protected $_defaultId = null;
85 
91  protected $_defaultOptions = [];
92 
98  protected $_pp = null;
105  protected $_transitional = true;
106 
107 
108 
117  public function __construct($name, $content, $nodeId = null)
118  {
119  $this->setName($name);
120  $this->setContent($content);
121  $this->setNodeId($nodeId);
122 
123  return;
124  }
125 
132  public function setName($name)
133  {
134  $old = $this->_name;
135  $this->_name = $name;
136 
137  return $old;
138  }
139 
145  public function getName()
146  {
147  return $this->_name;
148  }
149 
155  protected function setContent($content)
156  {
157  $old = $this->_content;
158  $this->_content = $content;
159 
160  return $old;
161  }
162 
168  public function getContent()
169  {
170  return $this->_content;
171  }
172 
179  public function setNodeId($nodeId)
180  {
181  $old = $this->_nodeId;
182 
183  if (false !== $pos = strpos($nodeId, ':')) {
184  $this->_nodeId = substr($nodeId, 0, $pos);
185  $this->_nodeOptions = str_split(substr($nodeId, $pos + 1));
186  } else {
187  $this->_nodeId = $nodeId;
188  $this->_nodeOptions = [];
189  }
190 
191  return $old;
192  }
193 
199  public function getNodeId()
200  {
201  return $this->_nodeId;
202  }
203 
209  public function getNodeOptions()
210  {
211  return $this->_nodeOptions;
212  }
213 
220  public function setDefaultId($defaultId)
221  {
222  $old = $this->_defaultId;
223 
224  if (false !== $pos = strpos($defaultId, ':')) {
225  $this->_defaultId = substr($defaultId, 0, $pos);
226  $this->_defaultOptions = str_split(substr($defaultId, $pos + 1));
227  } else {
228  $this->_defaultId = $defaultId;
229  $this->_defaultOptions = [];
230  }
231 
232  return $old;
233  }
234 
240  public function getDefaultId()
241  {
242  return $this->_defaultId;
243  }
244 
250  public function getDefaultOptions()
251  {
252  return $this->_defaultOptions;
253  }
254 
261  public function setPPRepresentation($pp)
262  {
263  $old = $this->_pp;
264  $this->_pp = $pp;
265  $this->_transitional = false;
266 
267  return $old;
268  }
269 
275  public function getPPRepresentation()
276  {
277  return $this->_pp;
278  }
279 
285  public function isTransitional()
286  {
287  return $this->_transitional;
288  }
289 }
290 
294 Core\Consistency::flexEntity('Hoa\Compiler\Llk\Rule\Rule');
$content
Definition: Hoa.php:119
setDefaultId($defaultId)
Definition: Rule.php:220
__construct($name, $content, $nodeId=null)
Definition: Rule.php:117