org.jfree.chart.axis
Class DateTickUnit

java.lang.Object
  extended by org.jfree.chart.axis.TickUnit
      extended by org.jfree.chart.axis.DateTickUnit
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable

public class DateTickUnit
extends TickUnit
implements java.io.Serializable

A tick unit for use by subclasses of DateAxis. Instances of this class are immutable.

See Also:
Serialized Form

Field Summary
static int DAY
          A constant for days.
static int HOUR
          A constant for hours.
static int MILLISECOND
          A constant for milliseconds.
static int MINUTE
          A constant for minutes.
static int MONTH
          A constant for months.
static int SECOND
          A constant for seconds.
static int YEAR
          A constant for years.
 
Constructor Summary
DateTickUnit(int unit, int count)
          Creates a new date tick unit.
DateTickUnit(int unit, int count, java.text.DateFormat formatter)
          Creates a new date tick unit.
DateTickUnit(int unit, int count, int rollUnit, int rollCount, java.text.DateFormat formatter)
          Creates a new unit.
 
Method Summary
 java.util.Date addToDate(java.util.Date base)
          Deprecated. As of JFreeChart 1.0.10, this method is deprecated - you should use addToDate(Date, TimeZone) instead.
 java.util.Date addToDate(java.util.Date base, java.util.TimeZone zone)
          Calculates a new date by adding this unit to the base date.
 java.lang.String dateToString(java.util.Date date)
          Formats a date using the tick unit's formatter.
 boolean equals(java.lang.Object obj)
          Tests this unit for equality with another object.
 int getCalendarField()
          Returns a field code that can be used with the Calendar class.
 int getCount()
          Returns the unit count.
 int getRollCount()
          Returns the roll count.
 int getRollUnit()
          Returns the roll unit.
 int getUnit()
          Returns the date unit.
 int hashCode()
          Returns a hash code for this object.
 java.util.Date rollDate(java.util.Date base)
          Rolls the date forward by the amount specified by the roll unit and count.
 java.util.Date rollDate(java.util.Date base, java.util.TimeZone zone)
          Rolls the date forward by the amount specified by the roll unit and count.
 java.lang.String toString()
          Returns a string representation of this instance, primarily used for debugging purposes.
 java.lang.String valueToString(double milliseconds)
          Formats a value.
 
Methods inherited from class org.jfree.chart.axis.TickUnit
compareTo, getMinorTickCount, getSize
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

YEAR

public static final int YEAR
A constant for years.

See Also:
Constant Field Values

MONTH

public static final int MONTH
A constant for months.

See Also:
Constant Field Values

DAY

public static final int DAY
A constant for days.

See Also:
Constant Field Values

HOUR

public static final int HOUR
A constant for hours.

See Also:
Constant Field Values

MINUTE

public static final int MINUTE
A constant for minutes.

See Also:
Constant Field Values

SECOND

public static final int SECOND
A constant for seconds.

See Also:
Constant Field Values

MILLISECOND

public static final int MILLISECOND
A constant for milliseconds.

See Also:
Constant Field Values
Constructor Detail

DateTickUnit

public DateTickUnit(int unit,
                    int count)
Creates a new date tick unit. The dates will be formatted using a SHORT format for the default locale.

Parameters:
unit - the unit.
count - the unit count.

DateTickUnit

public DateTickUnit(int unit,
                    int count,
                    java.text.DateFormat formatter)
Creates a new date tick unit. You can specify the units using one of the constants YEAR, MONTH, DAY, HOUR, MINUTE, SECOND or MILLISECOND. In addition, you can specify a unit count, and a date format.

Parameters:
unit - the unit.
count - the unit count.
formatter - the date formatter (defaults to DateFormat.SHORT).

DateTickUnit

public DateTickUnit(int unit,
                    int count,
                    int rollUnit,
                    int rollCount,
                    java.text.DateFormat formatter)
Creates a new unit.

Parameters:
unit - the unit.
count - the count.
rollUnit - the roll unit.
rollCount - the roll count.
formatter - the date formatter (defaults to DateFormat.SHORT).
Method Detail

getUnit

public int getUnit()
Returns the date unit. This will be one of the constants YEAR, MONTH, DAY, HOUR, MINUTE, SECOND or MILLISECOND, defined by this class. Note that these constants do NOT correspond to those defined in Java's Calendar class.

Returns:
The date unit.

getCount

public int getCount()
Returns the unit count.

Returns:
The unit count.

getRollUnit

public int getRollUnit()
Returns the roll unit. This is the amount by which the tick advances if it is "hidden" when displayed on a segmented date axis. Typically the roll will be smaller than the regular tick unit (for example, a 7 day tick unit might use a 1 day roll).

Returns:
The roll unit.

getRollCount

public int getRollCount()
Returns the roll count.

Returns:
The roll count.

valueToString

public java.lang.String valueToString(double milliseconds)
Formats a value.

Overrides:
valueToString in class TickUnit
Parameters:
milliseconds - date in milliseconds since 01-01-1970.
Returns:
The formatted date.

dateToString

public java.lang.String dateToString(java.util.Date date)
Formats a date using the tick unit's formatter.

Parameters:
date - the date.
Returns:
The formatted date.

addToDate

public java.util.Date addToDate(java.util.Date base)
Deprecated. As of JFreeChart 1.0.10, this method is deprecated - you should use addToDate(Date, TimeZone) instead.

Calculates a new date by adding this unit to the base date, with calculations performed in the default timezone and locale.

Parameters:
base - the base date.
Returns:
A new date one unit after the base date.
See Also:
addToDate(Date, TimeZone)

addToDate

public java.util.Date addToDate(java.util.Date base,
                                java.util.TimeZone zone)
Calculates a new date by adding this unit to the base date.

Parameters:
base - the base date.
zone - the time zone for the date calculation.
Returns:
A new date one unit after the base date.
Since:
1.0.6

rollDate

public java.util.Date rollDate(java.util.Date base)
Rolls the date forward by the amount specified by the roll unit and count.

Parameters:
base - the base date.
Returns:
The rolled date.
See Also:
rollDate(Date, TimeZone)

rollDate

public java.util.Date rollDate(java.util.Date base,
                               java.util.TimeZone zone)
Rolls the date forward by the amount specified by the roll unit and count.

Parameters:
base - the base date.
zone - the time zone.
Returns:
The rolled date.
Since:
1.0.6

getCalendarField

public int getCalendarField()
Returns a field code that can be used with the Calendar class.

Returns:
The field code.

equals

public boolean equals(java.lang.Object obj)
Tests this unit for equality with another object.

Overrides:
equals in class TickUnit
Parameters:
obj - the object (null permitted).
Returns:
true or false.

hashCode

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

Overrides:
hashCode in class TickUnit
Returns:
A hash code.

toString

public java.lang.String toString()
Returns a string representation of this instance, primarily used for debugging purposes.

Overrides:
toString in class java.lang.Object
Returns:
A string representation of this instance.