annotate vendor/zendframework/zend-feed/src/Writer/Deleted.php @ 0:c75dbcec494b

Initial commit from drush-created site
author Chris Cannam
date Thu, 05 Jul 2018 14:24:15 +0000
parents
children 5311817fb629
rev   line source
Chris@0 1 <?php
Chris@0 2 /**
Chris@0 3 * Zend Framework (http://framework.zend.com/)
Chris@0 4 *
Chris@0 5 * @link http://github.com/zendframework/zf2 for the canonical source repository
Chris@0 6 * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
Chris@0 7 * @license http://framework.zend.com/license/new-bsd New BSD License
Chris@0 8 */
Chris@0 9
Chris@0 10 namespace Zend\Feed\Writer;
Chris@0 11
Chris@0 12 use DateTime;
Chris@0 13 use Zend\Feed\Uri;
Chris@0 14
Chris@0 15 /**
Chris@0 16 */
Chris@0 17 class Deleted
Chris@0 18 {
Chris@0 19 /**
Chris@0 20 * Internal array containing all data associated with this entry or item.
Chris@0 21 *
Chris@0 22 * @var array
Chris@0 23 */
Chris@0 24 protected $data = [];
Chris@0 25
Chris@0 26 /**
Chris@0 27 * Holds the value "atom" or "rss" depending on the feed type set when
Chris@0 28 * when last exported.
Chris@0 29 *
Chris@0 30 * @var string
Chris@0 31 */
Chris@0 32 protected $type = null;
Chris@0 33
Chris@0 34 /**
Chris@0 35 * Set the feed character encoding
Chris@0 36 *
Chris@0 37 * @param $encoding
Chris@0 38 * @throws Exception\InvalidArgumentException
Chris@0 39 * @return string|null
Chris@0 40 * @return Deleted
Chris@0 41 */
Chris@0 42 public function setEncoding($encoding)
Chris@0 43 {
Chris@0 44 if (empty($encoding) || !is_string($encoding)) {
Chris@0 45 throw new Exception\InvalidArgumentException('Invalid parameter: parameter must be a non-empty string');
Chris@0 46 }
Chris@0 47 $this->data['encoding'] = $encoding;
Chris@0 48
Chris@0 49 return $this;
Chris@0 50 }
Chris@0 51
Chris@0 52 /**
Chris@0 53 * Get the feed character encoding
Chris@0 54 *
Chris@0 55 * @return string|null
Chris@0 56 */
Chris@0 57 public function getEncoding()
Chris@0 58 {
Chris@0 59 if (!array_key_exists('encoding', $this->data)) {
Chris@0 60 return 'UTF-8';
Chris@0 61 }
Chris@0 62 return $this->data['encoding'];
Chris@0 63 }
Chris@0 64
Chris@0 65 /**
Chris@0 66 * Unset a specific data point
Chris@0 67 *
Chris@0 68 * @param string $name
Chris@0 69 * @return Deleted
Chris@0 70 */
Chris@0 71 public function remove($name)
Chris@0 72 {
Chris@0 73 if (isset($this->data[$name])) {
Chris@0 74 unset($this->data[$name]);
Chris@0 75 }
Chris@0 76
Chris@0 77 return $this;
Chris@0 78 }
Chris@0 79
Chris@0 80 /**
Chris@0 81 * Set the current feed type being exported to "rss" or "atom". This allows
Chris@0 82 * other objects to gracefully choose whether to execute or not, depending
Chris@0 83 * on their appropriateness for the current type, e.g. renderers.
Chris@0 84 *
Chris@0 85 * @param string $type
Chris@0 86 * @return Deleted
Chris@0 87 */
Chris@0 88 public function setType($type)
Chris@0 89 {
Chris@0 90 $this->type = $type;
Chris@0 91 return $this;
Chris@0 92 }
Chris@0 93
Chris@0 94 /**
Chris@0 95 * Retrieve the current or last feed type exported.
Chris@0 96 *
Chris@0 97 * @return string Value will be "rss" or "atom"
Chris@0 98 */
Chris@0 99 public function getType()
Chris@0 100 {
Chris@0 101 return $this->type;
Chris@0 102 }
Chris@0 103
Chris@0 104 /**
Chris@0 105 * Set reference
Chris@0 106 *
Chris@0 107 * @param $reference
Chris@0 108 * @throws Exception\InvalidArgumentException
Chris@0 109 * @return Deleted
Chris@0 110 */
Chris@0 111 public function setReference($reference)
Chris@0 112 {
Chris@0 113 if (empty($reference) || !is_string($reference)) {
Chris@0 114 throw new Exception\InvalidArgumentException('Invalid parameter: reference must be a non-empty string');
Chris@0 115 }
Chris@0 116 $this->data['reference'] = $reference;
Chris@0 117
Chris@0 118 return $this;
Chris@0 119 }
Chris@0 120
Chris@0 121 /**
Chris@0 122 * @return string
Chris@0 123 */
Chris@0 124 public function getReference()
Chris@0 125 {
Chris@0 126 if (!array_key_exists('reference', $this->data)) {
Chris@0 127 return;
Chris@0 128 }
Chris@0 129 return $this->data['reference'];
Chris@0 130 }
Chris@0 131
Chris@0 132 /**
Chris@0 133 * Set when
Chris@0 134 *
Chris@0 135 * @param null|string|DateTime $date
Chris@0 136 * @throws Exception\InvalidArgumentException
Chris@0 137 * @return Deleted
Chris@0 138 */
Chris@0 139 public function setWhen($date = null)
Chris@0 140 {
Chris@0 141 if ($date === null) {
Chris@0 142 $date = new DateTime();
Chris@0 143 } elseif (is_int($date)) {
Chris@0 144 $date = new DateTime('@' . $date);
Chris@0 145 } elseif (!$date instanceof DateTime) {
Chris@0 146 throw new Exception\InvalidArgumentException('Invalid DateTime object or UNIX Timestamp'
Chris@0 147 . ' passed as parameter');
Chris@0 148 }
Chris@0 149 $this->data['when'] = $date;
Chris@0 150
Chris@0 151 return $this;
Chris@0 152 }
Chris@0 153
Chris@0 154 /**
Chris@0 155 * @return DateTime
Chris@0 156 */
Chris@0 157 public function getWhen()
Chris@0 158 {
Chris@0 159 if (!array_key_exists('when', $this->data)) {
Chris@0 160 return;
Chris@0 161 }
Chris@0 162 return $this->data['when'];
Chris@0 163 }
Chris@0 164
Chris@0 165 /**
Chris@0 166 * Set by
Chris@0 167 *
Chris@0 168 * @param array $by
Chris@0 169 * @throws Exception\InvalidArgumentException
Chris@0 170 * @return Deleted
Chris@0 171 */
Chris@0 172 public function setBy(array $by)
Chris@0 173 {
Chris@0 174 $author = [];
Chris@0 175 if (!array_key_exists('name', $by)
Chris@0 176 || empty($by['name'])
Chris@0 177 || !is_string($by['name'])
Chris@0 178 ) {
Chris@0 179 throw new Exception\InvalidArgumentException('Invalid parameter: author array must include a'
Chris@0 180 . ' "name" key with a non-empty string value');
Chris@0 181 }
Chris@0 182 $author['name'] = $by['name'];
Chris@0 183 if (isset($by['email'])) {
Chris@0 184 if (empty($by['email']) || !is_string($by['email'])) {
Chris@0 185 throw new Exception\InvalidArgumentException('Invalid parameter: "email" array'
Chris@0 186 . ' value must be a non-empty string');
Chris@0 187 }
Chris@0 188 $author['email'] = $by['email'];
Chris@0 189 }
Chris@0 190 if (isset($by['uri'])) {
Chris@0 191 if (empty($by['uri'])
Chris@0 192 || !is_string($by['uri'])
Chris@0 193 || !Uri::factory($by['uri'])->isValid()
Chris@0 194 ) {
Chris@0 195 throw new Exception\InvalidArgumentException('Invalid parameter: "uri" array value must'
Chris@0 196 . ' be a non-empty string and valid URI/IRI');
Chris@0 197 }
Chris@0 198 $author['uri'] = $by['uri'];
Chris@0 199 }
Chris@0 200 $this->data['by'] = $author;
Chris@0 201
Chris@0 202 return $this;
Chris@0 203 }
Chris@0 204
Chris@0 205 /**
Chris@0 206 * @return string
Chris@0 207 */
Chris@0 208 public function getBy()
Chris@0 209 {
Chris@0 210 if (!array_key_exists('by', $this->data)) {
Chris@0 211 return;
Chris@0 212 }
Chris@0 213 return $this->data['by'];
Chris@0 214 }
Chris@0 215
Chris@0 216 /**
Chris@0 217 * @param string $comment
Chris@0 218 * @return Deleted
Chris@0 219 */
Chris@0 220 public function setComment($comment)
Chris@0 221 {
Chris@0 222 $this->data['comment'] = $comment;
Chris@0 223 return $this;
Chris@0 224 }
Chris@0 225
Chris@0 226 /**
Chris@0 227 * @return string
Chris@0 228 */
Chris@0 229 public function getComment()
Chris@0 230 {
Chris@0 231 if (!array_key_exists('comment', $this->data)) {
Chris@0 232 return;
Chris@0 233 }
Chris@0 234 return $this->data['comment'];
Chris@0 235 }
Chris@0 236 }