name: CombinedStore
class_comment: "# * CombinedStore is a PersistingStoreInterface implementation able\
  \ to manage and synchronize several StoreInterfaces.\n# *\n# * @author J\xE9r\xE9\
  my Deruss\xE9 <jeremy@derusse.com>"
dependencies:
- name: LoggerAwareInterface
  type: class
  source: Psr\Log\LoggerAwareInterface
- name: LoggerAwareTrait
  type: class
  source: Psr\Log\LoggerAwareTrait
- name: InvalidArgumentException
  type: class
  source: Symfony\Component\Lock\Exception\InvalidArgumentException
- name: LockConflictedException
  type: class
  source: Symfony\Component\Lock\Exception\LockConflictedException
- name: Key
  type: class
  source: Symfony\Component\Lock\Key
- name: PersistingStoreInterface
  type: class
  source: Symfony\Component\Lock\PersistingStoreInterface
- name: SharedLockStoreInterface
  type: class
  source: Symfony\Component\Lock\SharedLockStoreInterface
- name: StrategyInterface
  type: class
  source: Symfony\Component\Lock\Strategy\StrategyInterface
- name: ExpiringStoreTrait
  type: class
  source: ExpiringStoreTrait
- name: LoggerAwareTrait
  type: class
  source: LoggerAwareTrait
properties: []
methods:
- name: __construct
  visibility: public
  parameters:
  - name: stores
  - name: strategy
  comment: "# * CombinedStore is a PersistingStoreInterface implementation able to\
    \ manage and synchronize several StoreInterfaces.\n# *\n# * @author J\xE9r\xE9\
    my Deruss\xE9 <jeremy@derusse.com>\n# */\n# class CombinedStore implements SharedLockStoreInterface,\
    \ LoggerAwareInterface\n# {\n# use ExpiringStoreTrait;\n# use LoggerAwareTrait;\n\
    # \n# /**\n# * @param PersistingStoreInterface[] $stores The list of synchronized\
    \ stores\n# *\n# * @throws InvalidArgumentException"
- name: save
  visibility: public
  parameters:
  - name: key
  comment: null
- name: saveRead
  visibility: public
  parameters:
  - name: key
  comment: null
- name: putOffExpiration
  visibility: public
  parameters:
  - name: key
  - name: ttl
  comment: null
- name: delete
  visibility: public
  parameters:
  - name: key
  comment: null
- name: exists
  visibility: public
  parameters:
  - name: key
  comment: null
traits:
- Psr\Log\LoggerAwareInterface
- Psr\Log\LoggerAwareTrait
- Symfony\Component\Lock\Exception\InvalidArgumentException
- Symfony\Component\Lock\Exception\LockConflictedException
- Symfony\Component\Lock\Key
- Symfony\Component\Lock\PersistingStoreInterface
- Symfony\Component\Lock\SharedLockStoreInterface
- Symfony\Component\Lock\Strategy\StrategyInterface
- ExpiringStoreTrait
- LoggerAwareTrait
interfaces:
- SharedLockStoreInterface