scheduler.view
Class ViewLevel

java.lang.Object
  extended by java.util.Observable
      extended by scheduler.view.ViewLevel

public class ViewLevel
extends java.util.Observable

Class ViewLevel specifies whether a schedule is viewed on per day or a weekly basis.

Author:
Jason Mak (jamak3@gmail.com)

Nested Class Summary
static class ViewLevel.Level
          Enums to represent the two view levels.
 
Field Summary
protected  DaysInWeek.Day day
          The day value relevant only to a DAILY ViewLevel.
protected  ViewLevel.Level level
          Daily or weekly view.
protected  ViewLevelUI viewLevelUI
          The companion view.
 
Constructor Summary
ViewLevel(View view, ViewLevel.Level level)
          Construct this by setting the new view level to the parameter.
 
Method Summary
 DaysInWeek.Day getDay()
          Returns the day corresponding to a DAILY ViewLevel.
 ViewLevel.Level getLevel()
          Return the current view level.
 ViewLevelUI getViewLevelUI()
          Return the companion view.
 void setDay(DaysInWeek.Day day)
          Sets the day for a DAILY ViewLevel.
 void setLevel(ViewLevel.Level level)
          Set the view level.
 
Methods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

day

protected DaysInWeek.Day day
The day value relevant only to a DAILY ViewLevel.


viewLevelUI

protected ViewLevelUI viewLevelUI
The companion view.


level

protected ViewLevel.Level level
Daily or weekly view.

Constructor Detail

ViewLevel

public ViewLevel(View view,
                 ViewLevel.Level level)
Construct this by setting the new view level to the parameter. The default day for a daily view is Monday. Instantiates a companion view for the new view level.
 pre: ;

 post: this.level' == level && this.day' == DaysInWeek.Day.MON
        && this.viewLevelUI' != null && countObservers() > 0;

                                                                

Parameters:
level - the view level after instantiation
Method Detail

setLevel

public void setLevel(ViewLevel.Level level)
Set the view level. Notifies the schedule view to switch view levels.
 pre: ;

 post: this.level' == level;
                                                                

Parameters:
level - the new view level

getLevel

public ViewLevel.Level getLevel()
Return the current view level.
 post: return == level;
                                                                

Returns:
the current view level

getViewLevelUI

public ViewLevelUI getViewLevelUI()
Return the companion view.
 post: return == viewLevelUI;
                                                                

Returns:
the companion view

setDay

public void setDay(DaysInWeek.Day day)
Sets the day for a DAILY ViewLevel.
 pre: ;

 post: this.day' == day;
                                                                

Parameters:
day - the new day for a daily view

getDay

public DaysInWeek.Day getDay()
Returns the day corresponding to a DAILY ViewLevel.
 post: return == day;
                                                                

Returns:
the day for a daily view