Rajout de doctrine/orm
[zf2.biz/galerie.git] / vendor / doctrine / common / lib / Doctrine / Common / Cache / ArrayCache.php
1 <?php
2 /*
3  *  $Id$
4  *
5  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
6  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
7  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
8  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
9  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
10  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
11  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
12  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
13  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
14  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
15  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
16  *
17  * This software consists of voluntary contributions made by many individuals
18  * and is licensed under the MIT license. For more information, see
19  * <http://www.doctrine-project.org>.
20  */
21
22 namespace Doctrine\Common\Cache;
23
24 /**
25  * Array cache driver.
26  *
27  * @license http://www.opensource.org/licenses/lgpl-license.php LGPL
28  * @link    www.doctrine-project.org
29  * @since   2.0
30  * @author  Benjamin Eberlei <kontakt@beberlei.de>
31  * @author  Guilherme Blanco <guilhermeblanco@hotmail.com>
32  * @author  Jonathan Wage <jonwage@gmail.com>
33  * @author  Roman Borschel <roman@code-factory.org>
34  * @author  David Abdemoulaie <dave@hobodave.com>
35  */
36 class ArrayCache extends CacheProvider
37 {
38     /**
39      * @var array $data
40      */
41     private $data = array();
42
43     /**
44      * {@inheritdoc}
45      */
46     protected function doFetch($id)
47     {
48         return (isset($this->data[$id])) ? $this->data[$id] : false;
49     }
50
51     /**
52      * {@inheritdoc}
53      */
54     protected function doContains($id)
55     {
56         return isset($this->data[$id]);
57     }
58
59     /**
60      * {@inheritdoc}
61      */
62     protected function doSave($id, $data, $lifeTime = 0)
63     {
64         $this->data[$id] = $data;
65
66         return true;
67     }
68
69     /**
70      * {@inheritdoc}
71      */
72     protected function doDelete($id)
73     {
74         unset($this->data[$id]);
75
76         return true;
77     }
78
79     /**
80      * {@inheritdoc}
81      */
82     protected function doFlush()
83     {
84         $this->data = array();
85
86         return true;
87     }
88
89     /**
90      * {@inheritdoc}
91      */
92     protected function doGetStats()
93     {
94         return null;
95     }
96 }