org.geotools.axis
Class DateGraduation

java.lang.Object
  extended byorg.geotools.axis.AbstractGraduation
      extended byorg.geotools.axis.DateGraduation
All Implemented Interfaces:
Graduation, java.io.Serializable

public class DateGraduation
extends AbstractGraduation

A graduation using dates on a linear axis.

Since:
2.0
Version:
$Id: DateGraduation.java 17672 2006-01-19 00:25:55Z desruisseaux $
Author:
Martin Desruisseaux
See Also:
Serialized Form

Field Summary
static javax.units.Unit MILLISECOND
          The unit for millisecond.
 
Fields inherited from class org.geotools.axis.AbstractGraduation
listenerList
 
Fields inherited from interface org.geotools.axis.Graduation
AXIS_TITLE_FONT, TICK_LABEL_FONT, VISUAL_AXIS_LENGTH, VISUAL_TICK_SPACING
 
Constructor Summary
DateGraduation(java.util.TimeZone timezone)
          Construct a graduation with the supplied time zone.
DateGraduation(java.util.TimeZone timezone, javax.units.Unit unit)
          Construct a graduation with the supplied time zone and unit.
 
Method Summary
 boolean equals(java.lang.Object object)
          Compares this graduation with the specified object for equality.
 java.text.Format getFormat()
          Returns the format to use for formatting labels.
 double getMaximum()
          Returns the maximal value for this graduation.
 double getMinimum()
          Returns the minimal value for this graduation.
 double getRange()
          Returns the graduation's range.
 TickIterator getTickIterator(java.awt.RenderingHints hints, TickIterator reuse)
          Returns an iterator object that iterates along the graduation ticks and provides access to the graduation values.
 java.util.TimeZone getTimeZone()
          Returns the timezone for this graduation.
 int hashCode()
          Returns a hash value for this graduation.
 boolean setMaximum(java.util.Date time)
          Set the maximum value for this graduation.
 boolean setMaximum(double value)
          Set the maximum value as a real number.
 boolean setMinimum(java.util.Date time)
          Set the minimum value for this graduation.
 boolean setMinimum(double value)
          Set the minimum value as a real number.
 void setTimeZone(java.util.TimeZone timezone)
          Sets the time zone for this graduation.
 void setUnit(javax.units.Unit unit)
          Changes the graduation's units.
 
Methods inherited from class org.geotools.axis.AbstractGraduation
addPropertyChangeListener, getLocale, getTitle, getUnit, removePropertyChangeListener, setLocale, setTitle
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MILLISECOND

public static final javax.units.Unit MILLISECOND
The unit for millisecond.

Constructor Detail

DateGraduation

public DateGraduation(java.util.TimeZone timezone)
Construct a graduation with the supplied time zone. Unit default to milliseconds.

Parameters:
timezone - The timezone.

DateGraduation

public DateGraduation(java.util.TimeZone timezone,
                      javax.units.Unit unit)
               throws javax.units.ConversionException
Construct a graduation with the supplied time zone and unit.

Parameters:
timezone - The timezone.
unit - The unit. Must be compatible with milliseconds.
Throws:
javax.units.ConversionException - if the supplied unit is not a time unit.
Method Detail

setMinimum

public boolean setMinimum(java.util.Date time)
Set the minimum value for this graduation. If the new minimum is greater than the current maximum, then the maximum will also be set to a value greater than or equals to the minimum.

Parameters:
time - The new minimum.
Returns:
if the state of this graduation changed as a result of this call, or if the new value is identical to the previous one.
See Also:
setMaximum(Date)

setMaximum

public boolean setMaximum(java.util.Date time)
Set the maximum value for this graduation. If the new maximum is less than the current minimum, then the minimum will also be set to a value less than or equals to the maximum.

Parameters:
time - The new maximum.
Returns:
if the state of this graduation changed as a result of this call, or if the new value is identical to the previous one.
See Also:
setMinimum(Date)

setMinimum

public final boolean setMinimum(double value)
Set the minimum value as a real number. This method converts the value to milliseconds and invokes setMinimum(Date).

Specified by:
setMinimum in class AbstractGraduation
Parameters:
value - The new minimum in AbstractGraduation.getUnit() units.
Returns:
if the state of this graduation changed as a result of this call, or if the new value is identical to the previous one.
See Also:
Graduation.getMinimum(), AbstractGraduation.setMaximum(double)

setMaximum

public final boolean setMaximum(double value)
Set the maximum value as a real number. This method converts the value to milliseconds and invokes setMaximum(Date).

Specified by:
setMaximum in class AbstractGraduation
Parameters:
value - The new maximum in AbstractGraduation.getUnit() units.
Returns:
if the state of this graduation changed as a result of this call, or if the new value is identical to the previous one.
See Also:
Graduation.getMaximum(), AbstractGraduation.setMinimum(double)

getMinimum

public double getMinimum()
Returns the minimal value for this graduation. The value is in units of AbstractGraduation.getUnit(). By default, it is the number of millisecondes ellapsed since January 1st, 1970 at 00:00 UTC.

Returns:
The minimal value in Graduation.getUnit() units.
See Also:
setMinimum(double), getMaximum(), getRange()

getMaximum

public double getMaximum()
Returns the maximal value for this graduation. The value is in units of AbstractGraduation.getUnit(). By default, it is the number of millisecondes ellapsed since January 1st, 1970 at 00:00 UTC.

Returns:
The maximal value in Graduation.getUnit() units.
See Also:
setMaximum(double), getMinimum(), getRange()

getRange

public double getRange()
Returns the graduation's range. This is equivalents to computing getMaximum()-getMinimum(), but using integer arithmetic.


getTimeZone

public java.util.TimeZone getTimeZone()
Returns the timezone for this graduation.


setTimeZone

public void setTimeZone(java.util.TimeZone timezone)
Sets the time zone for this graduation. This affect only the way labels are displayed.


setUnit

public void setUnit(javax.units.Unit unit)
             throws javax.units.ConversionException
Changes the graduation's units. This method will automatically convert minimum and maximum values from the old units to the new one.

Overrides:
setUnit in class AbstractGraduation
Parameters:
unit - The new units, or if unknow. If null, minimum and maximum values are not converted.
Throws:
javax.units.ConversionException - if the specified unit is not a time unit.

getFormat

public java.text.Format getFormat()
Returns the format to use for formatting labels. The format really used by TickIterator.currentLabel() may not be the same. For example, some iterators may choose to show or hide hours, minutes and seconds.


getTickIterator

public TickIterator getTickIterator(java.awt.RenderingHints hints,
                                    TickIterator reuse)
Returns an iterator object that iterates along the graduation ticks and provides access to the graduation values. If an optional RenderingHints is specified, tick locations are adjusted according values for Graduation.VISUAL_AXIS_LENGTH and Graduation.VISUAL_TICK_SPACING keys.

Parameters:
hints - Rendering hints, or for the default hints.
reuse - An iterator to reuse if possible, or to create a new one. A non-null object may help to reduce the number of object garbage-collected when rendering the axis.
Returns:
A iterator to use for iterating through the graduation. This iterator may or may not be the object.

equals

public boolean equals(java.lang.Object object)
Compares this graduation with the specified object for equality. This method do not compare registered listeners.

Overrides:
equals in class AbstractGraduation

hashCode

public int hashCode()
Returns a hash value for this graduation.

Overrides:
hashCode in class AbstractGraduation


Copyright © GeoTools. All Rights Reserved.