Class Plan

java.lang.Object
org.cesilko.rachota.core.Plan

public class Plan extends Object
Plan containing all days that have some tasks planned. Plan also contains all regular tasks.
  • Field Details

    • days

      private TreeMap days
      All days planned for the future or when any worked happened in the past.
    • regularTasks

      private Vector regularTasks
      Set of all regular tasks planned for the future.
    • plan

      private static Plan plan
      The only instance of Plan object in the system.
    • UPLOAD_IN_5_MINUTES

      public static long UPLOAD_IN_5_MINUTES
      Upload diary file once in 5 minutes.
    • UPLOAD_NOW

      public static long UPLOAD_NOW
      Upload diary file right now.
  • Constructor Details

    • Plan

      private Plan()
      Creates a new instance of plan
  • Method Details

    • getDefault

      public static Plan getDefault()
      Returns the only available instance of plan.
      Returns:
      The only instance of Plan object in system.
    • addDay

      public void addDay(Day day)
      Adds new day to plan.
      Parameters:
      day - New day to be added to plan.
    • getDay

      public Day getDay(Date date)
      Returns day identified by given date.
      Parameters:
      date - Date that will be used to find the day.
      Returns:
      Day with given date.
    • getDayBefore

      public Day getDayBefore(Day day)
      Returns one day before given day.
      Parameters:
      day - Day whose predecessor should be found.
      Returns:
      Day before given day.
    • getDayAfter

      public Day getDayAfter(Day day)
      Returns one day after given day.
      Parameters:
      day - Day whose ancessor should be found.
      Returns:
      Day after given day.
    • getDays

      public Iterator getDays(int scale)
      Returns iterator of days according to given period scale.
      Parameters:
      scale - Period whose days to return. Either week or all time.
      Returns:
      Iterator of days from previous week or all days.
    • getDay

      private Day getDay(Date date, int offset)
      Returns day by given date and offset.
      Parameters:
      date - Date whose day should be returned.
      offset - Relative difference in days from specified date e.g. 0 if date exactly should be returned.
      Returns:
      Day based on date and offset.
    • getDayID

      public String getDayID(Calendar calendar)
      Returns identification of day set in given calendar.
      Parameters:
      calendar - Calendar preset to some day.
      Returns:
      Identification of day e.g. "2005_02_17"
    • isToday

      public boolean isToday(Day day)
      Checks if given day represents today.
      Parameters:
      day - Day that should be checked.
      Returns:
      True if given day represents today otherwise false.
    • isFuture

      public boolean isFuture(Day day)
      Checks if given day will be after today.
      Parameters:
      day - Day that should be checked.
      Returns:
      True if given day represents some day after today otherwise false.
    • addRegularTask

      public void addRegularTask(RegularTask regularTask)
      Adds new regular task to plan.
      Parameters:
      regularTask - New regular task to be added to plan.
    • removeRegularTask

      public void removeRegularTask(RegularTask regularTask)
      Removes existing regular task from plan.
      Parameters:
      regularTask - Regular task to be removed from plan.
    • getRegularTasks

      public Vector getRegularTasks()
      Returns vector of all regular tasks.
      Returns:
      Vector of all regular tasks.
    • createBackup

      public static void createBackup()
      Creates a backup copy of current diary.
    • savePlan

      public static boolean savePlan()
      Saves all days to XML files.
      Returns:
      True if plan was saved successfully, false otherwise
    • uploadDiary

      public void uploadDiary(long uploadFrequency)
      Uploads current week diary to specified server via HTTP connection.
    • getNextWeekToSave

      private String getNextWeekToSave(int savedYear, int savedWeek)
      Returns identification of next week to be saved after given week in format yyyy-ww e.g. 2019-45
      Parameters:
      savedYear - Index of year whose week has already been saved.
      savedWeek - Index of week that has already been saved.
      Returns:
      Identification of next week to save in yyyy-ww format or null if there is no more day in plan after given week.
    • saveWeek

      private boolean saveWeek(int year, int week, boolean isBackup)
      Saves week with given index of year.
      Parameters:
      year - Index of year whose week should be saved.
      week - Index of week in given year to be saved.
      isBackup - If true backup will be created otherwise common diary file.
      Returns:
      True if week was successfully saved, false otherwise.
    • loadPlan

      public static void loadPlan() throws Exception
      Loads all planned days and history.
      Throws:
      Exception - Exception thrown whenever any problem while loading plan occurs.
    • saveRegularTasks

      public static void saveRegularTasks()
      Saves all regular tasks.
    • loadRegularTasks

      public static void loadRegularTasks() throws Exception
      Loads plan of regular tasks.
      Throws:
      Exception - Exception thrown whenever any problem while loading regular tasks occurs.
    • copyUnfinishedTasks

      public void copyUnfinishedTasks()
      Copies all unfinished tasks from previous working day to today.
    • addRegularTasks

      public void addRegularTasks(Day day)
      Adds regular tasks to given day.
      Parameters:
      day - Day to be extended for regular tasks.
    • existsDayBefore

      private boolean existsDayBefore(Day day)
      Finds out if there is any day in plan before specified day.
      Parameters:
      day - Day whose predecessor existence should be verified.
      Returns:
      True if any day before given day exists in plan. False otherwise.
    • getCategories

      public Vector getCategories()
      Returns all categories that were used to date.
      Returns:
      Vector of categories that were used to date.
    • loadThisWeekDiary

      private String loadThisWeekDiary()
      Returns string representing diary for this week.
      Returns:
      String containing this week's data or null if something fails.