PageRenderTime 73ms CodeModel.GetById 64ms app.highlight 7ms RepoModel.GetById 1ms app.codeStats 0ms

/library/Zend/Cloud/DocumentService/DocumentSet.php

https://bitbucket.org/hamidrezas/melobit
PHP | 68 lines | 19 code | 5 blank | 44 comment | 0 complexity | 18cf597cec661d1b2eb8214713beb227 MD5 | raw file
Possible License(s): AGPL-1.0
 1<?php
 2/**
 3 * LICENSE
 4 *
 5 * This source file is subject to the new BSD license that is bundled
 6 * with this package in the file LICENSE.txt.
 7 * It is also available through the world-wide-web at this URL:
 8 * http://framework.zend.com/license/new-bsd
 9 * If you did not receive a copy of the license and are unable to
10 * obtain it through the world-wide-web, please send an email
11 * to license@zend.com so we can send you a copy immediately.
12 *
13 * @category   Zend
14 * @package    Zend_Cloud
15 * @subpackage DocumentService
16 * @copyright  Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
17 * @license    http://framework.zend.com/license/new-bsd     New BSD License
18 */
19
20/**
21 * Class encapsulating a set of documents
22 *
23 * @category   Zend
24 * @package    Zend_Cloud
25 * @subpackage DocumentService
26 * @copyright  Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
27 * @license    http://framework.zend.com/license/new-bsd     New BSD License
28 */
29class Zend_Cloud_DocumentService_DocumentSet implements Countable, IteratorAggregate
30{
31    /** @var int */
32    protected $_documentCount;
33
34    /** @var ArrayIterator */
35    protected $_documents;
36
37    /**
38     * Constructor
39     *
40     * @param  array $documents
41     * @return void
42     */
43    public function __construct(array $documents)
44    {
45        $this->_documentCount = count($documents);
46        $this->_documents     = new ArrayIterator($documents);
47    }
48
49    /**
50     * Countable: number of documents in set
51     *
52     * @return int
53     */
54    public function count()
55    {
56        return $this->_documentCount;
57    }
58
59    /**
60     * IteratorAggregate: retrieve iterator
61     *
62     * @return Traversable
63     */
64    public function getIterator()
65    {
66        return $this->_documents;
67    }
68}