Class 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.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • 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_PRIORITY
        ascendingOrder - 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 class java.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 interface java.beans.PropertyChangeListener
        Parameters:
        evt - Event describing what was changed.