Spaces:
No application file
No application file
| namespace Mautic\ReportBundle\Scheduler\Factory; | |
| use Mautic\ReportBundle\Scheduler\Builder\SchedulerDailyBuilder; | |
| use Mautic\ReportBundle\Scheduler\Builder\SchedulerMonthBuilder; | |
| use Mautic\ReportBundle\Scheduler\Builder\SchedulerNowBuilder; | |
| use Mautic\ReportBundle\Scheduler\Builder\SchedulerWeeklyBuilder; | |
| use Mautic\ReportBundle\Scheduler\BuilderInterface; | |
| use Mautic\ReportBundle\Scheduler\Exception\NotSupportedScheduleTypeException; | |
| use Mautic\ReportBundle\Scheduler\SchedulerInterface; | |
| class SchedulerTemplateFactory | |
| { | |
| /** | |
| * @return BuilderInterface | |
| * | |
| * @throws NotSupportedScheduleTypeException | |
| */ | |
| public function getBuilder(SchedulerInterface $scheduler) | |
| { | |
| if ($scheduler->isScheduledNow()) { | |
| return new SchedulerNowBuilder(); | |
| } | |
| if ($scheduler->isScheduledDaily()) { | |
| return new SchedulerDailyBuilder(); | |
| } | |
| if ($scheduler->isScheduledWeekly()) { | |
| return new SchedulerWeeklyBuilder(); | |
| } | |
| if ($scheduler->isScheduledMonthly()) { | |
| return new SchedulerMonthBuilder(); | |
| } | |
| throw new NotSupportedScheduleTypeException(); | |
| } | |
| } | |