name: Schedule
class_comment: null
dependencies:
- name: EventDispatcherInterface
  type: class
  source: Symfony\Component\EventDispatcher\EventDispatcherInterface
- name: LockInterface
  type: class
  source: Symfony\Component\Lock\LockInterface
- name: FailureEvent
  type: class
  source: Symfony\Component\Scheduler\Event\FailureEvent
- name: PostRunEvent
  type: class
  source: Symfony\Component\Scheduler\Event\PostRunEvent
- name: PreRunEvent
  type: class
  source: Symfony\Component\Scheduler\Event\PreRunEvent
- name: LogicException
  type: class
  source: Symfony\Component\Scheduler\Exception\LogicException
- name: CacheInterface
  type: class
  source: Symfony\Contracts\Cache\CacheInterface
properties: []
methods:
- name: __construct
  visibility: public
  parameters:
  - name: dispatcher
    default: 'null'
  comment: null
- name: add
  visibility: public
  parameters:
  - name: message
  - name: '...$messages'
  comment: "# @var array<string,RecurringMessage> */\n# private array $messages =\
    \ [];\n# private ?LockInterface $lock = null;\n# private ?CacheInterface $state\
    \ = null;\n# private bool $shouldRestart = false;\n# \n# public function with(RecurringMessage\
    \ $message, RecurringMessage ...$messages): static\n# {\n# return static::doAdd(new\
    \ self($this->dispatcher), $message, ...$messages);\n# }\n# \n# /**\n# * @return\
    \ $this"
- name: doAdd
  visibility: private
  parameters:
  - name: schedule
  - name: message
  - name: '...$messages'
  comment: null
- name: remove
  visibility: public
  parameters:
  - name: message
  comment: '# * @return $this'
- name: removeById
  visibility: public
  parameters:
  - name: id
  comment: '# * @return $this'
- name: clear
  visibility: public
  parameters: []
  comment: '# * @return $this'
- name: lock
  visibility: public
  parameters:
  - name: lock
  comment: '# * @return $this'
- name: getLock
  visibility: public
  parameters: []
  comment: null
- name: stateful
  visibility: public
  parameters:
  - name: state
  comment: '# * @return $this'
- name: getState
  visibility: public
  parameters: []
  comment: null
- name: getRecurringMessages
  visibility: public
  parameters: []
  comment: '# * @return array<RecurringMessage>'
- name: getSchedule
  visibility: public
  parameters: []
  comment: '# * @return $this'
- name: before
  visibility: public
  parameters:
  - name: listener
  - name: priority
    default: '0'
  comment: null
- name: after
  visibility: public
  parameters:
  - name: listener
  - name: priority
    default: '0'
  comment: null
- name: onFailure
  visibility: public
  parameters:
  - name: listener
  - name: priority
    default: '0'
  comment: null
- name: shouldRestart
  visibility: public
  parameters: []
  comment: null
- name: setRestart
  visibility: public
  parameters:
  - name: shouldRestart
  comment: null
traits:
- Symfony\Component\EventDispatcher\EventDispatcherInterface
- Symfony\Component\Lock\LockInterface
- Symfony\Component\Scheduler\Event\FailureEvent
- Symfony\Component\Scheduler\Event\PostRunEvent
- Symfony\Component\Scheduler\Event\PreRunEvent
- Symfony\Component\Scheduler\Exception\LogicException
- Symfony\Contracts\Cache\CacheInterface
interfaces:
- ScheduleProviderInterface