Package org.cesilko.rachota.core
Class Day
- java.lang.Object
-
- org.cesilko.rachota.core.Day
-
- All Implemented Interfaces:
java.beans.PropertyChangeListener
,java.util.EventListener
public class Day extends java.lang.Object implements java.beans.PropertyChangeListener
Day with plan of tasks.
-
-
Constructor Summary
Constructors Constructor Description Day(java.util.Vector tasks, java.util.Date date, java.util.Date startTime, java.util.Date finishTime)
Creates a new instance of day.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addPropertyChangeListener(java.beans.PropertyChangeListener listener)
Adds new listener to set of objects interested in this day.void
addTask(Task task)
Adds new task to plan of day.boolean
existsMorePriorityTask(int priority)
Checks if there is some unfinished task in plan with higher priority.java.util.Date
getDate()
Returns identification of day.java.util.Date
getFinishTime()
Returns finish time of day.Task
getIdleTask()
Returns idle task of the day.java.util.Date
getStartTime()
Returns start time of day.Task
getTask(java.lang.String description)
Returns task with given description or null if such does not exist.java.util.Vector
getTasks()
Returns tasks planned for day.long
getTotalTime(boolean includePrivateTasks)
Get total time spent on tasks without idle time.boolean
isModified()
Returns if day was modified or not since it was created.void
propertyChange(java.beans.PropertyChangeEvent evt)
Method called when some property of task was changed.void
removeNotStartedRegularTasks()
Removes all not started regular tasks from plan of day.void
removePropertyChangeListener(java.beans.PropertyChangeListener listener)
Adds new listener to set of objects interested in this day.void
removeTask(Task task)
Removes given task from plan of day.void
setDate(java.util.Date date)
Sets identification of day.void
setFinishTime(java.util.Date finishTime)
Sets finish time of day.void
setStartTime(java.util.Date startTime)
Sets start time of day.void
setTasks(java.util.Vector tasks)
Sets tasks of day.void
sortTasks(int attribute, boolean ascendingOrder)
Sort tasks by given attribute and sorting order.java.lang.String
toString()
Returns textual representation of day's date e.g.void
write(java.io.PrintStream stream)
Write day to given writer.
-
-
-
Constructor Detail
-
Day
public Day(java.util.Vector tasks, java.util.Date date, java.util.Date startTime, java.util.Date finishTime)
Creates a new instance of day.- Parameters:
tasks
- Vector of tasks planned for day.date
- Identification of day.startTime
- Time when first task was started.finishTime
- Last time when some task was worked on.
-
-
Method Detail
-
setTasks
public void setTasks(java.util.Vector tasks)
Sets tasks of day.- Parameters:
tasks
- Tasks of day.
-
getTasks
public java.util.Vector getTasks()
Returns tasks planned for day.- Returns:
- Tasks planned for day.
-
addPropertyChangeListener
public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
Adds new listener to set of objects interested in this day.- Parameters:
listener
- Object interested in this day.
-
removePropertyChangeListener
public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
Adds new listener to set of objects interested in this day.- Parameters:
listener
- Object interested in this day.
-
addTask
public void addTask(Task task)
Adds new task to plan of day.- Parameters:
task
- New task to be added.
-
removeTask
public void removeTask(Task task)
Removes given task from plan of day.- Parameters:
task
- Task to be removed from plan.
-
removeNotStartedRegularTasks
public void removeNotStartedRegularTasks()
Removes all not started regular tasks from plan of day.
-
getTask
public Task getTask(java.lang.String description)
Returns task with given description or null if such does not exist.- Parameters:
description
- Description of task to be searched for.- Returns:
- Task with given description or null otherwise.
-
getIdleTask
public Task getIdleTask()
Returns idle task of the day.
-
existsMorePriorityTask
public boolean existsMorePriorityTask(int priority)
Checks if there is some unfinished task in plan with higher priority.- Parameters:
priority
- Priority to be compared with.- Returns:
- True if plan contains at least one task with higher priority than given one, else false.
-
setDate
public void setDate(java.util.Date date)
Sets identification of day.- Parameters:
date
- Identification of day.
-
getDate
public java.util.Date getDate()
Returns identification of day.- Returns:
- Identification of day.
-
setStartTime
public void setStartTime(java.util.Date startTime)
Sets start time of day.- Parameters:
startTime
- Start time of day.
-
getStartTime
public java.util.Date getStartTime()
Returns start time of day.- Returns:
- Start time of day.
-
setFinishTime
public void setFinishTime(java.util.Date finishTime)
Sets finish time of day.- Parameters:
finishTime
- Finish time of day.
-
getFinishTime
public java.util.Date getFinishTime()
Returns finish time of day.- Returns:
- Finish time of day.
-
isModified
public boolean isModified()
Returns if day was modified or not since it was created.- Returns:
- True if some task was added, removed or start or finish times were changed.
-
getTotalTime
public long getTotalTime(boolean includePrivateTasks)
Get total time spent on tasks without idle time.- Parameters:
includePrivateTasks
- If true, also time spent on private tasks will be calculated.- Returns:
- Total time spent on tasks in milliseconds.
-
sortTasks
public void sortTasks(int attribute, boolean ascendingOrder)
Sort tasks by given attribute and sorting order.- Parameters:
attribute
- Attribute used for sorting tasks e.g. DayTableModel.TASK_PRIORITYascendingOrder
- Sorting order. If true, tasks will be sorted in ascending order.
-
write
public void write(java.io.PrintStream stream) throws java.io.IOException
Write day to given writer.- Parameters:
stream
- Print stream where day will be written.- Throws:
java.io.IOException
- Input/Output exception thrown whenever any problem while writing day occurs.
-
toString
public java.lang.String toString()
Returns textual representation of day's date e.g. 11/25 or 25.11.- Overrides:
toString
in classjava.lang.Object
- Returns:
- Tex representation of days' date.
-
propertyChange
public void propertyChange(java.beans.PropertyChangeEvent evt)
Method called when some property of task was changed.- Specified by:
propertyChange
in interfacejava.beans.PropertyChangeListener
- Parameters:
evt
- Event describing what was changed.
-
-