Overview
  • Namespace
  • Class

Namespaces

  • OpenCloud
    • Autoscale
      • Resource
    • CloudMonitoring
      • Collection
      • Exception
      • Resource
    • Common
      • Collection
      • Constants
      • Exceptions
      • Http
        • Message
      • Log
      • Resource
      • Service
    • Compute
      • Constants
      • Exception
      • Resource
    • Database
      • Resource
    • DNS
      • Collection
      • Resource
    • Identity
      • Constants
      • Resource
    • Image
      • Enum
      • Resource
        • JsonPatch
        • Schema
    • LoadBalancer
      • Collection
      • Enum
      • Resource
    • Networking
      • Resource
    • ObjectStore
      • Constants
      • Exception
      • Resource
      • Upload
    • Orchestration
      • Resource
    • Queues
      • Collection
      • Exception
      • Resource
    • Volume
      • Resource

Classes

  • OpenCloud\Volume\Resource\Snapshot
  • OpenCloud\Volume\Resource\Volume
  • OpenCloud\Volume\Resource\VolumeType
 1 <?php
 2 /**
 3  * Copyright 2012-2014 Rackspace US, Inc.
 4  *
 5  * Licensed under the Apache License, Version 2.0 (the "License");
 6  * you may not use this file except in compliance with the License.
 7  * You may obtain a copy of the License at
 8  *
 9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 namespace OpenCloud\Common\Collection;
19 
20 use Countable;
21 use OpenCloud\Common\ArrayAccess;
22 
23 /**
24  * A generic, abstract collection class that allows collections to exhibit array functionality.
25  *
26  * @package OpenCloud\Common\Collection
27  */
28 abstract class ArrayCollection extends ArrayAccess implements Countable
29 {
30     /**
31      * @var array The elements being held by this iterator.
32      */
33     protected $elements;
34 
35     /**
36      * @param array $data
37      */
38     public function __construct(array $data = array())
39     {
40         $this->setElements($data);
41     }
42 
43     /**
44      * @return int
45      */
46     public function count()
47     {
48         return count($this->elements);
49     }
50 
51     /**
52      * @param array $data
53      * @return $this
54      */
55     public function setElements(array $data = array())
56     {
57         $this->elements = $data;
58 
59         return $this;
60     }
61 
62     /**
63      * Appends a value to the container.
64      *
65      * @param $value
66      */
67     public function append($value)
68     {
69         $this->elements[] = $value;
70     }
71 
72     /**
73      * Checks to see whether a particular value exists.
74      *
75      * @param $value
76      * @return bool
77      */
78     public function valueExists($value)
79     {
80         return array_search($value, $this->elements) !== false;
81     }
82 }
83 
API documentation generated by ApiGen