/zf/library/Zend/Gdata/Extension/Visibility.php
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