Current File : /home/k/a/r/karenpetzb/www/items/category/Parameter.php.tar |
home/karenpetzb/library/Zend/Server/Method/Parameter.php 0000604 00000010652 15071324720 0017325 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Server
* @subpackage Method
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/**
* Method parameter metadata
*
* @category Zend
* @package Zend_Server
* @subpackage Method
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Server_Method_Parameter
{
/**
* @var mixed Default parameter value
*/
protected $_defaultValue;
/**
* @var string Parameter description
*/
protected $_description = '';
/**
* @var string Parameter variable name
*/
protected $_name;
/**
* @var bool Is parameter optional?
*/
protected $_optional = false;
/**
* @var string Parameter type
*/
protected $_type = 'mixed';
/**
* Constructor
*
* @param null|array $options
* @return void
*/
public function __construct($options = null)
{
if (is_array($options)) {
$this->setOptions($options);
}
}
/**
* Set object state from array of options
*
* @param array $options
* @return Zend_Server_Method_Parameter
*/
public function setOptions(array $options)
{
foreach ($options as $key => $value) {
$method = 'set' . ucfirst($key);
if (method_exists($this, $method)) {
$this->$method($value);
}
}
return $this;
}
/**
* Set default value
*
* @param mixed $defaultValue
* @return Zend_Server_Method_Parameter
*/
public function setDefaultValue($defaultValue)
{
$this->_defaultValue = $defaultValue;
return $this;
}
/**
* Retrieve default value
*
* @return mixed
*/
public function getDefaultValue()
{
return $this->_defaultValue;
}
/**
* Set description
*
* @param string $description
* @return Zend_Server_Method_Parameter
*/
public function setDescription($description)
{
$this->_description = (string) $description;
return $this;
}
/**
* Retrieve description
*
* @return string
*/
public function getDescription()
{
return $this->_description;
}
/**
* Set name
*
* @param string $name
* @return Zend_Server_Method_Parameter
*/
public function setName($name)
{
$this->_name = (string) $name;
return $this;
}
/**
* Retrieve name
*
* @return string
*/
public function getName()
{
return $this->_name;
}
/**
* Set optional flag
*
* @param bool $flag
* @return Zend_Server_Method_Parameter
*/
public function setOptional($flag)
{
$this->_optional = (bool) $flag;
return $this;
}
/**
* Is the parameter optional?
*
* @return bool
*/
public function isOptional()
{
return $this->_optional;
}
/**
* Set parameter type
*
* @param string $type
* @return Zend_Server_Method_Parameter
*/
public function setType($type)
{
$this->_type = (string) $type;
return $this;
}
/**
* Retrieve parameter type
*
* @return string
*/
public function getType()
{
return $this->_type;
}
/**
* Cast to array
*
* @return array
*/
public function toArray()
{
return array(
'type' => $this->getType(),
'name' => $this->getName(),
'optional' => $this->isOptional(),
'defaultValue' => $this->getDefaultValue(),
'description' => $this->getDescription(),
);
}
}
home/karenpetzb/library/Zend/Server/Reflection/Parameter.php 0000604 00000007260 15071325056 0020203 0 ustar 00 <?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Server
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* Zend_Server_Reflection_Exception
*/
require_once 'Zend/Server/Reflection/Exception.php';
/**
* Parameter Reflection
*
* Decorates a ReflectionParameter to allow setting the parameter type
*
* @category Zend
* @package Zend_Server
* @subpackage Reflection
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: Parameter.php 12619 2008-11-13 15:24:29Z alexander $
*/
class Zend_Server_Reflection_Parameter
{
/**
* @var ReflectionParameter
*/
protected $_reflection;
/**
* Parameter position
* @var int
*/
protected $_position;
/**
* Parameter type
* @var string
*/
protected $_type;
/**
* Parameter description
* @var string
*/
protected $_description;
/**
* Constructor
*
* @param ReflectionParameter $r
* @param string $type Parameter type
* @param string $description Parameter description
*/
public function __construct(ReflectionParameter $r, $type = 'mixed', $description = '')
{
$this->_reflection = $r;
$this->setType($type);
$this->setDescription($description);
}
/**
* Proxy reflection calls
*
* @param string $method
* @param array $args
* @return mixed
*/
public function __call($method, $args)
{
if (method_exists($this->_reflection, $method)) {
return call_user_func_array(array($this->_reflection, $method), $args);
}
throw new Zend_Server_Reflection_Exception('Invalid reflection method');
}
/**
* Retrieve parameter type
*
* @return string
*/
public function getType()
{
return $this->_type;
}
/**
* Set parameter type
*
* @param string|null $type
* @return void
*/
public function setType($type)
{
if (!is_string($type) && (null !== $type)) {
throw new Zend_Server_Reflection_Exception('Invalid parameter type');
}
$this->_type = $type;
}
/**
* Retrieve parameter description
*
* @return string
*/
public function getDescription()
{
return $this->_description;
}
/**
* Set parameter description
*
* @param string|null $description
* @return void
*/
public function setDescription($description)
{
if (!is_string($description) && (null !== $description)) {
throw new Zend_Server_Reflection_Exception('Invalid parameter description');
}
$this->_description = $description;
}
/**
* Set parameter position
*
* @param int $index
* @return void
*/
public function setPosition($index)
{
$this->_position = (int) $index;
}
/**
* Return parameter position
*
* @return int
*/
public function getPosition()
{
return $this->_position;
}
}