## org.jfree.data.time
Class Millisecond

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

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

    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 obj)` 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 obj)` Tests the equality of this object against an arbitrary Object.
`long` `getFirstMillisecond()` Returns the first millisecond of the second.
`long` `getFirstMillisecond(java.util.Calendar calendar)` Returns the first millisecond of the time period.
`long` `getLastMillisecond()` Returns the last millisecond of the second.
`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.
`void` `peg(java.util.Calendar calendar)` Recalculates the start date/time and end date/time for this time period relative to the supplied calendar (which incorporates a time zone).
`RegularTimePeriod` `previous()` Returns the millisecond preceding this one.

Methods inherited from class org.jfree.data.time.RegularTimePeriod
`createInstance, downsize, 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.

### getFirstMillisecond

    public long getFirstMillisecond()

  Returns the first millisecond of the second. This will be determined relative to the time zone specified in the constructor, or in the calendar instance passed in the most recent call to the `peg(Calendar)` method.

  Specified by:
    `getFirstMillisecond` in class `RegularTimePeriod`
  Returns:
    The first millisecond of the second.
  See Also:
    `getLastMillisecond()`

### getLastMillisecond

    public long getLastMillisecond()

  Returns the last millisecond of the second. This will be determined relative to the time zone specified in the constructor, or in the calendar instance passed in the most recent call to the `peg(Calendar)` method.

  Specified by:
    `getLastMillisecond` in class `RegularTimePeriod`
  Returns:
    The last millisecond of the second.
  See Also:
    `getFirstMillisecond()`

### peg

    public void peg(java.util.Calendar calendar)

  Recalculates the start date/time and end date/time for this time period relative to the supplied calendar (which incorporates a time zone).

  Specified by:
    `peg` in class `RegularTimePeriod`
  Parameters:
    `calendar` - the calendar (`null` not permitted).
  Since:
    1.0.3

### 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 obj)

  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.

  Overrides:
    `equals` in class `java.lang.Object`
  Parameters:
    `obj` - 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`

  Overrides:
    `hashCode` in class `java.lang.Object`
  Returns:
    A hashcode.

### compareTo

    public int compareTo(java.lang.Object obj)

  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:
    `obj` - the object to compare
  Returns:
    negative == before, zero == same, positive == after.

### 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 (`null` not permitted).
  Returns:
    The first millisecond of the time period.
  Throws:
    `java.lang.NullPointerException` - if `calendar` is `null`.
  See Also:
    `RegularTimePeriod.getLastMillisecond(Calendar)`

### 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 (`null` not permitted).
  Returns:
    The last millisecond of the time period.
  Throws:
    `java.lang.NullPointerException` - if `calendar` is `null`.
  See Also:
    `RegularTimePeriod.getFirstMillisecond(Calendar)`