PageRenderTime 11ms CodeModel.GetById 7ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 0ms

/zf/library/Zend/Gdata/Extension/Visibility.php

http://github.com/eryx/php-framework-benchmark
PHP | 123 lines | 43 code | 12 blank | 68 comment | 2 complexity | 71331d1aa2ce7bd84a029ff62d901f6c MD5 | raw file
Possible License(s): MIT, BSD-3-Clause, Apache-2.0, LGPL-2.1, LGPL-3.0, BSD-2-Clause
  1<?php
  2
  3/**
  4 * Zend Framework
  5 *
  6 * LICENSE
  7 *
  8 * This source file is subject to the new BSD license that is bundled
  9 * with this package in the file LICENSE.txt.
 10 * It is also available through the world-wide-web at this URL:
 11 * http://framework.zend.com/license/new-bsd
 12 * If you did not receive a copy of the license and are unable to
 13 * obtain it through the world-wide-web, please send an email
 14 * to license@zend.com so we can send you a copy immediately.
 15 *
 16 * @category   Zend
 17 * @package    Zend_Gdata
 18 * @subpackage Gdata
 19 * @copyright  Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
 20 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 21 * @version    $Id: Visibility.php 23775 2011-03-01 17:25:24Z ralph $
 22 */
 23
 24/**
 25 * @see Zend_Gdata_Extension
 26 */
 27require_once 'Zend/Gdata/Extension.php';
 28
 29/**
 30 * Data model class to represent an entry's visibility
 31 *
 32 * @category   Zend
 33 * @package    Zend_Gdata
 34 * @subpackage Gdata
 35 * @copyright  Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
 36 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 37 */
 38class Zend_Gdata_Extension_Visibility extends Zend_Gdata_Extension
 39{
 40
 41    protected $_rootElement = 'visibility';
 42    protected $_value = null;
 43
 44    /**
 45     * Constructs a new Zend_Gdata_Extension_Visibility object.
 46     * @param bool $value (optional) Visibility value as URI.
 47     */
 48    public function __construct($value = null)
 49    {
 50        parent::__construct();
 51        $this->_value = $value;
 52    }
 53
 54    /**
 55     * Retrieves a DOMElement which corresponds to this element and all
 56     * child properties.  This is used to build an entry back into a DOM
 57     * and eventually XML text for sending to the server upon updates, or
 58     * for application storage/persistence.
 59     *
 60     * @param DOMDocument $doc The DOMDocument used to construct DOMElements
 61     * @return DOMElement The DOMElement representing this element and all
 62     * child properties.
 63     */
 64    public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
 65    {
 66        $element = parent::getDOM($doc, $majorVersion, $minorVersion);
 67        if ($this->_value !== null) {
 68            $element->setAttribute('value', $this->_value);
 69        }
 70        return $element;
 71    }
 72
 73    /**
 74     * Given a DOMNode representing an attribute, tries to map the data into
 75     * instance members.  If no mapping is defined, the name and value are
 76     * stored in an array.
 77     *
 78     * @param DOMNode $attribute The DOMNode attribute needed to be handled
 79     */
 80    protected function takeAttributeFromDOM($attribute)
 81    {
 82        switch ($attribute->localName) {
 83        case 'value':
 84            $this->_value = $attribute->nodeValue;
 85            break;
 86        default:
 87            parent::takeAttributeFromDOM($attribute);
 88        }
 89    }
 90
 91    /**
 92     * Get the value for this element's Value attribute.
 93     *
 94     * @return bool The requested attribute.
 95     */
 96    public function getValue()
 97    {
 98        return $this->_value;
 99    }
100
101    /**
102     * Set the value for this element's Value attribute.
103     *
104     * @param bool $value The desired value for this attribute.
105     * @return Zend_Gdata_Extension_Visibility The element being modified.
106     */
107    public function setValue($value)
108    {
109        $this->_value = $value;
110        return $this;
111    }
112
113    /**
114     * Magic toString method allows using this directly via echo
115     * Works best in PHP >= 4.2.0
116     */
117    public function __toString()
118    {
119        return $this->getValue();
120    }
121
122}
123