Subversion Repositories cheapmusic

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
103 - 1
<?php
2
 
3
namespace Psr\Cache;
4
 
5
/**
6
 * CacheItemPoolInterface generates CacheItemInterface objects.
7
 *
8
 * The primary purpose of Cache\CacheItemPoolInterface is to accept a key from
9
 * the Calling Library and return the associated Cache\CacheItemInterface object.
10
 * It is also the primary point of interaction with the entire cache collection.
11
 * All configuration and initialization of the Pool is left up to an
12
 * Implementing Library.
13
 */
14
interface CacheItemPoolInterface
15
{
16
    /**
17
     * Returns a Cache Item representing the specified key.
18
     *
19
     * This method must always return a CacheItemInterface object, even in case of
20
     * a cache miss. It MUST NOT return null.
21
     *
22
     * @param string $key
23
     *   The key for which to return the corresponding Cache Item.
24
     *
25
     * @throws InvalidArgumentException
26
     *   If the $key string is not a legal value a \Psr\Cache\InvalidArgumentException
27
     *   MUST be thrown.
28
     *
29
     * @return CacheItemInterface
30
     *   The corresponding Cache Item.
31
     */
32
    public function getItem($key);
33
 
34
    /**
35
     * Returns a traversable set of cache items.
36
     *
37
     * @param string[] $keys
38
     *   An indexed array of keys of items to retrieve.
39
     *
40
     * @throws InvalidArgumentException
41
     *   If any of the keys in $keys are not a legal value a \Psr\Cache\InvalidArgumentException
42
     *   MUST be thrown.
43
     *
44
     * @return array|\Traversable
45
     *   A traversable collection of Cache Items keyed by the cache keys of
46
     *   each item. A Cache item will be returned for each key, even if that
47
     *   key is not found. However, if no keys are specified then an empty
48
     *   traversable MUST be returned instead.
49
     */
50
    public function getItems(array $keys = array());
51
 
52
    /**
53
     * Confirms if the cache contains specified cache item.
54
     *
55
     * Note: This method MAY avoid retrieving the cached value for performance reasons.
56
     * This could result in a race condition with CacheItemInterface::get(). To avoid
57
     * such situation use CacheItemInterface::isHit() instead.
58
     *
59
     * @param string $key
60
     *   The key for which to check existence.
61
     *
62
     * @throws InvalidArgumentException
63
     *   If the $key string is not a legal value a \Psr\Cache\InvalidArgumentException
64
     *   MUST be thrown.
65
     *
66
     * @return bool
67
     *   True if item exists in the cache, false otherwise.
68
     */
69
    public function hasItem($key);
70
 
71
    /**
72
     * Deletes all items in the pool.
73
     *
74
     * @return bool
75
     *   True if the pool was successfully cleared. False if there was an error.
76
     */
77
    public function clear();
78
 
79
    /**
80
     * Removes the item from the pool.
81
     *
82
     * @param string $key
83
     *   The key to delete.
84
     *
85
     * @throws InvalidArgumentException
86
     *   If the $key string is not a legal value a \Psr\Cache\InvalidArgumentException
87
     *   MUST be thrown.
88
     *
89
     * @return bool
90
     *   True if the item was successfully removed. False if there was an error.
91
     */
92
    public function deleteItem($key);
93
 
94
    /**
95
     * Removes multiple items from the pool.
96
     *
97
     * @param string[] $keys
98
     *   An array of keys that should be removed from the pool.
99
 
100
     * @throws InvalidArgumentException
101
     *   If any of the keys in $keys are not a legal value a \Psr\Cache\InvalidArgumentException
102
     *   MUST be thrown.
103
     *
104
     * @return bool
105
     *   True if the items were successfully removed. False if there was an error.
106
     */
107
    public function deleteItems(array $keys);
108
 
109
    /**
110
     * Persists a cache item immediately.
111
     *
112
     * @param CacheItemInterface $item
113
     *   The cache item to save.
114
     *
115
     * @return bool
116
     *   True if the item was successfully persisted. False if there was an error.
117
     */
118
    public function save(CacheItemInterface $item);
119
 
120
    /**
121
     * Sets a cache item to be persisted later.
122
     *
123
     * @param CacheItemInterface $item
124
     *   The cache item to save.
125
     *
126
     * @return bool
127
     *   False if the item could not be queued or if a commit was attempted and failed. True otherwise.
128
     */
129
    public function saveDeferred(CacheItemInterface $item);
130
 
131
    /**
132
     * Persists any deferred cache items.
133
     *
134
     * @return bool
135
     *   True if all not-yet-saved items were successfully saved or there were none. False otherwise.
136
     */
137
    public function commit();
138
}