## org.jfree.data.time
Class TimeTableXYDataset

    java.lang.Object
      org.jfree.data.general.AbstractDataset
          org.jfree.data.general.AbstractSeriesDataset
              org.jfree.data.xy.AbstractXYDataset
                  org.jfree.data.xy.AbstractIntervalXYDataset
                      org.jfree.data.time.TimeTableXYDataset

All Implemented Interfaces:
  java.io.ObjectInputValidation, java.io.Serializable, java.lang.Cloneable, java.util.EventListener, DomainInfo, Dataset, SeriesChangeListener, SeriesDataset, IntervalXYDataset, TableXYDataset, XYDataset, org.jfree.util.PublicCloneable

    public class TimeTableXYDataset

extends AbstractIntervalXYDataset
implements java.lang.Cloneable, org.jfree.util.PublicCloneable, IntervalXYDataset, DomainInfo, TableXYDataset

A dataset for regular time periods that implements the `TableXYDataset` interface. Note that the `TableXYDataset` interface requires all series to share the same set of x-values. When adding a new item `(x, y)` to one series, all other series automatically get a new item `(x, null)` unless a non-null item has already been specified.

See Also:
  `TableXYDataset`, Serialized Form

Constructor Summary
`TimeTableXYDataset()` Creates a new dataset.
`TimeTableXYDataset(java.util.TimeZone zone)` Creates a new dataset with the given time zone.
`TimeTableXYDataset(java.util.TimeZone zone, java.util.Locale locale)` Creates a new dataset with the given time zone and locale.

Method Summary
`void` `add(TimePeriod period, double y, java.lang.String seriesName)` Adds a new data item to the dataset and sends a `DatasetChangeEvent` to all registered listeners.
`void` `add(TimePeriod period, java.lang.Number y, java.lang.String seriesName, boolean notify)` Adds a new data item to the dataset and, if requested, sends a `DatasetChangeEvent` to all registered listeners.
`void` `clear()` Removes all data items from the dataset and sends a `DatasetChangeEvent` to all registered listeners.
`java.lang.Object` `clone()` Returns a clone of this dataset.
`boolean` `equals(java.lang.Object obj)` Tests this dataset for equality with an arbitrary object.
`Range` `getDomainBounds(boolean includeInterval)` Returns the range of the values in this dataset's domain.
`boolean` `getDomainIsPointsInTime()` Returns a flag that controls whether the domain is treated as 'points in time'.
`double` `getDomainLowerBound(boolean includeInterval)` Returns the minimum x-value in the dataset.
`double` `getDomainUpperBound(boolean includeInterval)` Returns the maximum x-value in the dataset.
`java.lang.Number` `getEndX(int series, int item)` Returns the ending X value for the specified series and item.
`double` `getEndXValue(int series, int item)` Returns the end x-value (as a double primitive) for an item within a series.
`java.lang.Number` `getEndY(int series, int item)` Returns the ending Y value for the specified series and item.
`int` `getItemCount()` Returns the number of items in ALL series.
`int` `getItemCount(int series)` Returns the number of items in a series.
`int` `getSeriesCount()` Returns the number of series in the dataset.
`java.lang.Comparable` `getSeriesKey(int series)` Returns the key for a series.
`java.lang.Number` `getStartX(int series, int item)` Returns the starting X value for the specified series and item.
`double` `getStartXValue(int series, int item)` Returns the start x-value (as a double primitive) for an item within a series.
`java.lang.Number` `getStartY(int series, int item)` Returns the starting Y value for the specified series and item.
`TimePeriod` `getTimePeriod(int item)` Returns the time period for the specified item.
`java.lang.Number` `getX(int series, int item)` Returns the x-value for an item within a series.
`TimePeriodAnchor` `getXPosition()` Returns the position within each time period that is used for the X value.
`double` `getXValue(int series, int item)` Returns the x-value (as a double primitive) for an item within a series.
`java.lang.Number` `getY(int series, int item)` Returns the y-value for an item within a series.
`void` `remove(TimePeriod period, java.lang.String seriesName)` Removes an existing data item from the dataset.
`void` `remove(TimePeriod period, java.lang.String seriesName, boolean notify)` Removes an existing data item from the dataset and, if requested, sends a `DatasetChangeEvent` to all registered listeners.
`void` `setDomainIsPointsInTime(boolean flag)` Sets a flag that controls whether the domain is treated as 'points in time', or time periods.
`void` `setXPosition(TimePeriodAnchor anchor)` Sets the position within each time period that is used for the X values, then sends a `DatasetChangeEvent` to all registered listeners.

Methods inherited from class org.jfree.data.xy.AbstractIntervalXYDataset
`getEndYValue, getStartYValue`

Methods inherited from class org.jfree.data.xy.AbstractXYDataset
`getDomainOrder, getYValue`

Methods inherited from class org.jfree.data.general.AbstractSeriesDataset
`indexOf, seriesChanged`

Methods inherited from class org.jfree.data.general.AbstractDataset
`addChangeListener, fireDatasetChanged, getGroup, hasListener, notifyListeners, removeChangeListener, setGroup, validateObject`

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

Methods inherited from interface org.jfree.data.xy.IntervalXYDataset
`getEndYValue, getStartYValue`

Methods inherited from interface org.jfree.data.xy.XYDataset
`getDomainOrder, getYValue`

Methods inherited from interface org.jfree.data.general.SeriesDataset
`indexOf`

Methods inherited from interface org.jfree.data.general.Dataset
`addChangeListener, getGroup, removeChangeListener, setGroup`

Constructor Detail

### TimeTableXYDataset

    public TimeTableXYDataset()

  Creates a new dataset.

### TimeTableXYDataset

    public TimeTableXYDataset(java.util.TimeZone zone)

  Creates a new dataset with the given time zone.

  Parameters:
    `zone` - the time zone to use (`null` not permitted).

### TimeTableXYDataset

    public TimeTableXYDataset(java.util.TimeZone zone,
                              java.util.Locale locale)

  Creates a new dataset with the given time zone and locale.

  Parameters:
    `zone` - the time zone to use (`null` not permitted).
    `locale` - the locale to use (`null` not permitted).

Method Detail

### getDomainIsPointsInTime

    public boolean getDomainIsPointsInTime()

  Returns a flag that controls whether the domain is treated as 'points in time'.

  This flag is used when determining the max and min values for the domain. If true, then only the x-values are considered for the max and min values. If false, then the start and end x-values will also be taken into consideration.

  Returns:
    The flag.
  See Also:
    `setDomainIsPointsInTime(boolean)`

### setDomainIsPointsInTime

    public void setDomainIsPointsInTime(boolean flag)

  Sets a flag that controls whether the domain is treated as 'points in time', or time periods. A `DatasetChangeEvent` is sent to all registered listeners.

  Parameters:
    `flag` - the new value of the flag.
  See Also:
    `getDomainIsPointsInTime()`

### getXPosition

    public TimePeriodAnchor getXPosition()

  Returns the position within each time period that is used for the X value.

  Returns:
    The anchor position (never `null`).
  See Also:
    `setXPosition(TimePeriodAnchor)`

### setXPosition

    public void setXPosition(TimePeriodAnchor anchor)

  Sets the position within each time period that is used for the X values, then sends a `DatasetChangeEvent` to all registered listeners.

  Parameters:
    `anchor` - the anchor position (`null` not permitted).
  See Also:
    `getXPosition()`

### add

    public void add(TimePeriod period,
                    double y,
                    java.lang.String seriesName)

  Adds a new data item to the dataset and sends a `DatasetChangeEvent` to all registered listeners.

  Parameters:
    `period` - the time period.
    `y` - the value for this period.
    `seriesName` - the name of the series to add the value.
  See Also:
    `remove(TimePeriod, String)`

### add

    public void add(TimePeriod period,
                    java.lang.Number y,
                    java.lang.String seriesName,
                    boolean notify)

  Adds a new data item to the dataset and, if requested, sends a `DatasetChangeEvent` to all registered listeners.

  Parameters:
    `period` - the time period (`null` not permitted).
    `y` - the value for this period (`null` permitted).
    `seriesName` - the name of the series to add the value (`null` not permitted).
    `notify` - whether dataset listener are notified or not.
  See Also:
    `remove(TimePeriod, String, boolean)`

### remove

    public void remove(TimePeriod period,
                       java.lang.String seriesName)

  Removes an existing data item from the dataset.

  Parameters:
    `period` - the (existing!) time period of the value to remove (`null` not permitted).
    `seriesName` - the (existing!) series name to remove the value (`null` not permitted).
  See Also:
    `add(TimePeriod, double, String)`

### remove

    public void remove(TimePeriod period,
                       java.lang.String seriesName,
                       boolean notify)

  Removes an existing data item from the dataset and, if requested, sends a `DatasetChangeEvent` to all registered listeners.

  Parameters:
    `period` - the (existing!) time period of the value to remove (`null` not permitted).
    `seriesName` - the (existing!) series name to remove the value (`null` not permitted).
    `notify` - whether dataset listener are notified or not.
  See Also:
    `add(TimePeriod, double, String)`

### clear

    public void clear()

  Removes all data items from the dataset and sends a `DatasetChangeEvent` to all registered listeners.

  Since:
    1.0.7

### getTimePeriod

    public TimePeriod getTimePeriod(int item)

  Returns the time period for the specified item. Bear in mind that all series share the same set of time periods.

  Parameters:
    `item` - the item index (0 <= i <= `getItemCount()`).
  Returns:
    The time period.

### getItemCount

    public int getItemCount()

  Returns the number of items in ALL series.

  Specified by:
    `getItemCount` in interface `TableXYDataset`
  Returns:
    The item count.

### getItemCount

    public int getItemCount(int series)

  Returns the number of items in a series. This is the same value that is returned by `getItemCount()` since all series share the same x-values (time periods).

  Specified by:
    `getItemCount` in interface `XYDataset`
  Parameters:
    `series` - the series (zero-based index, ignored).
  Returns:
    The number of items within the series.

### getSeriesCount

    public int getSeriesCount()

  Returns the number of series in the dataset.

  Specified by:
    `getSeriesCount` in interface `SeriesDataset`
  Specified by:
    `getSeriesCount` in class `AbstractSeriesDataset`
  Returns:
    The series count.

### getSeriesKey

    public java.lang.Comparable getSeriesKey(int series)

  Returns the key for a series.

  Specified by:
    `getSeriesKey` in interface `SeriesDataset`
  Specified by:
    `getSeriesKey` in class `AbstractSeriesDataset`
  Parameters:
    `series` - the series (zero-based index).
  Returns:
    The key for the series.

### getX

    public java.lang.Number getX(int series,
                                 int item)

  Returns the x-value for an item within a series. The x-values may or may not be returned in ascending order, that is up to the class implementing the interface.

  Specified by:
    `getX` in interface `XYDataset`
  Parameters:
    `series` - the series (zero-based index).
    `item` - the item (zero-based index).
  Returns:
    The x-value.

### getXValue

    public double getXValue(int series,
                            int item)

  Returns the x-value (as a double primitive) for an item within a series.

  Specified by:
    `getXValue` in interface `XYDataset`
  Overrides:
    `getXValue` in class `AbstractXYDataset`
  Parameters:
    `series` - the series index (zero-based).
    `item` - the item index (zero-based).
  Returns:
    The value.

### getStartX

    public java.lang.Number getStartX(int series,
                                      int item)

  Returns the starting X value for the specified series and item.

  Specified by:
    `getStartX` in interface `IntervalXYDataset`
  Parameters:
    `series` - the series (zero-based index).
    `item` - the item within a series (zero-based index).
  Returns:
    The starting X value for the specified series and item.
  See Also:
    `getStartXValue(int, int)`

### getStartXValue

    public double getStartXValue(int series,
                                 int item)

  Returns the start x-value (as a double primitive) for an item within a series.

  Specified by:
    `getStartXValue` in interface `IntervalXYDataset`
  Overrides:
    `getStartXValue` in class `AbstractIntervalXYDataset`
  Parameters:
    `series` - the series index (zero-based).
    `item` - the item index (zero-based).
  Returns:
    The value.

### getEndX

    public java.lang.Number getEndX(int series,
                                    int item)

  Returns the ending X value for the specified series and item.

  Specified by:
    `getEndX` in interface `IntervalXYDataset`
  Parameters:
    `series` - the series (zero-based index).
    `item` - the item within a series (zero-based index).
  Returns:
    The ending X value for the specified series and item.
  See Also:
    `getEndXValue(int, int)`

### getEndXValue

    public double getEndXValue(int series,
                               int item)

  Returns the end x-value (as a double primitive) for an item within a series.

  Specified by:
    `getEndXValue` in interface `IntervalXYDataset`
  Overrides:
    `getEndXValue` in class `AbstractIntervalXYDataset`
  Parameters:
    `series` - the series index (zero-based).
    `item` - the item index (zero-based).
  Returns:
    The value.

### getY

    public java.lang.Number getY(int series,
                                 int item)

  Returns the y-value for an item within a series.

  Specified by:
    `getY` in interface `XYDataset`
  Parameters:
    `series` - the series (zero-based index).
    `item` - the item (zero-based index).
  Returns:
    The y-value (possibly `null`).

### getStartY

    public java.lang.Number getStartY(int series,
                                      int item)

  Returns the starting Y value for the specified series and item.

  Specified by:
    `getStartY` in interface `IntervalXYDataset`
  Parameters:
    `series` - the series (zero-based index).
    `item` - the item within a series (zero-based index).
  Returns:
    The starting Y value for the specified series and item.

### getEndY

    public java.lang.Number getEndY(int series,
                                    int item)

  Returns the ending Y value for the specified series and item.

  Specified by:
    `getEndY` in interface `IntervalXYDataset`
  Parameters:
    `series` - the series (zero-based index).
    `item` - the item within a series (zero-based index).
  Returns:
    The ending Y value for the specified series and item.

### getDomainLowerBound

    public double getDomainLowerBound(boolean includeInterval)

  Returns the minimum x-value in the dataset.

  Specified by:
    `getDomainLowerBound` in interface `DomainInfo`
  Parameters:
    `includeInterval` - a flag that determines whether or not the x-interval is taken into account.
  Returns:
    The minimum value.

### getDomainUpperBound

    public double getDomainUpperBound(boolean includeInterval)

  Returns the maximum x-value in the dataset.

  Specified by:
    `getDomainUpperBound` in interface `DomainInfo`
  Parameters:
    `includeInterval` - a flag that determines whether or not the x-interval is taken into account.
  Returns:
    The maximum value.

### getDomainBounds

    public Range getDomainBounds(boolean includeInterval)

  Returns the range of the values in this dataset's domain.

  Specified by:
    `getDomainBounds` in interface `DomainInfo`
  Parameters:
    `includeInterval` - a flag that controls whether or not the x-intervals are taken into account.
  Returns:
    The range.

### equals

    public boolean equals(java.lang.Object obj)

  Tests this dataset for equality with an arbitrary object.

  Overrides:
    `equals` in class `java.lang.Object`
  Parameters:
    `obj` - the object (`null` permitted).
  Returns:
    A boolean.

### clone

    public java.lang.Object clone()
                           throws java.lang.CloneNotSupportedException

  Returns a clone of this dataset.

  Specified by:
    `clone` in interface `org.jfree.util.PublicCloneable`
  Overrides:
    `clone` in class `AbstractDataset`
  Returns:
    A clone.
  Throws:
    `java.lang.CloneNotSupportedException` - if the dataset cannot be cloned.