org.cesilko.rachota.core
Class RegularTask

java.lang.Object
  extended by org.cesilko.rachota.core.Task
      extended by org.cesilko.rachota.core.RegularTask
All Implemented Interfaces:
ClockListener

public class RegularTask
extends Task

Task that repeats every day or once a week.


Field Summary
static int FREQUENCY_DAILY
          Regular task that repeats every day.
static int FREQUENCY_FRIDAY
          Regular task that repeats every Friday.
static int FREQUENCY_MONDAY
          Regular task that repeats every Monday.
static int FREQUENCY_SATURDAY
          Regular task that repeats every Saturday.
static int FREQUENCY_SUNDAY
          Regular task that repeats every Sunday.
static int FREQUENCY_THURSDAY
          Regular task that repeats every Thursday.
static int FREQUENCY_TUESDAY
          Regular task that repeats every Tuesday.
static int FREQUENCY_WEDNESDAY
          Regular task that repeats every Wednesday.
static int FREQUENCY_WEEKEND
          Regular task that repeats every weekend day.
static int FREQUENCY_WORKDAY
          Regular task that repeats every working day.
 
Fields inherited from class org.cesilko.rachota.core.Task
PRIORITY_HIGH, PRIORITY_LOW, PRIORITY_MEDIUM, STATE_DONE, STATE_NEW, STATE_STARTED
 
Constructor Summary
RegularTask(java.lang.String description, java.lang.String keyword, java.lang.String notes, int priority, int state, long duration, java.util.Date notificationTime, boolean automaticStart, boolean privateTask, int frequency)
          Creates a new instance of regular task.
 
Method Summary
 Task cloneTask()
          Returns clone of itself with time set to 0 and state set to STATE_NEW.
 int getFrequency()
          Returns how often task is repeated.
static java.lang.String getFrequency(int frequency)
          Returns how often task is repeated.
 boolean isPlannedFor(Day day)
          Verifies if task is planned for given day.
 void setFrequency(int frequency)
          Sets how often task is repeated.
 void writeRepetition(java.io.PrintStream stream)
          Writes information about repetition of task.
 
Methods inherited from class org.cesilko.rachota.core.Task
addDuration, addNote, addPropertyChangeListener, automaticStart, compare, getDescription, getDuration, getKeyword, getKeywordIterator, getNotes, getNotificationTime, getPriority, getPriority, getState, getState, isIdleTask, isRunning, privateTask, removePropertyChangeListener, setAutomaticStart, setDescription, setDuration, setKeyword, setNotes, setNotificationTime, setPriority, setPrivateTask, setState, startWork, suspendWork, tick, toString, workDone, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

FREQUENCY_DAILY

public static int FREQUENCY_DAILY
Regular task that repeats every day.


FREQUENCY_MONDAY

public static int FREQUENCY_MONDAY
Regular task that repeats every Monday.


FREQUENCY_TUESDAY

public static int FREQUENCY_TUESDAY
Regular task that repeats every Tuesday.


FREQUENCY_WEDNESDAY

public static int FREQUENCY_WEDNESDAY
Regular task that repeats every Wednesday.


FREQUENCY_THURSDAY

public static int FREQUENCY_THURSDAY
Regular task that repeats every Thursday.


FREQUENCY_FRIDAY

public static int FREQUENCY_FRIDAY
Regular task that repeats every Friday.


FREQUENCY_SATURDAY

public static int FREQUENCY_SATURDAY
Regular task that repeats every Saturday.


FREQUENCY_SUNDAY

public static int FREQUENCY_SUNDAY
Regular task that repeats every Sunday.


FREQUENCY_WORKDAY

public static int FREQUENCY_WORKDAY
Regular task that repeats every working day.


FREQUENCY_WEEKEND

public static int FREQUENCY_WEEKEND
Regular task that repeats every weekend day.

Constructor Detail

RegularTask

public RegularTask(java.lang.String description,
                   java.lang.String keyword,
                   java.lang.String notes,
                   int priority,
                   int state,
                   long duration,
                   java.util.Date notificationTime,
                   boolean automaticStart,
                   boolean privateTask,
                   int frequency)
Creates a new instance of regular task.

Parameters:
description - Description of task.
keyword - Arbitrary text for grouping tasks etc.
notes - Notes of task.
priority - Priority of task.
state - State of progress of task.
duration - Time in ms that was already spent on task.
notificationTime - Time when system should warn about task.
automaticStart - Should system switch to task automatically ?
privateTask - Is this task private ?
frequency - Frequency of task's repetitions.
Method Detail

setFrequency

public void setFrequency(int frequency)
Sets how often task is repeated.

Parameters:
frequency - Frequency of task's repetitions.

getFrequency

public int getFrequency()
Returns how often task is repeated.

Returns:
Frequency of task's repetitions.

getFrequency

public static java.lang.String getFrequency(int frequency)
Returns how often task is repeated.

Parameters:
frequency - Frequency of task's repetitions as number.
Returns:
Frequency of task's repetitions as text.

writeRepetition

public void writeRepetition(java.io.PrintStream stream)
                     throws java.io.IOException
Writes information about repetition of task.

Overrides:
writeRepetition in class Task
Parameters:
stream - Print stream where repetition info will be written.
Throws:
java.io.IOException - Input/output exception thrown when some error during writing repetition information occurs.

isPlannedFor

public boolean isPlannedFor(Day day)
Verifies if task is planned for given day.

Parameters:
day - Day to be checked.
Returns:
True if task suits for given day, false otherwise.

cloneTask

public Task cloneTask()
Returns clone of itself with time set to 0 and state set to STATE_NEW.

Overrides:
cloneTask in class Task
Returns:
Regular task similar to this one except time and state.