summaryrefslogtreecommitdiff
path: root/zend/library/Zend/Gdata/Books
diff options
context:
space:
mode:
Diffstat (limited to 'zend/library/Zend/Gdata/Books')
-rw-r--r--zend/library/Zend/Gdata/Books/CollectionEntry.php56
-rw-r--r--zend/library/Zend/Gdata/Books/CollectionFeed.php62
-rw-r--r--zend/library/Zend/Gdata/Books/Extension/AnnotationLink.php63
-rw-r--r--zend/library/Zend/Gdata/Books/Extension/BooksCategory.php59
-rw-r--r--zend/library/Zend/Gdata/Books/Extension/BooksLink.php61
-rw-r--r--zend/library/Zend/Gdata/Books/Extension/Embeddability.php122
-rw-r--r--zend/library/Zend/Gdata/Books/Extension/InfoLink.php59
-rw-r--r--zend/library/Zend/Gdata/Books/Extension/PreviewLink.php60
-rw-r--r--zend/library/Zend/Gdata/Books/Extension/Review.php152
-rw-r--r--zend/library/Zend/Gdata/Books/Extension/ThumbnailLink.php60
-rw-r--r--zend/library/Zend/Gdata/Books/Extension/Viewability.php123
-rw-r--r--zend/library/Zend/Gdata/Books/VolumeEntry.php687
-rw-r--r--zend/library/Zend/Gdata/Books/VolumeFeed.php62
-rwxr-xr-xzend/library/Zend/Gdata/Books/VolumeQuery.php112
14 files changed, 1738 insertions, 0 deletions
diff --git a/zend/library/Zend/Gdata/Books/CollectionEntry.php b/zend/library/Zend/Gdata/Books/CollectionEntry.php
new file mode 100644
index 0000000..76197d7
--- /dev/null
+++ b/zend/library/Zend/Gdata/Books/CollectionEntry.php
@@ -0,0 +1,56 @@
+<?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_Gdata
+ * @subpackage Books
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id: CollectionEntry.php 24593 2012-01-05 20:35:02Z matthew $
+ */
+
+/**
+ * @see Zend_Gdata_Entry
+ */
+require_once 'Zend/Gdata/Entry.php';
+
+/**
+ * Describes an entry in a feed of collections
+ *
+ * @category Zend
+ * @package Zend_Gdata
+ * @subpackage Books
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_Gdata_Books_CollectionEntry extends Zend_Gdata_Entry
+{
+
+ /**
+ * Constructor for Zend_Gdata_Books_CollectionEntry which
+ * Describes an entry in a feed of collections
+ *
+ * @param DOMElement $element (optional) DOMElement from which this
+ * object should be constructed.
+ */
+ public function __construct($element = null)
+ {
+ $this->registerAllNamespaces(Zend_Gdata_Books::$namespaces);
+ parent::__construct($element);
+ }
+
+
+}
+
diff --git a/zend/library/Zend/Gdata/Books/CollectionFeed.php b/zend/library/Zend/Gdata/Books/CollectionFeed.php
new file mode 100644
index 0000000..85efe35
--- /dev/null
+++ b/zend/library/Zend/Gdata/Books/CollectionFeed.php
@@ -0,0 +1,62 @@
+<?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_Gdata
+ * @subpackage Books
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id: CollectionFeed.php 24593 2012-01-05 20:35:02Z matthew $
+ */
+
+/**
+ * @see Zend_Gdata_Feed
+ */
+require_once 'Zend/Gdata/Feed.php';
+
+/**
+ * Describes a Book Search collection feed
+ *
+ * @category Zend
+ * @package Zend_Gdata
+ * @subpackage Books
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_Gdata_Books_CollectionFeed extends Zend_Gdata_Feed
+{
+
+ /**
+ * Constructor for Zend_Gdata_Books_CollectionFeed which
+ * Describes a Book Search collection feed
+ *
+ * @param DOMElement $element (optional) DOMElement from which this
+ * object should be constructed.
+ */
+ public function __construct($element = null)
+ {
+ $this->registerAllNamespaces(Zend_Gdata_Books::$namespaces);
+ parent::__construct($element);
+ }
+
+ /**
+ * The classname for individual feed elements.
+ *
+ * @var string
+ */
+ protected $_entryClassName = 'Zend_Gdata_Books_CollectionEntry';
+
+}
+
diff --git a/zend/library/Zend/Gdata/Books/Extension/AnnotationLink.php b/zend/library/Zend/Gdata/Books/Extension/AnnotationLink.php
new file mode 100644
index 0000000..8c4f530
--- /dev/null
+++ b/zend/library/Zend/Gdata/Books/Extension/AnnotationLink.php
@@ -0,0 +1,63 @@
+<?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_Gdata
+ * @subpackage Books
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id: AnnotationLink.php 24593 2012-01-05 20:35:02Z matthew $
+ */
+
+/**
+ * @see Zend_Gdata_Books_Extension_BooksLink
+ */
+require_once 'Zend/Gdata/Books/Extension/BooksLink.php';
+
+/**
+ * Describes an annotation link
+ *
+ * @category Zend
+ * @package Zend_Gdata
+ * @subpackage Books
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_Gdata_Books_Extension_AnnotationLink extends
+ Zend_Gdata_Books_Extension_BooksLink
+{
+
+ /**
+ * Constructor for Zend_Gdata_Books_Extension_AnnotationLink which
+ * Describes an annotation link
+ *
+ * @param string|null $href Linked resource URI
+ * @param string|null $rel Forward relationship
+ * @param string|null $type Resource MIME type
+ * @param string|null $hrefLang Resource language
+ * @param string|null $title Human-readable resource title
+ * @param string|null $length Resource length in octets
+ * @param DOMElement $element (optional) DOMElement from which this
+ * object should be constructed.
+ */
+ public function __construct($href = null, $rel = null, $type = null,
+ $hrefLang = null, $title = null, $length = null)
+ {
+ $this->registerAllNamespaces(Zend_Gdata_Books::$namespaces);
+ parent::__construct($href, $rel, $type, $hrefLang, $title, $length);
+ }
+
+}
+
diff --git a/zend/library/Zend/Gdata/Books/Extension/BooksCategory.php b/zend/library/Zend/Gdata/Books/Extension/BooksCategory.php
new file mode 100644
index 0000000..3520e9a
--- /dev/null
+++ b/zend/library/Zend/Gdata/Books/Extension/BooksCategory.php
@@ -0,0 +1,59 @@
+<?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_Gdata
+ * @subpackage Books
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id: BooksCategory.php 24593 2012-01-05 20:35:02Z matthew $
+ */
+
+/**
+ * @see Zend_Gdata_App_Extension_Category
+ */
+require_once 'Zend/Gdata/App/Extension/Category.php';
+
+/**
+ * Describes a books category
+ *
+ * @category Zend
+ * @package Zend_Gdata
+ * @subpackage Books
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_Gdata_Books_Extension_BooksCategory extends
+ Zend_Gdata_App_Extension_Category
+{
+
+ /**
+ * Constructor for Zend_Gdata_Books_Extension_BooksCategory which
+ * Describes a books category
+ *
+ * @param string|null $term An identifier representing the category within
+ * the categorization scheme.
+ * @param string|null $scheme A string containing a URI identifying the
+ * categorization scheme.
+ * @param string|null $label A human-readable label for display in
+ * end-user applications.
+ */
+ public function __construct($term = null, $scheme = null, $label = null)
+ {
+ $this->registerAllNamespaces(Zend_Gdata_Books::$namespaces);
+ parent::__construct($term, $scheme, $label);
+ }
+
+}
diff --git a/zend/library/Zend/Gdata/Books/Extension/BooksLink.php b/zend/library/Zend/Gdata/Books/Extension/BooksLink.php
new file mode 100644
index 0000000..32ca572
--- /dev/null
+++ b/zend/library/Zend/Gdata/Books/Extension/BooksLink.php
@@ -0,0 +1,61 @@
+<?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_Gdata
+ * @subpackage Books
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id: BooksLink.php 24593 2012-01-05 20:35:02Z matthew $
+ */
+
+/**
+ * @see Zend_Gdata_App_Extension_Link
+ */
+require_once 'Zend/Gdata/App/Extension/Link.php';
+
+/**
+ * Extends the base Link class with Books extensions
+ *
+ * @category Zend
+ * @package Zend_Gdata
+ * @subpackage Books
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_Gdata_Books_Extension_BooksLink extends Zend_Gdata_App_Extension_Link
+{
+
+ /**
+ * Constructor for Zend_Gdata_Books_Extension_BooksLink which
+ * Extends the base Link class with Books extensions
+ *
+ * @param string|null $href Linked resource URI
+ * @param string|null $rel Forward relationship
+ * @param string|null $type Resource MIME type
+ * @param string|null $hrefLang Resource language
+ * @param string|null $title Human-readable resource title
+ * @param string|null $length Resource length in octets
+ */
+ public function __construct($href = null, $rel = null, $type = null,
+ $hrefLang = null, $title = null, $length = null)
+ {
+ $this->registerAllNamespaces(Zend_Gdata_Books::$namespaces);
+ parent::__construct($href, $rel, $type, $hrefLang, $title, $length);
+ }
+
+
+}
+
diff --git a/zend/library/Zend/Gdata/Books/Extension/Embeddability.php b/zend/library/Zend/Gdata/Books/Extension/Embeddability.php
new file mode 100644
index 0000000..b8a8e7b
--- /dev/null
+++ b/zend/library/Zend/Gdata/Books/Extension/Embeddability.php
@@ -0,0 +1,122 @@
+<?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_Gdata
+ * @subpackage Books
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id: Embeddability.php 24593 2012-01-05 20:35:02Z matthew $
+ */
+
+/**
+ * @see Zend_Gdata_Extension
+ */
+require_once 'Zend/Gdata/Extension.php';
+
+/**
+ * Describes an embeddability
+ *
+ * @category Zend
+ * @package Zend_Gdata
+ * @subpackage Books
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_Gdata_Books_Extension_Embeddability extends Zend_Gdata_Extension
+{
+
+ protected $_rootNamespace = 'gbs';
+ protected $_rootElement = 'embeddability';
+ protected $_value = null;
+
+ /**
+ * Constructor for Zend_Gdata_Books_Extension_Embeddability which
+ * Describes an embeddability.
+ *
+ * @param string|null $value A programmatic value representing the book's
+ * embeddability.
+ */
+ public function __construct($value = null)
+ {
+ $this->registerAllNamespaces(Zend_Gdata_Books::$namespaces);
+ parent::__construct();
+ $this->_value = $value;
+ }
+
+ /**
+ * Retrieves DOMElement which corresponds to this element and all
+ * child properties. This is used to build this object back into a DOM
+ * and eventually XML text for sending to the server upon updates, or
+ * for application storage/persistance.
+ *
+ * @param DOMDocument $doc The DOMDocument used to construct DOMElements
+ * @return DOMElement The DOMElement representing this element and all
+ * child properties.
+ */
+ public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
+ {
+ $element = parent::getDOM($doc);
+ if ($this->_value !== null) {
+ $element->setAttribute('value', $this->_value);
+ }
+ return $element;
+ }
+
+ /**
+ * Extracts XML attributes from the DOM and converts them to the
+ * appropriate object members.
+ *
+ * @param DOMNode $attribute The DOMNode attribute to be handled.
+ */
+ protected function takeAttributeFromDOM($attribute)
+ {
+ switch ($attribute->localName) {
+ case 'value':
+ $this->_value = $attribute->nodeValue;
+ break;
+ default:
+ parent::takeAttributeFromDOM($attribute);
+ }
+ }
+
+ /**
+ * Returns the programmatic value that describes the embeddability of a
+ * volume in Google Book Search
+ *
+ * @return string|null The value
+ */
+ public function getValue()
+ {
+ return $this->_value;
+ }
+
+ /**
+ * Sets the programmatic value that describes the embeddability of a
+ * volume in Google Book Search
+ *
+ * @param string|null $value Programmatic value that describes the
+ * embeddability of a volume in Google Book Search
+ * @return Zend_Gdata_Books_Extension_Embeddability Provides a fluent
+ * interface
+ */
+ public function setValue($value)
+ {
+ $this->_value = $value;
+ return $this;
+ }
+
+}
+
diff --git a/zend/library/Zend/Gdata/Books/Extension/InfoLink.php b/zend/library/Zend/Gdata/Books/Extension/InfoLink.php
new file mode 100644
index 0000000..8cc911f
--- /dev/null
+++ b/zend/library/Zend/Gdata/Books/Extension/InfoLink.php
@@ -0,0 +1,59 @@
+<?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_Gdata
+ * @subpackage Books
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id: InfoLink.php 24593 2012-01-05 20:35:02Z matthew $
+ */
+
+/**
+ * @see Zend_Gdata_Books_Extension_BooksLink
+ */
+require_once 'Zend/Gdata/Books/Extension/BooksLink.php';
+
+/**
+ * Describes an info link
+ *
+ * @category Zend
+ * @package Zend_Gdata
+ * @subpackage Books
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_Gdata_Books_Extension_InfoLink extends
+ Zend_Gdata_Books_Extension_BooksLink
+{
+
+ /**
+ * Constructor for Zend_Gdata_Books_Extension_InfoLink which
+ * Describes an info link
+ *
+ * @param string|null $href Linked resource URI
+ * @param string|null $rel Forward relationship
+ * @param string|null $type Resource MIME type
+ * @param string|null $hrefLang Resource language
+ * @param string|null $title Human-readable resource title
+ * @param string|null $length Resource length in octets
+ */
+ public function __construct($href = null, $rel = null, $type = null,
+ $hrefLang = null, $title = null, $length = null)
+ {
+ $this->registerAllNamespaces(Zend_Gdata_Books::$namespaces);
+ parent::__construct($href, $rel, $type, $hrefLang, $title, $length);
+ }
+
+}
diff --git a/zend/library/Zend/Gdata/Books/Extension/PreviewLink.php b/zend/library/Zend/Gdata/Books/Extension/PreviewLink.php
new file mode 100644
index 0000000..a5cb107
--- /dev/null
+++ b/zend/library/Zend/Gdata/Books/Extension/PreviewLink.php
@@ -0,0 +1,60 @@
+<?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_Gdata
+ * @subpackage Books
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id: PreviewLink.php 24593 2012-01-05 20:35:02Z matthew $
+ */
+
+/**
+ * @see Zend_Gdata_Books_Extension_BooksLink
+ */
+require_once 'Zend/Gdata/Books/Extension/BooksLink.php';
+
+/**
+ * Describes a preview link
+ *
+ * @category Zend
+ * @package Zend_Gdata
+ * @subpackage Books
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_Gdata_Books_Extension_PreviewLink extends
+ Zend_Gdata_Books_Extension_BooksLink
+{
+
+ /**
+ * Constructor for Zend_Gdata_Books_Extension_PreviewLink which
+ * Describes a preview link
+ *
+ * @param string|null $href Linked resource URI
+ * @param string|null $rel Forward relationship
+ * @param string|null $type Resource MIME type
+ * @param string|null $hrefLang Resource language
+ * @param string|null $title Human-readable resource title
+ * @param string|null $length Resource length in octets
+ */
+ public function __construct($href = null, $rel = null, $type = null,
+ $hrefLang = null, $title = null, $length = null)
+ {
+ $this->registerAllNamespaces(Zend_Gdata_Books::$namespaces);
+ parent::__construct($href, $rel, $type, $hrefLang, $title, $length);
+ }
+
+}
diff --git a/zend/library/Zend/Gdata/Books/Extension/Review.php b/zend/library/Zend/Gdata/Books/Extension/Review.php
new file mode 100644
index 0000000..04e31d5
--- /dev/null
+++ b/zend/library/Zend/Gdata/Books/Extension/Review.php
@@ -0,0 +1,152 @@
+<?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_Gdata
+ * @subpackage Books
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id: Review.php 24593 2012-01-05 20:35:02Z matthew $
+ */
+
+/**
+ * @see Zend_Gdata_Extension
+ */
+require_once 'Zend/Gdata/Extension.php';
+
+/**
+ * User-provided review
+ *
+ * @category Zend
+ * @package Zend_Gdata
+ * @subpackage Books
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_Gdata_Books_Extension_Review extends Zend_Gdata_Extension
+{
+
+ protected $_rootNamespace = 'gbs';
+ protected $_rootElement = 'review';
+ protected $_lang = null;
+ protected $_type = null;
+
+ /**
+ * Constructor for Zend_Gdata_Books_Extension_Review which
+ * User-provided review
+ *
+ * @param string|null $lang Review language.
+ * @param string|null $type Type of text construct (typically text, html,
+ * or xhtml).
+ * @param string|null $value Text content of the review.
+ */
+ public function __construct($lang = null, $type = null, $value = null)
+ {
+ $this->registerAllNamespaces(Zend_Gdata_Books::$namespaces);
+ parent::__construct();
+ $this->_lang = $lang;
+ $this->_type = $type;
+ $this->_text = $value;
+ }
+
+ /**
+ * Retrieves DOMElement which corresponds to this element and all
+ * child properties. This is used to build this object back into a DOM
+ * and eventually XML text for sending to the server upon updates, or
+ * for application storage/persistance.
+ *
+ * @param DOMDocument $doc The DOMDocument used to construct DOMElements
+ * @return DOMElement The DOMElement representing this element and all
+ * child properties.
+ */
+ public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
+ {
+ $element = parent::getDOM($doc);
+ if ($this->_lang !== null) {
+ $element->setAttribute('lang', $this->_lang);
+ }
+ if ($this->_type !== null) {
+ $element->setAttribute('type', $this->_type);
+ }
+ return $element;
+ }
+
+ /**
+ * Extracts XML attributes from the DOM and converts them to the
+ * appropriate object members.
+ *
+ * @param DOMNode $attribute The DOMNode attribute to be handled.
+ */
+ protected function takeAttributeFromDOM($attribute)
+ {
+ switch ($attribute->localName) {
+ case 'lang':
+ $this->_lang = $attribute->nodeValue;
+ break;
+ case 'type':
+ $this->_type = $attribute->nodeValue;
+ break;
+ default:
+ parent::takeAttributeFromDOM($attribute);
+ }
+ }
+
+ /**
+ * Returns the language of link title
+ *
+ * @return string The lang
+ */
+ public function getLang()
+ {
+ return $this->_lang;
+ }
+
+ /**
+ * Returns the type of text construct (typically 'text', 'html' or 'xhtml')
+ *
+ * @return string The type
+ */
+ public function getType()
+ {
+ return $this->_type;
+ }
+
+ /**
+ * Sets the language of link title
+ *
+ * @param string $lang language of link title
+ * @return Zend_Gdata_Books_Extension_Review Provides a fluent interface
+ */
+ public function setLang($lang)
+ {
+ $this->_lang = $lang;
+ return $this;
+ }
+
+ /**
+ * Sets the type of text construct (typically 'text', 'html' or 'xhtml')
+ *
+ * @param string $type type of text construct (typically 'text', 'html' or 'xhtml')
+ * @return Zend_Gdata_Books_Extension_Review Provides a fluent interface
+ */
+ public function setType($type)
+ {
+ $this->_type = $type;
+ return $this;
+ }
+
+
+}
+
diff --git a/zend/library/Zend/Gdata/Books/Extension/ThumbnailLink.php b/zend/library/Zend/Gdata/Books/Extension/ThumbnailLink.php
new file mode 100644
index 0000000..3012788
--- /dev/null
+++ b/zend/library/Zend/Gdata/Books/Extension/ThumbnailLink.php
@@ -0,0 +1,60 @@
+<?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_Gdata
+ * @subpackage Books
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id: ThumbnailLink.php 24593 2012-01-05 20:35:02Z matthew $
+ */
+
+/**
+ * @see Zend_Gdata_Books_Extension_BooksLink
+ */
+require_once 'Zend/Gdata/Books/Extension/BooksLink.php';
+
+/**
+ * Describes a thumbnail link
+ *
+ * @category Zend
+ * @package Zend_Gdata
+ * @subpackage Books
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_Gdata_Books_Extension_ThumbnailLink extends
+ Zend_Gdata_Books_Extension_BooksLink
+{
+
+ /**
+ * Constructor for Zend_Gdata_Books_Extension_ThumbnailLink which
+ * Describes a thumbnail link
+ *
+ * @param string|null $href Linked resource URI
+ * @param string|null $rel Forward relationship
+ * @param string|null $type Resource MIME type
+ * @param string|null $hrefLang Resource language
+ * @param string|null $title Human-readable resource title
+ * @param string|null $length Resource length in octets
+ */
+ public function __construct($href = null, $rel = null, $type = null,
+ $hrefLang = null, $title = null, $length = null)
+ {
+ $this->registerAllNamespaces(Zend_Gdata_Books::$namespaces);
+ parent::__construct($href, $rel, $type, $hrefLang, $title, $length);
+ }
+
+}
diff --git a/zend/library/Zend/Gdata/Books/Extension/Viewability.php b/zend/library/Zend/Gdata/Books/Extension/Viewability.php
new file mode 100644
index 0000000..bd4a16c
--- /dev/null
+++ b/zend/library/Zend/Gdata/Books/Extension/Viewability.php
@@ -0,0 +1,123 @@
+<?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_Gdata
+ * @subpackage Books
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id: Viewability.php 24593 2012-01-05 20:35:02Z matthew $
+ */
+
+/**
+ * @see Zend_Gdata_Extension
+ */
+require_once 'Zend/Gdata/Extension.php';
+
+/**
+ * Describes a viewability
+ *
+ * @category Zend
+ * @package Zend_Gdata
+ * @subpackage Books
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_Gdata_Books_Extension_Viewability extends Zend_Gdata_Extension
+{
+
+ protected $_rootNamespace = 'gbs';
+ protected $_rootElement = 'viewability';
+ protected $_value = null;
+
+ /**
+ * Constructor for Zend_Gdata_Books_Extension_Viewability which
+ * Describes a viewability
+ *
+ * @param string|null $value A programmatic value representing the book's
+ * viewability mode.
+ */
+ public function __construct($value = null)
+ {
+ $this->registerAllNamespaces(Zend_Gdata_Books::$namespaces);
+ parent::__construct();
+ $this->_value = $value;
+ }
+
+ /**
+ * Retrieves DOMElement which corresponds to this element and all
+ * child properties. This is used to build this object back into a DOM
+ * and eventually XML text for sending to the server upon updates, or
+ * for application storage/persistance.
+ *
+ * @param DOMDocument $doc The DOMDocument used to construct DOMElements
+ * @return DOMElement The DOMElement representing this element and all
+ * child properties.
+ */
+ public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
+ {
+ $element = parent::getDOM($doc);
+ if ($this->_value !== null) {
+ $element->setAttribute('value', $this->_value);
+ }
+ return $element;
+ }
+
+ /**
+ * Extracts XML attributes from the DOM and converts them to the
+ * appropriate object members.
+ *
+ * @param DOMNode $attribute The DOMNode attribute to be handled.
+ */
+ protected function takeAttributeFromDOM($attribute)
+ {
+ switch ($attribute->localName) {
+ case 'value':
+ $this->_value = $attribute->nodeValue;
+ break;
+ default:
+ parent::takeAttributeFromDOM($attribute);
+ }
+ }
+
+ /**
+ * Returns the programmatic value that describes the viewability of a volume
+ * in Google Book Search
+ *
+ * @return string The value
+ */
+ public function getValue()
+ {
+ return $this->_value;
+ }
+
+ /**
+ * Sets the programmatic value that describes the viewability of a volume in
+ * Google Book Search
+ *
+ * @param string $value programmatic value that describes the viewability
+ * of a volume in Googl eBook Search
+ * @return Zend_Gdata_Books_Extension_Viewability Provides a fluent
+ * interface
+ */
+ public function setValue($value)
+ {
+ $this->_value = $value;
+ return $this;
+ }
+
+
+}
+
diff --git a/zend/library/Zend/Gdata/Books/VolumeEntry.php b/zend/library/Zend/Gdata/Books/VolumeEntry.php
new file mode 100644
index 0000000..8de59c0
--- /dev/null
+++ b/zend/library/Zend/Gdata/Books/VolumeEntry.php
@@ -0,0 +1,687 @@
+<?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_Gdata
+ * @subpackage Books
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id: VolumeEntry.php 24593 2012-01-05 20:35:02Z matthew $
+ */
+
+/**
+ * @see Zend_Gdata_Entry
+ */
+require_once 'Zend/Gdata/Entry.php';
+
+/**
+ * @see Zend_Gdata_Extension_Comments
+ */
+require_once 'Zend/Gdata/Extension/Comments.php';
+
+/**
+ * @see Zend_Gdata_DublinCore_Extension_Creator
+ */
+require_once 'Zend/Gdata/DublinCore/Extension/Creator.php';
+
+/**
+ * @see Zend_Gdata_DublinCore_Extension_Date
+ */
+require_once 'Zend/Gdata/DublinCore/Extension/Date.php';
+
+/**
+ * @see Zend_Gdata_DublinCore_Extension_Description
+ */
+require_once 'Zend/Gdata/DublinCore/Extension/Description.php';
+
+/**
+ * @see Zend_Gdata_Books_Extension_Embeddability
+ */
+require_once 'Zend/Gdata/Books/Extension/Embeddability.php';
+
+/**
+ * @see Zend_Gdata_DublinCore_Extension_Format
+ */
+require_once 'Zend/Gdata/DublinCore/Extension/Format.php';
+
+/**
+ * @see Zend_Gdata_DublinCore_Extension_Identifier
+ */
+require_once 'Zend/Gdata/DublinCore/Extension/Identifier.php';
+
+/**
+ * @see Zend_Gdata_DublinCore_Extension_Language
+ */
+require_once 'Zend/Gdata/DublinCore/Extension/Language.php';
+
+/**
+ * @see Zend_Gdata_DublinCore_Extension_Publisher
+ */
+require_once 'Zend/Gdata/DublinCore/Extension/Publisher.php';
+
+/**
+ * @see Zend_Gdata_Extension_Rating
+ */
+require_once 'Zend/Gdata/Extension/Rating.php';
+
+/**
+ * @see Zend_Gdata_Books_Extension_Review
+ */
+require_once 'Zend/Gdata/Books/Extension/Review.php';
+
+/**
+ * @see Zend_Gdata_DublinCore_Extension_Subject
+ */
+require_once 'Zend/Gdata/DublinCore/Extension/Subject.php';
+
+/**
+ * @see Zend_Gdata_DublinCore_Extension_Title
+ */
+require_once 'Zend/Gdata/DublinCore/Extension/Title.php';
+
+/**
+ * @see Zend_Gdata_Books_Extension_Viewability
+ */
+require_once 'Zend/Gdata/Books/Extension/Viewability.php';
+
+/**
+ * Describes an entry in a feed of Book Search volumes
+ *
+ * @category Zend
+ * @package Zend_Gdata
+ * @subpackage Books
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_Gdata_Books_VolumeEntry extends Zend_Gdata_Entry
+{
+
+ const THUMBNAIL_LINK_REL = 'http://schemas.google.com/books/2008/thumbnail';
+ const PREVIEW_LINK_REL = 'http://schemas.google.com/books/2008/preview';
+ const INFO_LINK_REL = 'http://schemas.google.com/books/2008/info';
+ const ANNOTATION_LINK_REL = 'http://schemas.google.com/books/2008/annotation';
+
+ protected $_comments = null;
+ protected $_creators = array();
+ protected $_dates = array();
+ protected $_descriptions = array();
+ protected $_embeddability = null;
+ protected $_formats = array();
+ protected $_identifiers = array();
+ protected $_languages = array();
+ protected $_publishers = array();
+ protected $_rating = null;
+ protected $_review = null;
+ protected $_subjects = array();
+ protected $_titles = array();
+ protected $_viewability = null;
+
+ /**
+ * Constructor for Zend_Gdata_Books_VolumeEntry which
+ * Describes an entry in a feed of Book Search volumes
+ *
+ * @param DOMElement $element (optional) DOMElement from which this
+ * object should be constructed.
+ */
+ public function __construct($element = null)
+ {
+ $this->registerAllNamespaces(Zend_Gdata_Books::$namespaces);
+ parent::__construct($element);
+ }
+
+ /**
+ * Retrieves DOMElement which corresponds to this element and all
+ * child properties. This is used to build this object back into a DOM
+ * and eventually XML text for sending to the server upon updates, or
+ * for application storage/persistance.
+ *
+ * @param DOMDocument $doc The DOMDocument used to construct DOMElements
+ * @return DOMElement The DOMElement representing this element and all
+ * child properties.
+ */
+ public function getDOM($doc = null, $majorVersion = 1, $minorVersion = null)
+ {
+ $element = parent::getDOM($doc);
+ if ($this->_creators !== null) {
+ foreach ($this->_creators as $creators) {
+ $element->appendChild($creators->getDOM(
+ $element->ownerDocument));
+ }
+ }
+ if ($this->_dates !== null) {
+ foreach ($this->_dates as $dates) {
+ $element->appendChild($dates->getDOM($element->ownerDocument));
+ }
+ }
+ if ($this->_descriptions !== null) {
+ foreach ($this->_descriptions as $descriptions) {
+ $element->appendChild($descriptions->getDOM(
+ $element->ownerDocument));
+ }
+ }
+ if ($this->_formats !== null) {
+ foreach ($this->_formats as $formats) {
+ $element->appendChild($formats->getDOM(
+ $element->ownerDocument));
+ }
+ }
+ if ($this->_identifiers !== null) {
+ foreach ($this->_identifiers as $identifiers) {
+ $element->appendChild($identifiers->getDOM(
+ $element->ownerDocument));
+ }
+ }
+ if ($this->_languages !== null) {
+ foreach ($this->_languages as $languages) {
+ $element->appendChild($languages->getDOM(
+ $element->ownerDocument));
+ }
+ }
+ if ($this->_publishers !== null) {
+ foreach ($this->_publishers as $publishers) {
+ $element->appendChild($publishers->getDOM(
+ $element->ownerDocument));
+ }
+ }
+ if ($this->_subjects !== null) {
+ foreach ($this->_subjects as $subjects) {
+ $element->appendChild($subjects->getDOM(
+ $element->ownerDocument));
+ }
+ }
+ if ($this->_titles !== null) {
+ foreach ($this->_titles as $titles) {
+ $element->appendChild($titles->getDOM($element->ownerDocument));
+ }
+ }
+ if ($this->_comments !== null) {
+ $element->appendChild($this->_comments->getDOM(
+ $element->ownerDocument));
+ }
+ if ($this->_embeddability !== null) {
+ $element->appendChild($this->_embeddability->getDOM(
+ $element->ownerDocument));
+ }
+ if ($this->_rating !== null) {
+ $element->appendChild($this->_rating->getDOM(
+ $element->ownerDocument));
+ }
+ if ($this->_review !== null) {
+ $element->appendChild($this->_review->getDOM(
+ $element->ownerDocument));
+ }
+ if ($this->_viewability !== null) {
+ $element->appendChild($this->_viewability->getDOM(
+ $element->ownerDocument));
+ }
+ return $element;
+ }
+
+ /**
+ * Creates individual objects of the appropriate type and stores
+ * them in this object based upon DOM data.
+ *
+ * @param DOMNode $child The DOMNode to process.
+ */
+ protected function takeChildFromDOM($child)
+ {
+ $absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
+ switch ($absoluteNodeName) {
+ case $this->lookupNamespace('dc') . ':' . 'creator':
+ $creators = new Zend_Gdata_DublinCore_Extension_Creator();
+ $creators->transferFromDOM($child);
+ $this->_creators[] = $creators;
+ break;
+ case $this->lookupNamespace('dc') . ':' . 'date':
+ $dates = new Zend_Gdata_DublinCore_Extension_Date();
+ $dates->transferFromDOM($child);
+ $this->_dates[] = $dates;
+ break;
+ case $this->lookupNamespace('dc') . ':' . 'description':
+ $descriptions = new Zend_Gdata_DublinCore_Extension_Description();
+ $descriptions->transferFromDOM($child);
+ $this->_descriptions[] = $descriptions;
+ break;
+ case $this->lookupNamespace('dc') . ':' . 'format':
+ $formats = new Zend_Gdata_DublinCore_Extension_Format();
+ $formats->transferFromDOM($child);
+ $this->_formats[] = $formats;
+ break;
+ case $this->lookupNamespace('dc') . ':' . 'identifier':
+ $identifiers = new Zend_Gdata_DublinCore_Extension_Identifier();
+ $identifiers->transferFromDOM($child);
+ $this->_identifiers[] = $identifiers;
+ break;
+ case $this->lookupNamespace('dc') . ':' . 'language':
+ $languages = new Zend_Gdata_DublinCore_Extension_Language();
+ $languages->transferFromDOM($child);
+ $this->_languages[] = $languages;
+ break;
+ case $this->lookupNamespace('dc') . ':' . 'publisher':
+ $publishers = new Zend_Gdata_DublinCore_Extension_Publisher();
+ $publishers->transferFromDOM($child);
+ $this->_publishers[] = $publishers;
+ break;
+ case $this->lookupNamespace('dc') . ':' . 'subject':
+ $subjects = new Zend_Gdata_DublinCore_Extension_Subject();
+ $subjects->transferFromDOM($child);
+ $this->_subjects[] = $subjects;
+ break;
+ case $this->lookupNamespace('dc') . ':' . 'title':
+ $titles = new Zend_Gdata_DublinCore_Extension_Title();
+ $titles->transferFromDOM($child);
+ $this->_titles[] = $titles;
+ break;
+ case $this->lookupNamespace('gd') . ':' . 'comments':
+ $comments = new Zend_Gdata_Extension_Comments();
+ $comments->transferFromDOM($child);
+ $this->_comments = $comments;
+ break;
+ case $this->lookupNamespace('gbs') . ':' . 'embeddability':
+ $embeddability = new Zend_Gdata_Books_Extension_Embeddability();
+ $embeddability->transferFromDOM($child);
+ $this->_embeddability = $embeddability;
+ break;
+ case $this->lookupNamespace('gd') . ':' . 'rating':
+ $rating = new Zend_Gdata_Extension_Rating();
+ $rating->transferFromDOM($child);
+ $this->_rating = $rating;
+ break;
+ case $this->lookupNamespace('gbs') . ':' . 'review':
+ $review = new Zend_Gdata_Books_Extension_Review();
+ $review->transferFromDOM($child);
+ $this->_review = $review;
+ break;
+ case $this->lookupNamespace('gbs') . ':' . 'viewability':
+ $viewability = new Zend_Gdata_Books_Extension_Viewability();
+ $viewability->transferFromDOM($child);
+ $this->_viewability = $viewability;
+ break;
+ default:
+ parent::takeChildFromDOM($child);
+ break;
+ }
+ }
+
+ /**
+ * Returns the Comments class
+ *
+ * @return Zend_Gdata_Extension_Comments|null The comments
+ */
+ public function getComments()
+ {
+ return $this->_comments;
+ }
+
+ /**
+ * Returns the creators
+ *
+ * @return array The creators
+ */
+ public function getCreators()
+ {
+ return $this->_creators;
+ }
+
+ /**
+ * Returns the dates
+ *
+ * @return array The dates
+ */
+ public function getDates()
+ {
+ return $this->_dates;
+ }
+
+ /**
+ * Returns the descriptions
+ *
+ * @return array The descriptions
+ */
+ public function getDescriptions()
+ {
+ return $this->_descriptions;
+ }
+
+ /**
+ * Returns the embeddability
+ *
+ * @return Zend_Gdata_Books_Extension_Embeddability|null The embeddability
+ */
+ public function getEmbeddability()
+ {
+ return $this->_embeddability;
+ }
+
+ /**
+ * Returns the formats
+ *
+ * @return array The formats
+ */
+ public function getFormats()
+ {
+ return $this->_formats;
+ }
+
+ /**
+ * Returns the identifiers
+ *
+ * @return array The identifiers
+ */
+ public function getIdentifiers()
+ {
+ return $this->_identifiers;
+ }
+
+ /**
+ * Returns the languages
+ *
+ * @return array The languages
+ */
+ public function getLanguages()
+ {
+ return $this->_languages;
+ }
+
+ /**
+ * Returns the publishers
+ *
+ * @return array The publishers
+ */
+ public function getPublishers()
+ {
+ return $this->_publishers;
+ }
+
+ /**
+ * Returns the rating
+ *
+ * @return Zend_Gdata_Extension_Rating|null The rating
+ */
+ public function getRating()
+ {
+ return $this->_rating;
+ }
+
+ /**
+ * Returns the review
+ *
+ * @return Zend_Gdata_Books_Extension_Review|null The review
+ */
+ public function getReview()
+ {
+ return $this->_review;
+ }
+
+ /**
+ * Returns the subjects
+ *
+ * @return array The subjects
+ */
+ public function getSubjects()
+ {
+ return $this->_subjects;
+ }
+
+ /**
+ * Returns the titles
+ *
+ * @return array The titles
+ */
+ public function getTitles()
+ {
+ return $this->_titles;
+ }
+
+ /**
+ * Returns the viewability
+ *
+ * @return Zend_Gdata_Books_Extension_Viewability|null The viewability
+ */
+ public function getViewability()
+ {
+ return $this->_viewability;
+ }
+
+ /**
+ * Sets the Comments class
+ *
+ * @param Zend_Gdata_Extension_Comments|null $comments Comments class
+ * @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface
+ */
+ public function setComments($comments)
+ {
+ $this->_comments = $comments;
+ return $this;
+ }
+
+ /**
+ * Sets the creators
+ *
+ * @param array $creators Creators|null
+ * @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface
+ */
+ public function setCreators($creators)
+ {
+ $this->_creators = $creators;
+ return $this;
+ }
+
+ /**
+ * Sets the dates
+ *
+ * @param array $dates dates
+ * @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface
+ */
+ public function setDates($dates)
+ {
+ $this->_dates = $dates;
+ return $this;
+ }
+
+ /**
+ * Sets the descriptions
+ *
+ * @param array $descriptions descriptions
+ * @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface
+ */
+ public function setDescriptions($descriptions)
+ {
+ $this->_descriptions = $descriptions;
+ return $this;
+ }
+
+ /**
+ * Sets the embeddability
+ *
+ * @param Zend_Gdata_Books_Extension_Embeddability|null $embeddability
+ * embeddability
+ * @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface
+ */
+ public function setEmbeddability($embeddability)
+ {
+ $this->_embeddability = $embeddability;
+ return $this;
+ }
+
+ /**
+ * Sets the formats
+ *
+ * @param array $formats formats
+ * @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface
+ */
+ public function setFormats($formats)
+ {
+ $this->_formats = $formats;
+ return $this;
+ }
+
+ /**
+ * Sets the identifiers
+ *
+ * @param array $identifiers identifiers
+ * @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface
+ */
+ public function setIdentifiers($identifiers)
+ {
+ $this->_identifiers = $identifiers;
+ return $this;
+ }
+
+ /**
+ * Sets the languages
+ *
+ * @param array $languages languages
+ * @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface
+ */
+ public function setLanguages($languages)
+ {
+ $this->_languages = $languages;
+ return $this;
+ }
+
+ /**
+ * Sets the publishers
+ *
+ * @param array $publishers publishers
+ * @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface
+ */
+ public function setPublishers($publishers)
+ {
+ $this->_publishers = $publishers;
+ return $this;
+ }
+
+ /**
+ * Sets the rating
+ *
+ * @param Zend_Gdata_Extension_Rating|null $rating rating
+ * @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface
+ */
+ public function setRating($rating)
+ {
+ $this->_rating = $rating;
+ return $this;
+ }
+
+ /**
+ * Sets the review
+ *
+ * @param Zend_Gdata_Books_Extension_Review|null $review review
+ * @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface
+ */
+ public function setReview($review)
+ {
+ $this->_review = $review;
+ return $this;
+ }
+
+ /**
+ * Sets the subjects
+ *
+ * @param array $subjects subjects
+ * @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface
+ */
+ public function setSubjects($subjects)
+ {
+ $this->_subjects = $subjects;
+ return $this;
+ }
+
+ /**
+ * Sets the titles
+ *
+ * @param array $titles titles
+ * @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface
+ */
+ public function setTitles($titles)
+ {
+ $this->_titles = $titles;
+ return $this;
+ }
+
+ /**
+ * Sets the viewability
+ *
+ * @param Zend_Gdata_Books_Extension_Viewability|null $viewability
+ * viewability
+ * @return Zend_Gdata_Books_VolumeEntry Provides a fluent interface
+ */
+ public function setViewability($viewability)
+ {
+ $this->_viewability = $viewability;
+ return $this;
+ }
+
+
+ /**
+ * Gets the volume ID based upon the atom:id value
+ *
+ * @return string The volume ID
+ * @throws Zend_Gdata_App_Exception
+ */
+ public function getVolumeId()
+ {
+ $fullId = $this->getId()->getText();
+ $position = strrpos($fullId, '/');
+ if ($position === false) {
+ require_once 'Zend/Gdata/App/Exception.php';
+ throw new Zend_Gdata_App_Exception('Slash not found in atom:id');
+ } else {
+ return substr($fullId, strrpos($fullId,'/') + 1);
+ }
+ }
+
+ /**
+ * Gets the thumbnail link
+ *
+ * @return Zend_Gdata_App_Extension_link|null The thumbnail link
+ */
+ public function getThumbnailLink()
+ {
+ return $this->getLink(self::THUMBNAIL_LINK_REL);
+ }
+
+ /**
+ * Gets the preview link
+ *
+ * @return Zend_Gdata_App_Extension_Link|null The preview link
+ */
+ public function getPreviewLink()
+ {
+ return $this->getLink(self::PREVIEW_LINK_REL);
+ }
+
+ /**
+ * Gets the info link
+ *
+ * @return Zend_Gdata_App_Extension_Link|null The info link
+ */
+ public function getInfoLink()
+ {
+ return $this->getLink(self::INFO_LINK_REL);
+ }
+
+ /**
+ * Gets the annotations link
+ *
+ * @return Zend_Gdata_App_Extension_Link|null The annotations link
+ */
+ public function getAnnotationLink()
+ {
+ return $this->getLink(self::ANNOTATION_LINK_REL);
+ }
+
+}
diff --git a/zend/library/Zend/Gdata/Books/VolumeFeed.php b/zend/library/Zend/Gdata/Books/VolumeFeed.php
new file mode 100644
index 0000000..57c259b
--- /dev/null
+++ b/zend/library/Zend/Gdata/Books/VolumeFeed.php
@@ -0,0 +1,62 @@
+<?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_Gdata
+ * @subpackage Books
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id: VolumeFeed.php 24593 2012-01-05 20:35:02Z matthew $
+ */
+
+/**
+ * @see Zend_Gdata_Feed
+ */
+require_once 'Zend/Gdata/Feed.php';
+
+/**
+ * Describes a Book Search volume feed
+ *
+ * @category Zend
+ * @package Zend_Gdata
+ * @subpackage Books
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_Gdata_Books_VolumeFeed extends Zend_Gdata_Feed
+{
+
+ /**
+ * Constructor for Zend_Gdata_Books_VolumeFeed which
+ * Describes a Book Search volume feed
+ *
+ * @param DOMElement $element (optional) DOMElement from which this
+ * object should be constructed.
+ */
+ public function __construct($element = null)
+ {
+ $this->registerAllNamespaces(Zend_Gdata_Books::$namespaces);
+ parent::__construct($element);
+ }
+
+ /**
+ * The classname for individual feed elements.
+ *
+ * @var string
+ */
+ protected $_entryClassName = 'Zend_Gdata_Books_VolumeEntry';
+
+}
+
diff --git a/zend/library/Zend/Gdata/Books/VolumeQuery.php b/zend/library/Zend/Gdata/Books/VolumeQuery.php
new file mode 100755
index 0000000..6d57aa4
--- /dev/null
+++ b/zend/library/Zend/Gdata/Books/VolumeQuery.php
@@ -0,0 +1,112 @@
+<?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_Gdata
+ * @subpackage Books
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id: VolumeQuery.php 24593 2012-01-05 20:35:02Z matthew $
+ */
+
+/**
+ * Zend_Gdata_Books
+ */
+require_once('Zend/Gdata/Books.php');
+
+/**
+ * Zend_Gdata_Query
+ */
+require_once('Zend/Gdata/Query.php');
+
+/**
+ * Assists in constructing queries for Books volumes
+ *
+ * @category Zend
+ * @package Zend_Gdata
+ * @subpackage Books
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_Gdata_Books_VolumeQuery extends Zend_Gdata_Query
+{
+
+ /**
+ * Create Gdata_Books_VolumeQuery object
+ *
+ * @param string|null $url If non-null, pre-initializes the instance to
+ * use a given URL.
+ */
+ public function __construct($url = null)
+ {
+ parent::__construct($url);
+ }
+
+ /**
+ * Sets the minimum level of viewability of volumes to return in the search results
+ *
+ * @param string|null $value The minimum viewability - 'full' or 'partial'
+ * @return Zend_Gdata_Books_VolumeQuery Provides a fluent interface
+ */
+ public function setMinViewability($value = null)
+ {
+ switch ($value) {
+ case 'full_view':
+ $this->_params['min-viewability'] = 'full';
+ break;
+ case 'partial_view':
+ $this->_params['min-viewability'] = 'partial';
+ break;
+ case null:
+ unset($this->_params['min-viewability']);
+ break;
+ }
+ return $this;
+ }
+
+ /**
+ * Minimum viewability of volumes to include in search results
+ *
+ * @return string|null min-viewability
+ */
+ public function getMinViewability()
+ {
+ if (array_key_exists('min-viewability', $this->_params)) {
+ return $this->_params['min-viewability'];
+ } else {
+ return null;
+ }
+ }
+
+ /**
+ * Returns the generated full query URL
+ *
+ * @return string The URL
+ */
+ public function getQueryUrl()
+ {
+ if (isset($this->_url)) {
+ $url = $this->_url;
+ } else {
+ $url = Zend_Gdata_Books::VOLUME_FEED_URI;
+ }
+ if ($this->getCategory() !== null) {
+ $url .= '/-/' . $this->getCategory();
+ }
+ $url = $url . $this->getQueryString();
+ return $url;
+ }
+
+}