Class DefaultWindDataset

All Implemented Interfaces:
ObjectInputValidation, Serializable, Cloneable, EventListener, PublicCloneable, Dataset, SeriesChangeListener, SeriesDataset, WindDataset, XYDataset

public class DefaultWindDataset
extends AbstractXYDataset
implements WindDataset, PublicCloneable
A default implementation of the WindDataset interface.
See Also:
Serialized Form
  • Constructor Details

    • DefaultWindDataset

      Constructs a new, empty, dataset. Since there are currently no methods to add data to an existing dataset, you should probably use a different constructor.
    • DefaultWindDataset

      public DefaultWindDataset​(Object[][][] data)
      Constructs a dataset based on the specified data array.
      Parameters:
      data - the data (null not permitted).
      Throws:
      NullPointerException - if data is null.
    • DefaultWindDataset

      public DefaultWindDataset​(String[] seriesNames, Object[][][] data)
      Constructs a dataset based on the specified data array.
      Parameters:
      seriesNames - the names of the series (null not permitted).
      data - the wind data.
      Throws:
      NullPointerException - if seriesNames is null.
    • DefaultWindDataset

      public DefaultWindDataset​(List seriesKeys, Object[][][] data)
      Constructs a dataset based on the specified data array. The array can contain multiple series, each series can contain multiple items, and each item is as follows:
      • data[series][item][0] - the date (either a Date or a Number that is the milliseconds since 1-Jan-1970);
      • data[series][item][1] - the wind direction (1 - 12, like the numbers on a clock face);
      • data[series][item][2] - the wind force (1 - 12 on the Beaufort scale)
      Parameters:
      seriesKeys - the names of the series (null not permitted).
      data - the wind dataset (null not permitted).
      Throws:
      IllegalArgumentException - if seriesKeys is null.
      IllegalArgumentException - if the number of series keys does not match the number of series in the array.
      NullPointerException - if data is null.
  • Method Details

    • 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.
    • getItemCount

      public int getItemCount​(int series)
      Returns the number of items in a series.
      Specified by:
      getItemCount in interface XYDataset
      Parameters:
      series - the series (zero-based index).
      Returns:
      The item count.
    • getSeriesKey

      public 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 series key.
    • getX

      public Number getX​(int series, int item)
      Returns the x-value for one item within a series. This should represent a point in time, encoded as milliseconds in the same way as java.util.Date.
      Specified by:
      getX in interface XYDataset
      Parameters:
      series - the series (zero-based index).
      item - the item (zero-based index).
      Returns:
      The x-value for the item within the series.
    • getY

      public Number getY​(int series, int item)
      Returns the y-value for one item within a series. This maps to the getWindForce(int, int) method and is implemented because WindDataset is an extension of XYDataset.
      Specified by:
      getY in interface XYDataset
      Parameters:
      series - the series (zero-based index).
      item - the item (zero-based index).
      Returns:
      The y-value for the item within the series.
    • getWindDirection

      public Number getWindDirection​(int series, int item)
      Returns the wind direction for one item within a series. This is a number between 0 and 12, like the numbers on an upside-down clock face.
      Specified by:
      getWindDirection in interface WindDataset
      Parameters:
      series - the series (zero-based index).
      item - the item (zero-based index).
      Returns:
      The wind direction for the item within the series.
    • getWindForce

      public Number getWindForce​(int series, int item)
      Returns the wind force for one item within a series. This is a number between 0 and 12, as defined by the Beaufort scale.
      Specified by:
      getWindForce in interface WindDataset
      Parameters:
      series - the series (zero-based index).
      item - the item (zero-based index).
      Returns:
      The wind force for the item within the series.
    • seriesNameListFromDataArray

      public static List seriesNameListFromDataArray​(Object[][] data)
      Utility method for automatically generating series names.
      Parameters:
      data - the wind data (null not permitted).
      Returns:
      An array of Series N with N = { 1 .. data.length }.
      Throws:
      NullPointerException - if data is null.
    • equals

      public boolean equals​(Object obj)
      Checks this WindDataset for equality with an arbitrary object. This method returns true if and only if:
      • obj is not null;
      • obj is an instance of DefaultWindDataset;
      • both datasets have the same number of series containing identical values.
      Overrides:
      equals in class Object
      Parameters:
      obj - the object (null permitted).
      Returns:
      A boolean.