1: <?php
2:
3: /*
4: * This file is part of the Symfony package.
5: *
6: * (c) Fabien Potencier <fabien@symfony.com>
7: *
8: * For the full copyright and license information, please view the LICENSE
9: * file that was distributed with this source code.
10: */
11:
12: namespace Symfony\Component\Security\Acl\Model;
13:
14: /**
15: * AclCache Interface
16: *
17: * @author Johannes M. Schmitt <schmittjoh@gmail.com>
18: */
19: interface AclCacheInterface
20: {
21: /**
22: * Removes an ACL from the cache
23: *
24: * @param string $primaryKey a serialized primary key
25: */
26: public function evictFromCacheById($primaryKey);
27:
28: /**
29: * Removes an ACL from the cache
30: *
31: * The ACL which is returned, must reference the passed object identity.
32: *
33: * @param ObjectIdentityInterface $oid
34: */
35: public function evictFromCacheByIdentity(ObjectIdentityInterface $oid);
36:
37: /**
38: * Retrieves an ACL for the given object identity primary key from the cache
39: *
40: * @param int $primaryKey
41: * @return AclInterface
42: */
43: public function getFromCacheById($primaryKey);
44:
45: /**
46: * Retrieves an ACL for the given object identity from the cache
47: *
48: * @param ObjectIdentityInterface $oid
49: * @return AclInterface
50: */
51: public function getFromCacheByIdentity(ObjectIdentityInterface $oid);
52:
53: /**
54: * Stores a new ACL in the cache
55: *
56: * @param AclInterface $acl
57: */
58: public function putInCache(AclInterface $acl);
59:
60: /**
61: * Removes all ACLs from the cache
62: */
63: public function clearCache();
64: }
65: