1 /* 2 * Copyright (c) 2003-2008 by Cosylab d. d. 3 * 4 * This file is part of Java-Common. 5 * 6 * Java-Common is free software: you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation, either version 3 of the License, or 9 * (at your option) any later version. 10 * 11 * Java-Common is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with Java-Common. If not, see <http://www.gnu.org/licenses/>. 18 */ 19 20 package com.cosylab.util; 21 22 /** 23 * This is a convenience implementation of <code>SchedulerTask</code> 24 * interface. 25 * 26 * @author <a href="mailto:ales.pucelj@cosylab.com">Ales Pucelj</a> 27 * @version $id$ 28 */ 29 public abstract class AbstractSchedulerTask implements SchedulerTask 30 { 31 /** Flag indicating if this task is scheduled to be canceled. */ 32 private boolean canceled; 33 34 /** Interval between executions. */ 35 private long interval; 36 37 /** Name of this task, can be null. */ 38 private String name; 39 40 /** 41 * Creates a new AbstractSchedulerTask object. 42 * 43 * @param taskName DOCUMENT ME! 44 * @param taskInterval DOCUMENT ME! 45 */ 46 public AbstractSchedulerTask(String taskName, long taskInterval) 47 { 48 name = taskName; 49 interval = taskInterval; 50 } 51 52 /** 53 * Mark this task to be canceled. 54 * 55 * @see com.cosylab.util.SchedulerTask#cancel() 56 */ 57 public void cancel() 58 { 59 canceled = true; 60 } 61 62 /** 63 * Returns whether <code>cancel()</code> has been called. 64 * 65 * @see com.cosylab.util.SchedulerTask#isCanceled() 66 */ 67 public boolean isCanceled() 68 { 69 return canceled; 70 } 71 72 /** 73 * Set new name for this task. 74 * 75 * @param taskName Name of task. 76 */ 77 public void setTaskName(String taskName) 78 { 79 name = taskName; 80 } 81 82 /** 83 * @see com.cosylab.util.SchedulerTask#getTaskName() 84 */ 85 public String getTaskName() 86 { 87 return name; 88 } 89 90 /** 91 * Returns interval between executions. If negative, indicates this task 92 * should execute immediatelly. 93 * 94 * @see com.cosylab.util.SchedulerTask#getInterval() 95 */ 96 public long getInterval() 97 { 98 return interval; 99 } 100 } 101 102 /* __oOo__ */