com.jrefinery.data
Class Second

java.lang.Object
  |
  +--com.jrefinery.data.TimePeriod
        |
        +--com.jrefinery.data.Second
All Implemented Interfaces:
java.lang.Comparable, com.jrefinery.date.MonthConstants

public class Second
extends TimePeriod

Represents a second in a particular day.

This class is immutable, which is a requirement for all TimePeriod subclasses.

Author:
DG

Field Summary
static int FIRST_SECOND_IN_MINUTE
          Useful constant for the first second in a day.
static int LAST_SECOND_IN_MINUTE
          Useful constant for the last second in a day.
 
Fields inherited from class com.jrefinery.data.TimePeriod
DEFAULT_TIME_ZONE, WORKING_CALENDAR
 
Fields inherited from interface com.jrefinery.date.MonthConstants
APRIL, AUGUST, DECEMBER, FEBRUARY, JANUARY, JULY, JUNE, MARCH, MAY, NOVEMBER, OCTOBER, SEPTEMBER
 
Constructor Summary
Second()
          Constructs a new Second, based on the system date/time.
Second(java.util.Date time)
          Constructs a second.
Second(java.util.Date time, java.util.TimeZone zone)
          Creates a new second based on the supplied time and time zone.
Second(int second, Minute minute)
          Constructs a new Second.
 
Method Summary
 int compareTo(java.lang.Object o1)
          Returns an integer indicating the order of this Second object relative to the specified object: negative == before, zero == same, positive == after.
 boolean equals(java.lang.Object object)
          Tests the equality of this object against an arbitrary Object.
 long getEnd(java.util.Calendar calendar)
          Returns the last millisecond of the minute.
 Minute getMinute()
          Returns the minute.
 int getSecond()
          Returns the second.
 long getSerialIndex()
          Returns a serial index number for the minute.
 long getStart(java.util.Calendar calendar)
          Returns the first millisecond of the minute.
 TimePeriod next()
          Returns the second following this one.
static Second parseSecond(java.lang.String s)
          Creates a Minute instance by parsing a string.
 TimePeriod previous()
          Returns the second preceding this one.
 
Methods inherited from class com.jrefinery.data.TimePeriod
getEnd, getEnd, getMiddle, getMiddle, getMiddle, getStart, getStart
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FIRST_SECOND_IN_MINUTE

public static final int FIRST_SECOND_IN_MINUTE
Useful constant for the first second in a day.

LAST_SECOND_IN_MINUTE

public static final int LAST_SECOND_IN_MINUTE
Useful constant for the last second in a day.
Constructor Detail

Second

public Second()
Constructs a new Second, based on the system date/time.

Second

public Second(int second,
              Minute minute)
Constructs a new Second.
Parameters:
second - the second (0 to 24*60*60-1).
minute - the minute.

Second

public Second(java.util.Date time)
Constructs a second.
Parameters:
time - the time.

Second

public Second(java.util.Date time,
              java.util.TimeZone zone)
Creates a new second based on the supplied time and time zone.
Parameters:
time - the instant in time.
zone - the time zone.
Method Detail

getSecond

public int getSecond()
Returns the second.
Returns:
the second.

getMinute

public Minute getMinute()
Returns the minute.
Returns:
the minute.

previous

public TimePeriod previous()
Returns the second preceding this one.
Overrides:
previous in class TimePeriod
Returns:
the second preceding this one.

next

public TimePeriod next()
Returns the second following this one.
Overrides:
next in class TimePeriod
Returns:
the second following this one.

getSerialIndex

public long getSerialIndex()
Returns a serial index number for the minute.
Overrides:
getSerialIndex in class TimePeriod
Returns:
the serial index number.

getStart

public long getStart(java.util.Calendar calendar)
Returns the first millisecond of the minute.
Overrides:
getStart in class TimePeriod
Parameters:
calendar - the calendar/timezone.
Returns:
the first millisecond.

getEnd

public long getEnd(java.util.Calendar calendar)
Returns the last millisecond of the minute.
Overrides:
getEnd in class TimePeriod
Parameters:
calendar - the calendar/timezone.
Returns:
the last millisecond.

equals

public boolean equals(java.lang.Object object)
Tests the equality of this object against an arbitrary Object.

This method will return true ONLY if the object is a Second object representing the same second as this instance.

Overrides:
equals in class java.lang.Object
Parameters:
object - the object to compare.
Returns:
true if second and minute of this and the object are the same.

compareTo

public int compareTo(java.lang.Object o1)
Returns an integer indicating the order of this Second object relative to the specified object: negative == before, zero == same, positive == after.
Parameters:
o1 - the object to compare.
Returns:
negative == before, zero == same, positive == after.

parseSecond

public static Second parseSecond(java.lang.String s)
Creates a Minute instance by parsing a string. The string is assumed to be in the format "YYYY-MM-DD HH:MM:SS", perhaps with leading or trailing whitespace.
Parameters:
s - the string to parse.
Returns:
null if the string is not parseable, the Second otherwise.