org.jfree.data.time
Class Second

java.lang.Object
  extended byorg.jfree.data.time.RegularTimePeriod
      extended byorg.jfree.data.time.Second
All Implemented Interfaces:
java.lang.Comparable, java.io.Serializable, TimePeriod

public class Second
extends RegularTimePeriod
implements java.io.Serializable

Represents a second in a particular day.

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

See Also:
Serialized Form

Field Summary
static int FIRST_SECOND_IN_MINUTE
          Useful constant for the first second in a minute.
static int LAST_SECOND_IN_MINUTE
          Useful constant for the last second in a minute.
 
Fields inherited from class org.jfree.data.time.RegularTimePeriod
DEFAULT_TIME_ZONE, WORKING_CALENDAR
 
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, int minute, int hour, int day, int month, int year)
          Creates a new second.
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 obj)
          Tests the equality of this object against an arbitrary Object.
 long getFirstMillisecond(java.util.Calendar calendar)
          Returns the first millisecond of the minute.
 long getLastMillisecond(java.util.Calendar calendar)
          Returns the last millisecond of the second.
 Minute getMinute()
          Returns the minute.
 int getSecond()
          Returns the second within the minute.
 long getSerialIndex()
          Returns a serial index number for the minute.
 int hashCode()
          Returns a hash code for this object instance.
 RegularTimePeriod next()
          Returns the second following this one.
static Second parseSecond(java.lang.String s)
          Creates a new instance by parsing a string.
 RegularTimePeriod previous()
          Returns the second preceding this one.
 
Methods inherited from class org.jfree.data.time.RegularTimePeriod
createInstance, downsize, getEnd, getFirstMillisecond, getFirstMillisecond, getLastMillisecond, getLastMillisecond, getMiddleMillisecond, getMiddleMillisecond, getMiddleMillisecond, getStart, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, 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 minute.

See Also:
Constant Field Values

LAST_SECOND_IN_MINUTE

public static final int LAST_SECOND_IN_MINUTE
Useful constant for the last second in a minute.

See Also:
Constant Field Values
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 (null not permitted).

Second

public Second(int second,
              int minute,
              int hour,
              int day,
              int month,
              int year)
Creates a new second.

Parameters:
second - the second (0-59).
minute - the minute (0-59).
hour - the hour (0-23).
day - the day (1-31).
month - the month (1-12).
year - the year (1900-9999).

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 within the minute.

Returns:
The second (0 - 59).

getMinute

public Minute getMinute()
Returns the minute.

Returns:
The minute (never null).

previous

public RegularTimePeriod previous()
Returns the second preceding this one.

Specified by:
previous in class RegularTimePeriod
Returns:
The second preceding this one.

next

public RegularTimePeriod next()
Returns the second following this one.

Specified by:
next in class RegularTimePeriod
Returns:
The second following this one.

getSerialIndex

public long getSerialIndex()
Returns a serial index number for the minute.

Specified by:
getSerialIndex in class RegularTimePeriod
Returns:
The serial index number.

getFirstMillisecond

public long getFirstMillisecond(java.util.Calendar calendar)
Returns the first millisecond of the minute.

Specified by:
getFirstMillisecond in class RegularTimePeriod
Parameters:
calendar - the calendar/timezone.
Returns:
The first millisecond.

getLastMillisecond

public long getLastMillisecond(java.util.Calendar calendar)
Returns the last millisecond of the second.

Specified by:
getLastMillisecond in class RegularTimePeriod
Parameters:
calendar - the calendar/timezone.
Returns:
The last millisecond.

equals

public boolean equals(java.lang.Object obj)
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.

Parameters:
obj - the object to compare.
Returns:
true if second and minute of this and the object are the same.

hashCode

public int hashCode()
Returns a hash code for this object instance.

The approach described by Joshua Bloch in "Effective Java" has been used here:

http://developer.java.sun.com/developer/Books/effectivejava/Chapter3.pdf

Returns:
A hash code.

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.

Specified by:
compareTo in interface java.lang.Comparable
Parameters:
o1 - the object to compare.
Returns:
negative == before, zero == same, positive == after.

parseSecond

public static Second parseSecond(java.lang.String s)
Creates a new 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:
The second, or null if the string is not parseable.