com.mckoi.util
Class TimeFrame

java.lang.Object
  extended by com.mckoi.util.TimeFrame

public class TimeFrame
extends java.lang.Object

An immutable object that represents a frame of time down to the accuracy of a millisecond.

This object wraps around a BigDecimal that represents the number of milliseconds it takes to pass through the period.

Author:
Tobias Downer

Field Summary
static int DAYS
          Formatting enum.
static int HOURS
          Formatting enum.
static int MINUTES
          Formatting enum.
static int WEEKS
          Formatting enum.
 
Constructor Summary
TimeFrame(java.math.BigDecimal period)
          Constructs the TimeFrame for the given time.
 
Method Summary
 java.util.Date addToDate(java.util.Date date)
          Returns a Date that is the addition of this period of time to the given date.
 boolean equals(java.lang.Object ob)
          Returns true if the TimeFrame is equal to another.
 java.lang.String format(int format_type)
          Returns a string that represents this time frame formatted as a string.
 java.lang.String format(int format_type, boolean shorthand)
          Returns a string that represents this time frame formatted as a string.
 java.math.BigDecimal getPeriod()
          Returns the number of milliseconds for the period of this time frame.
 boolean isNoTime()
          Returns true if this time frame represents no time.
static TimeFrame parse(java.lang.String str)
          Parses the given String and returns a TimeFrame object that represents the date.
 java.lang.String toString()
          For Debugging.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

WEEKS

public static int WEEKS
Formatting enum.


DAYS

public static int DAYS
Formatting enum.


HOURS

public static int HOURS
Formatting enum.


MINUTES

public static int MINUTES
Formatting enum.

Constructor Detail

TimeFrame

public TimeFrame(java.math.BigDecimal period)
Constructs the TimeFrame for the given time.

Method Detail

getPeriod

public java.math.BigDecimal getPeriod()
Returns the number of milliseconds for the period of this time frame.


isNoTime

public boolean isNoTime()
Returns true if this time frame represents no time.


addToDate

public java.util.Date addToDate(java.util.Date date)
Returns a Date that is the addition of this period of time to the given date.


format

public java.lang.String format(int format_type)
Returns a string that represents this time frame formatted as a string. The period is formatted as short hand.

Parameters:
format_type - either WEEKS, HOURS, MINUTES

format

public java.lang.String format(int format_type,
                               boolean shorthand)
Returns a string that represents this time frame formatted as a string.

Parameters:
format_type - either WEEKS, HOURS, MINUTES
shorthand - if false then timeframe is formatted in long hand. 'ms' -> 'milliseconds'

parse

public static TimeFrame parse(java.lang.String str)
                       throws java.text.ParseException
Parses the given String and returns a TimeFrame object that represents the date. This excepts strings such as:

   "3 wks 12 days", "5.4 days", "9d", "12 minutes", "24 mins", etc.
 

See 'GeneralParser' for more details.

Throws:
java.text.ParseException

equals

public boolean equals(java.lang.Object ob)
Returns true if the TimeFrame is equal to another.

Overrides:
equals in class java.lang.Object

toString

public java.lang.String toString()
For Debugging.

Overrides:
toString in class java.lang.Object