web/lib/Zend/Service/Simpy/NoteSet.php
changeset 886 1e110b03ae96
parent 885 2251fb41dbc7
parent 869 82982f1ba738
child 887 503f9a7b7d6c
equal deleted inserted replaced
885:2251fb41dbc7 886:1e110b03ae96
     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_Service
       
    18  * @subpackage Simpy
       
    19  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
       
    20  * @license    http://framework.zend.com/license/new-bsd     New BSD License
       
    21  * @version    $Id: NoteSet.php 20096 2010-01-06 02:05:09Z bkarwin $
       
    22  */
       
    23 
       
    24 
       
    25 /**
       
    26  * @see Zend_Service_Simpy_Note
       
    27  */
       
    28 require_once 'Zend/Service/Simpy/Note.php';
       
    29 
       
    30 
       
    31 /**
       
    32  * @category   Zend
       
    33  * @package    Zend_Service
       
    34  * @subpackage Simpy
       
    35  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
       
    36  * @license    http://framework.zend.com/license/new-bsd     New BSD License
       
    37  */
       
    38 class Zend_Service_Simpy_NoteSet implements IteratorAggregate
       
    39 {
       
    40     /**
       
    41      * List of notes
       
    42      *
       
    43      * @var array of Zend_Service_Simpy_Note objects
       
    44      */
       
    45     protected $_notes;
       
    46 
       
    47     /**
       
    48      * Constructor to initialize the object with data
       
    49      *
       
    50      * @param  DOMDocument $doc Parsed response from a GetNotes operation
       
    51      * @return void
       
    52      */
       
    53     public function __construct(DOMDocument $doc)
       
    54     {
       
    55         $xpath = new DOMXPath($doc);
       
    56         $list = $xpath->query('//notes/note');
       
    57         $this->_notes = array();
       
    58 
       
    59         for ($x = 0; $x < $list->length; $x++) {
       
    60             $this->_notes[$x] = new Zend_Service_Simpy_Note($list->item($x));
       
    61         }
       
    62     }
       
    63 
       
    64     /**
       
    65      * Returns an iterator for the note set
       
    66      *
       
    67      * @return ArrayIterator
       
    68      */
       
    69     public function getIterator()
       
    70     {
       
    71         return new ArrayIterator($this->_notes);
       
    72     }
       
    73 
       
    74     /**
       
    75      * Returns the number of notes in the set
       
    76      *
       
    77      * @return int
       
    78      */
       
    79     public function getLength()
       
    80     {
       
    81         return count($this->_notes);
       
    82     }
       
    83 }