Class DutySchedule
- java.lang.Object
-
- org.opennms.web.admin.users.parsers.DutySchedule
-
- All Implemented Interfaces:
java.lang.Cloneable
public class DutySchedule extends java.lang.Object implements java.lang.Cloneable
This class holds information on the duty schedules that users can have. Converstion between different formats of the duty schedule information are possible, as is the comparison between a Calendar passed in and the start and stop times of each day in a duty schedule.- Author:
- Jason Johns , OpenNMS
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String[]
DAY_NAMES
A list of names to abbreviate the days of the weekstatic int
FRIDAY
ConstantFRIDAY=4
static int
MONDAY
A series of constants to identify the days of the week as used by the DutySchedule classstatic int
SATURDAY
ConstantSATURDAY=5
static int
SUNDAY
ConstantSUNDAY=6
static int
THURSDAY
ConstantTHURSDAY=3
static int
TUESDAY
ConstantTUESDAY=1
static int
WEDNESDAY
ConstantWEDNESDAY=2
-
Constructor Summary
Constructors Constructor Description DutySchedule()
Create a new DutySchedule.DutySchedule(java.lang.String aSchedule)
Create a new DutySchedule.DutySchedule(java.util.List<?> aSchedule)
Create a new DutySchedule.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description DutySchedule
clone()
clonejava.util.Vector<java.lang.Object>
getAsVector()
Deprecated.call the individual gettersjava.util.List<java.lang.Boolean>
getDaysAsBooleanList()
Gets the days this DutySchedule is active.int
getStartTime()
Gets the start time.int
getStopTime()
Gets the stop time.boolean
hasDay(int aDay)
hasDayboolean
isInSchedule(java.util.Calendar aTime)
Test if time is contined in schedule.void
setDay(int aDay)
Sets the day.void
setEndHour(int anHour)
Sets the stop Hour.void
setStartHour(int anHour)
Sets the start Hour.java.lang.String
toString()
String representation.
-
-
-
Field Detail
-
MONDAY
public static final int MONDAY
A series of constants to identify the days of the week as used by the DutySchedule class- See Also:
- Constant Field Values
-
TUESDAY
public static final int TUESDAY
ConstantTUESDAY=1
- See Also:
- Constant Field Values
-
WEDNESDAY
public static final int WEDNESDAY
ConstantWEDNESDAY=2
- See Also:
- Constant Field Values
-
THURSDAY
public static final int THURSDAY
ConstantTHURSDAY=3
- See Also:
- Constant Field Values
-
FRIDAY
public static final int FRIDAY
ConstantFRIDAY=4
- See Also:
- Constant Field Values
-
SATURDAY
public static final int SATURDAY
ConstantSATURDAY=5
- See Also:
- Constant Field Values
-
SUNDAY
public static final int SUNDAY
ConstantSUNDAY=6
- See Also:
- Constant Field Values
-
DAY_NAMES
public static final java.lang.String[] DAY_NAMES
A list of names to abbreviate the days of the week
-
-
Constructor Detail
-
DutySchedule
public DutySchedule()
Create a new DutySchedule. Builds the BitSet used to identify the days of the week that are set.
-
DutySchedule
public DutySchedule(java.util.List<?> aSchedule)
Create a new DutySchedule. This constructor is designed to convert from a Vector filled with 7 Boolean objects and two String objects into the BitSet and integer start and stop time. Very useful for the ModifyUser screen when it is converting from a table display to save the information to a string format for the users.xml.- Parameters:
aSchedule
- Vector filled with 7 Boolean objects and two String objects
-
DutySchedule
public DutySchedule(java.lang.String aSchedule)
Create a new DutySchedule. This constructor is designed to build a new DutySchedule from a String representation formatted as such.- eg. MoWeFr800-1700, TuTh900-1500. - Parameters:
aSchedule
- the string to convert to a new DutySchedule
-
-
Method Detail
-
setDay
public void setDay(int aDay)
Sets the day. This method sets the BitSet that tracks what days this DutySchedule applies to.- Parameters:
aDay
- the day index to set in the BitSet
-
getStartTime
public int getStartTime()
Gets the start time. This method return the start time as an integer- Returns:
- the start time of this DutySchedule
-
getStopTime
public int getStopTime()
Gets the stop time. This method return the stop time as an integer- Returns:
- the stop time of this DutySchedule
-
getDaysAsBooleanList
public java.util.List<java.lang.Boolean> getDaysAsBooleanList()
Gets the days this DutySchedule is active.- Returns:
- the days this DutySchedule is active.
-
getAsVector
public java.util.Vector<java.lang.Object> getAsVector()
Deprecated.call the individual gettersGets the Vector representation of the DutySchedule. This method formats the DutySchedule as a vector populated with the first seven objects as Booleans set to indicate what days of the week are stored, and the last two objects as Strings that reflect the start time and stop time respectively. This method gives a Vector that can be passed to the DutySchedule(Vector) constructor to create a new DutySchedule- Returns:
- a Vector properly formatted to reflect this DutySchedule
-
isInSchedule
public boolean isInSchedule(java.util.Calendar aTime)
Test if time is contined in schedule. This method decides if a given time falls within the duty schedule contained in this object. It creates two partial Calendars from the Calendar that is passed in and then sets the start time for one and the end time for the other. Then in a loop it reassigns the day of week according to the BitSet. It makes a comparison to see if the argument Calendar is between the start and stop times and returns true immediately if it is.- Parameters:
aTime
- the time to check- Returns:
- true if the Calendar is contained in the duty schedule, false if it isn't.
-
setStartHour
public void setStartHour(int anHour)
Sets the start Hour. This method sets the start time of this DutySchedule- Parameters:
anHour
- the hour in military time to set the start time for the DutySchedule
-
setEndHour
public void setEndHour(int anHour)
Sets the stop Hour. This method sets the stop time of this DutySchedule- Parameters:
anHour
- the hour in military time to set the end time for the DutySchedule
-
toString
public java.lang.String toString()
String representation. This method returns the DutySchedule formatted as a string that the DutySchedule(String) constructor could parse. The string will be formatted as such:- eg. MoWeFr800-1700, TuTh900-1500. - Overrides:
toString
in classjava.lang.Object
- Returns:
- a string representation of this DutySchedule
-
hasDay
public boolean hasDay(int aDay)
hasDay
- Parameters:
aDay
- a int.- Returns:
- a boolean.
-
clone
public DutySchedule clone()
clone
- Overrides:
clone
in classjava.lang.Object
- Returns:
- a
DutySchedule
object.
-
-