Hoa central
Specification.php
Go to the documentation of this file.
1 <?php
2 
37 namespace Hoa\Praspel\Model;
38 
39 from('Hoa')
40 
41 
44 -> import('Realdom.Disjunction', true);
45 
54 class Specification extends Behavior
55 {
61  const NAME = '';
62 
68  protected static $_allowedClauses = [
69  'is',
70  'invariant',
71  'requires',
72  'behavior',
73  'default',
74  'ensures',
75  'throwable',
76  'description'
77  ];
78 
84  protected $_implicitVariables = [];
85 
91  protected $_bindedClass = null;
92 
93 
94 
100  public function __construct()
101  {
102  return;
103  }
104 
111  public function getImplicitVariable($identifier)
112  {
113  if (isset($this->_implicitVariables[$identifier])) {
114  return $this->_implicitVariables[$identifier];
115  }
116 
117  return
118  $this->_implicitVariables[$identifier] =
119  new Variable\Implicit($identifier, false, $this);
120  }
121 
128  public function bindToClass($classname)
129  {
130  $old = $this->_bindedClass;
131  $this->_bindedClass = ltrim($classname, '\\');
132 
133  return $old;
134  }
135 
141  public function getBindedClass()
142  {
143  return $this->_bindedClass;
144  }
145 
151  protected function _getId()
152  {
153  return 'praspel';
154  }
155 }