SchedulerBuilderImpl.java 807 B

123456789101112131415161718192021222324252627282930
  1. package cz.senslog.analyzer.util.schedule;
  2. import java.util.HashSet;
  3. import java.util.Set;
  4. public class SchedulerBuilderImpl implements Scheduler.SchedulerBuilder {
  5. private final Set<ScheduleTask> tasks;
  6. public SchedulerBuilderImpl() {
  7. this.tasks = new HashSet<>();
  8. }
  9. @Override
  10. public Scheduler.SchedulerBuilder addTask(String name, Runnable task, long period) {
  11. tasks.add(new ScheduleTask(name, task, period));
  12. return this;
  13. }
  14. @Override
  15. public Scheduler.SchedulerBuilder addTask(Runnable task, long period) {
  16. tasks.add(new ScheduleTask(task.getClass().getSimpleName(), task, period));
  17. return this;
  18. }
  19. @Override
  20. public Scheduler build() {
  21. return new SchedulerImpl(tasks);
  22. }
  23. }