/* * SSSync, a Simple and Stupid Synchronizer for data with multi-valued attributes * Copyright (C) 2014 Ludovic Pouzenc * * This file is part of SSSync. * * SSSync is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * SSSync is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with SSSync. If not, see */ package sync; import java.util.concurrent.Callable; /** * Abstract class to define a common base of all kind of synchronization algorithms. * * @author lpouzenc */ public abstract class AbstractSyncTask implements Callable { /** * Pretty task name to be inserted in log lines */ protected String taskName="(unknown task)"; /** * Dry-run mode flag (disabled by default) */ protected boolean dryRun=false; /** * Main method that do the actual sync */ public abstract Boolean call(); // Boring accessors /** * @return the dryRun mode status (enabled/disabled) */ public boolean isDryRun() { return dryRun; } /** * @param dryRun the dryRun mode to set (enabled/disabled) */ public void setDryRun(boolean dryRun) { this.dryRun = dryRun; } /** * @return the taskName */ public String getTaskName() { return taskName; } }