com.dtolabs.rundeck.core.authorization
Class TimeanddayExp

java.lang.Object
  extended by com.dtolabs.rundeck.core.authorization.TimeanddayExp

public class TimeanddayExp
extends java.lang.Object

TimeanddayExp class to represent time contraints applied to an acl. the time contraint supports dayofweek, hour, and minute similar to how crontab supports them. "* * *" "1-5 8-17 *" etc.


Constructor Summary
TimeanddayExp(java.lang.String timeandday)
          constructor supporting timeandday represented in a single String.
TimeanddayExp(java.lang.String dayExp, java.lang.String hourExp, java.lang.String minuteExp)
          constructor supporting day, hour, and minute expressions
 
Method Summary
static void checkExp(java.lang.String exp, java.lang.String type)
          checks expressions for day, hour, minute
static boolean checkInRange(int unit, int min, int max)
          checks if the integer (unit) is within specificed min/max range for types: day, hour, minute
 java.lang.String getDayExp()
          getter for day expression
 java.lang.String getHourExp()
          getter for hour expression
 java.lang.String getMinuteExp()
          getter for minute expression
static boolean match(TimeanddayExp r, TimeanddayExp t)
          determine if two acls TimeanddayExp's are equivalent the role TimeanddayExp may have regexp where the target TimeanddayExp will not.
static java.lang.String parseDayExp(java.lang.String timeandday)
          parsed day expression from input String
static java.lang.String parseHourExp(java.lang.String timeandday)
          parsed hour expression from input String
static java.lang.String parseMinuteExp(java.lang.String timeandday)
          parsed minute expression from input String
 void setHourExp(java.lang.String hourExp)
          setter for hour expression
 void setMinuteExp(java.lang.String minuteExp)
          setter for minute expression
 java.lang.String toString()
          dumps this object in its crontab like String representation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TimeanddayExp

public TimeanddayExp(java.lang.String timeandday)
              throws java.lang.NumberFormatException
constructor supporting timeandday represented in a single String. this String is expected to have whitespace seperated day, hour, minute expressions similar to crontab

Parameters:
timeandday -
Throws:
java.lang.NumberFormatException

TimeanddayExp

public TimeanddayExp(java.lang.String dayExp,
                     java.lang.String hourExp,
                     java.lang.String minuteExp)
              throws java.lang.NumberFormatException
constructor supporting day, hour, and minute expressions

Parameters:
dayExp -
hourExp -
minuteExp -
Throws:
java.lang.NumberFormatException
Method Detail

getDayExp

public java.lang.String getDayExp()
getter for day expression

Returns:
String

setHourExp

public void setHourExp(java.lang.String hourExp)
setter for hour expression

Parameters:
hourExp -

getHourExp

public java.lang.String getHourExp()
getter for hour expression

Returns:
String

setMinuteExp

public void setMinuteExp(java.lang.String minuteExp)
setter for minute expression

Parameters:
minuteExp -

getMinuteExp

public java.lang.String getMinuteExp()
getter for minute expression

Returns:
String

checkExp

public static void checkExp(java.lang.String exp,
                            java.lang.String type)
                     throws java.lang.NumberFormatException
checks expressions for day, hour, minute

Parameters:
exp -
type -
Throws:
java.lang.NumberFormatException

checkInRange

public static boolean checkInRange(int unit,
                                   int min,
                                   int max)
checks if the integer (unit) is within specificed min/max range for types: day, hour, minute

Parameters:
unit -
min -
max -
Returns:
boolean

toString

public java.lang.String toString()
dumps this object in its crontab like String representation

Overrides:
toString in class java.lang.Object
Returns:
String

parseDayExp

public static java.lang.String parseDayExp(java.lang.String timeandday)
parsed day expression from input String

Returns:
String

parseHourExp

public static java.lang.String parseHourExp(java.lang.String timeandday)
parsed hour expression from input String

Returns:
String

parseMinuteExp

public static java.lang.String parseMinuteExp(java.lang.String timeandday)
parsed minute expression from input String

Returns:
String

match

public static boolean match(TimeanddayExp r,
                            TimeanddayExp t)
determine if two acls TimeanddayExp's are equivalent the role TimeanddayExp may have regexp where the target TimeanddayExp will not.

Parameters:
r - role based TimeandDay object
t - target based TimeandDay object
Returns:
boolean