Added the zend framework 2 library, the path is specified in line no.26 in zend_modul...
[openemr.git] / interface / modules / zend_modules / library / Zend / View / ViewEvent.php
blob2392f1d326fe15ebad0ca6eea7d9e4be4a03f073
1 <?php
2 /**
3 * Zend Framework (http://framework.zend.com/)
5 * @link http://github.com/zendframework/zf2 for the canonical source repository
6 * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
7 * @license http://framework.zend.com/license/new-bsd New BSD License
8 */
10 namespace Zend\View;
12 use ArrayAccess;
13 use Zend\EventManager\Event;
14 use Zend\Stdlib\RequestInterface as Request;
15 use Zend\Stdlib\ResponseInterface as Response;
16 use Zend\View\Model\ModelInterface as Model;
17 use Zend\View\Renderer\RendererInterface as Renderer;
19 class ViewEvent extends Event
21 /**#@+
22 * View events triggered by eventmanager
24 const EVENT_RENDERER = 'renderer';
25 const EVENT_RENDERER_POST = 'renderer.post';
26 const EVENT_RESPONSE = 'response';
27 /**#@-*/
29 /**
30 * @var null|Model
32 protected $model;
34 /**
35 * @var Renderer
37 protected $renderer;
39 /**
40 * @var null|Request
42 protected $request;
44 /**
45 * @var null|Response
47 protected $response;
49 /**
50 * @var mixed
52 protected $result;
54 /**
55 * Set the view model
57 * @param Model $model
58 * @return ViewEvent
60 public function setModel(Model $model)
62 $this->model = $model;
63 return $this;
66 /**
67 * Set the MVC request object
69 * @param Request $request
70 * @return ViewEvent
72 public function setRequest(Request $request)
74 $this->request = $request;
75 return $this;
78 /**
79 * Set the MVC response object
81 * @param Response $response
82 * @return ViewEvent
84 public function setResponse(Response $response)
86 $this->response = $response;
87 return $this;
90 /**
91 * Set result of rendering
93 * @param mixed $result
94 * @return ViewEvent
96 public function setResult($result)
98 $this->result = $result;
99 return $this;
103 * Retrieve the view model
105 * @return null|Model
107 public function getModel()
109 return $this->model;
113 * Set value for renderer
115 * @param Renderer $renderer
116 * @return ViewEvent
118 public function setRenderer(Renderer $renderer)
120 $this->renderer = $renderer;
121 return $this;
125 * Get value for renderer
127 * @return null|Renderer
129 public function getRenderer()
131 return $this->renderer;
135 * Retrieve the MVC request object
137 * @return null|Request
139 public function getRequest()
141 return $this->request;
145 * Retrieve the MVC response object
147 * @return null|Response
149 public function getResponse()
151 return $this->response;
155 * Retrieve the result of rendering
157 * @return mixed
159 public function getResult()
161 return $this->result;
165 * Get event parameter
167 * @param string $name
168 * @param mixed $default
169 * @return mixed
171 public function getParam($name, $default = null)
173 switch ($name) {
174 case 'model':
175 return $this->getModel();
176 case 'renderer':
177 return $this->getRenderer();
178 case 'request':
179 return $this->getRequest();
180 case 'response':
181 return $this->getResponse();
182 case 'result':
183 return $this->getResult();
184 default:
185 return parent::getParam($name, $default);
190 * Get all event parameters
192 * @return array|\ArrayAccess
194 public function getParams()
196 $params = parent::getParams();
197 $params['model'] = $this->getModel();
198 $params['renderer'] = $this->getRenderer();
199 $params['request'] = $this->getRequest();
200 $params['response'] = $this->getResponse();
201 $params['result'] = $this->getResult();
202 return $params;
206 * Set event parameters
208 * @param array|object|ArrayAccess $params
209 * @return ViewEvent
211 public function setParams($params)
213 parent::setParams($params);
214 if (!is_array($params) && !$params instanceof ArrayAccess) {
215 return $this;
218 foreach (array('model', 'renderer', 'request', 'response', 'result') as $param) {
219 if (isset($params[$param])) {
220 $method = 'set' . $param;
221 $this->$method($params[$param]);
224 return $this;
228 * Set an individual event parameter
230 * @param string $name
231 * @param mixed $value
232 * @return ViewEvent
234 public function setParam($name, $value)
236 switch ($name) {
237 case 'model':
238 $this->setModel($value);
239 break;
240 case 'renderer':
241 $this->setRenderer($value);
242 break;
243 case 'request':
244 $this->setRequest($value);
245 break;
246 case 'response':
247 $this->setResponse($value);
248 break;
249 case 'result':
250 $this->setResult($value);
251 break;
252 default:
253 parent::setParam($name, $value);
254 break;
256 return $this;