## org.jfree.data.time
Class Millisecond

    java.lang.Object
      org.jfree.data.time.RegularTimePeriod
          org.jfree.data.time.Millisecond

All Implemented Interfaces:
  java.lang.Comparable, org.jfree.date.MonthConstants, java.io.Serializable, TimePeriod

public class Millisecond
extends RegularTimePeriod
implements java.io.Serializable

Represents a millisecond.

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

See Also:
  Serialized Form

Field Summary
`static int` `FIRST_MILLISECOND_IN_SECOND` A constant for the first millisecond in a second.
`static int` `LAST_MILLISECOND_IN_SECOND` A constant for the last millisecond in a second.

Fields inherited from class org.jfree.data.time.RegularTimePeriod
`DEFAULT_TIME_ZONE, WORKING_CALENDAR`

Fields inherited from interface org.jfree.date.MonthConstants
`APRIL, AUGUST, DECEMBER, FEBRUARY, JANUARY, JULY, JUNE, MARCH, MAY, NOVEMBER, OCTOBER, SEPTEMBER`

Constructor Summary
`Millisecond()` Constructs a millisecond based on the current system time.
`Millisecond(java.util.Date time)` Constructs a millisecond.
`Millisecond(java.util.Date time, java.util.TimeZone zone)` Creates a millisecond.
`Millisecond(int millisecond, int second, int minute, int hour, int day, int month, int year)` Creates a new millisecond.
`Millisecond(int millisecond, Second second)` Constructs a millisecond.

Method Summary
`int` `compareTo(java.lang.Object o1)` Returns an integer indicating the order of this Millisecond 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` `getFirstMillisecond()` Returns the first millisecond of the time period.
`long` `getFirstMillisecond(java.util.Calendar calendar)` Returns the first millisecond of the time period.
`long` `getLastMillisecond()` Returns the last millisecond of the time period.
`long` `getLastMillisecond(java.util.Calendar calendar)` Returns the last millisecond of the time period.
`long` `getMillisecond()` Returns the millisecond.
`Second` `getSecond()` Returns the second.
`long` `getSerialIndex()` Returns a serial index number for the millisecond.
`int` `hashCode()` Returns a hash code for this object instance.
`RegularTimePeriod` `next()` Returns the millisecond following this one.
`RegularTimePeriod` `previous()` Returns the millisecond preceding this one.

Methods inherited from class org.jfree.data.time.RegularTimePeriod
`getEnd, getFirstMillisecond, getLastMillisecond, getMiddleMillisecond, getMiddleMillisecond, getMiddleMillisecond, getStart, toString`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### FIRST_MILLISECOND_IN_SECOND

    public static final int FIRST_MILLISECOND_IN_SECOND

  A constant for the first millisecond in a second.

  See Also:
    Constant Field Values

### LAST_MILLISECOND_IN_SECOND

    public static final int LAST_MILLISECOND_IN_SECOND

  A constant for the last millisecond in a second.

  See Also:
    Constant Field Values

Constructor Detail

### Millisecond

    public Millisecond()

  Constructs a millisecond based on the current system time.

### Millisecond

    public Millisecond(int millisecond,
                       Second second)

  Constructs a millisecond.

Parameters:
  `millisecond` - the millisecond (0-999).
  `second` - the second.

### Millisecond

    public Millisecond(int millisecond,
                       int second,
                       int minute,
                       int hour,
                       int day,
                       int month,
                       int year)

  Creates a new millisecond.

Parameters:
  `millisecond` - the millisecond (0-999).
  `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).

### Millisecond

    public Millisecond(java.util.Date time)

  Constructs a millisecond.

Parameters:
  `time` - the time.

### Millisecond

    public Millisecond(java.util.Date time,
                       java.util.TimeZone zone)

  Creates a millisecond.

Parameters:
  `time` - the instant in time.
  `zone` - the time zone.

Method Detail

### getSecond

    public Second getSecond()

  Returns the second.

  Returns:
    The second.

### getMillisecond

    public long getMillisecond()

  Returns the millisecond.

  Returns:
    the millisecond.

### previous

    public RegularTimePeriod previous()

  Returns the millisecond preceding this one.

  Specified by:
    `previous` in class `RegularTimePeriod`
  Returns:
    the millisecond preceding this one.

### next

    public RegularTimePeriod next()

  Returns the millisecond following this one.

  Specified by:
    `next` in class `RegularTimePeriod`
  Returns:
    the millisecond following this one.

### getSerialIndex

    public long getSerialIndex()

  Returns a serial index number for the millisecond.

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

### 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 Millisecond object representing the same millisecond as this instance.

  Parameters:
    `object` - the object to compare
  Returns:
    `true` if milliseconds and seconds of this and 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 hashcode.

### compareTo

    public int compareTo(java.lang.Object o1)

  Returns an integer indicating the order of this Millisecond 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.

### getFirstMillisecond

    public long getFirstMillisecond()

  Returns the first millisecond of the time period.

  Overrides:
    `getFirstMillisecond` in class `RegularTimePeriod`
  Returns:
    the first millisecond of the time period.

### getFirstMillisecond

    public long getFirstMillisecond(java.util.Calendar calendar)

  Returns the first millisecond of the time period.

  Specified by:
    `getFirstMillisecond` in class `RegularTimePeriod`
  Parameters:
    `calendar` - the calendar.
  Returns:
    the first millisecond of the time period.

### getLastMillisecond

    public long getLastMillisecond()

  Returns the last millisecond of the time period.

  Overrides:
    `getLastMillisecond` in class `RegularTimePeriod`
  Returns:
    the last millisecond of the time period.

### getLastMillisecond

    public long getLastMillisecond(java.util.Calendar calendar)

  Returns the last millisecond of the time period.

  Specified by:
    `getLastMillisecond` in class `RegularTimePeriod`
  Parameters:
    `calendar` - the calendar.
  Returns:
    the last millisecond of the time period.