package fr.keemto.scheduling; import fr.keemto.core.AccountInterceptor; import fr.keemto.core.AccountKey; import fr.keemto.core.fetching.FetchingTask; import fr.keemto.core.fetching.FetchingTaskFactory; public class FetchingTaskUpdater implements AccountInterceptor { private final TaskScheduler scheduler; private final FetchingTaskFactory taskFactory; public FetchingTaskUpdater(TaskScheduler scheduler, FetchingTaskFactory taskFactory) { this.scheduler = scheduler; this.taskFactory = taskFactory; } @Override public void accountCreated(AccountKey key) { FetchingTask task = taskFactory.createIncrementalTask(key); scheduler.scheduleTask(task); } @Override public void accountDeleted(AccountKey key) { scheduler.cancelTask(key); } }