Header
And More


org.jfree.data.jdbc
Class JDBCXYDataset

java.lang.Object
  extended by org.jfree.data.general.AbstractDataset
      extended by org.jfree.data.general.AbstractSeriesDataset
          extended by org.jfree.data.xy.AbstractXYDataset
              extended by org.jfree.data.jdbc.JDBCXYDataset
All Implemented Interfaces:
java.io.ObjectInputValidation, java.io.Serializable, java.lang.Cloneable, java.util.EventListener, Dataset, SeriesChangeListener, SeriesDataset, RangeInfo, TableXYDataset, XYDataset

public class JDBCXYDataset
extends AbstractXYDataset
implements XYDataset, TableXYDataset, RangeInfo

This class provides an XYDataset implementation over a database JDBC result set. The dataset is populated via a call to executeQuery with the string sql query. The sql query must return at least two columns. The first column will be the x-axis and remaining columns y-axis values. executeQuery can be called a number of times. The database connection is read-only and no write back facility exists.

See Also:
Serialized Form

Constructor Summary
JDBCXYDataset(java.sql.Connection con)
          Creates a new dataset (initially empty) using the specified database connection.
JDBCXYDataset(java.sql.Connection con, java.lang.String query)
          Creates a new dataset using the specified database connection, and populates it using data obtained with the supplied query.
JDBCXYDataset(java.lang.String url, java.lang.String driverName, java.lang.String user, java.lang.String password)
          Creates a new dataset (initially empty) and establishes a new database connection.
 
Method Summary
 void close()
          Close the database connection
 void executeQuery(java.sql.Connection con, java.lang.String query)
          ExecuteQuery will attempt execute the query passed to it against the provided database connection.
 void executeQuery(java.lang.String query)
          ExecuteQuery will attempt execute the query passed to it against the existing database connection.
 int getItemCount()
          Returns the number of items in all series.
 int getItemCount(int seriesIndex)
          Returns the number of items in the specified series.
 int getLegendItemCount()
          Deprecated. This method is not used in JFreeChart 1.0.x (it was left in the API by mistake and is officially deprecated from version 1.0.3 onwards).
 java.lang.String[] getLegendItemLabels()
          Deprecated. This method is not used in JFreeChart 1.0.x (it was left in the API by mistake and is officially deprecated from version 1.0.3 onwards).
 Range getRangeBounds(boolean includeInterval)
          Returns the range of the values in this dataset's range.
 double getRangeLowerBound(boolean includeInterval)
          Returns the minimum y-value in the dataset.
 double getRangeUpperBound(boolean includeInterval)
          Returns the maximum y-value in the dataset.
 int getSeriesCount()
          Returns the number of series in the dataset.
 java.lang.Comparable getSeriesKey(int seriesIndex)
          Returns the key for the specified series.
 java.lang.Number getX(int seriesIndex, int itemIndex)
          Returns the x-value for the specified series and item.
 java.lang.Number getY(int seriesIndex, int itemIndex)
          Returns the y-value for the specified series and item.
 boolean isTimeSeries()
          Returns true if the dataset represents time series data, and false otherwise.
 void setTimeSeries(boolean timeSeries)
          Sets a flag that indicates whether or not the data represents a time series.
 
Methods inherited from class org.jfree.data.xy.AbstractXYDataset
getDomainOrder, getXValue, getYValue
 
Methods inherited from class org.jfree.data.general.AbstractSeriesDataset
indexOf, seriesChanged
 
Methods inherited from class org.jfree.data.general.AbstractDataset
addChangeListener, clone, fireDatasetChanged, getGroup, hasListener, notifyListeners, removeChangeListener, setGroup, validateObject
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jfree.data.xy.XYDataset
getDomainOrder, getXValue, 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

JDBCXYDataset

public JDBCXYDataset(java.lang.String url,
                     java.lang.String driverName,
                     java.lang.String user,
                     java.lang.String password)
              throws java.sql.SQLException,
                     java.lang.ClassNotFoundException
Creates a new dataset (initially empty) and establishes a new database connection.

Parameters:
url - URL of the database connection.
driverName - the database driver class name.
user - the database user.
password - the database user's password.
Throws:
java.lang.ClassNotFoundException - if the driver cannot be found.
java.sql.SQLException - if there is a problem connecting to the database.

JDBCXYDataset

public JDBCXYDataset(java.sql.Connection con)
              throws java.sql.SQLException
Creates a new dataset (initially empty) using the specified database connection.

Parameters:
con - the database connection.
Throws:
java.sql.SQLException - if there is a problem connecting to the database.

JDBCXYDataset

public JDBCXYDataset(java.sql.Connection con,
                     java.lang.String query)
              throws java.sql.SQLException
Creates a new dataset using the specified database connection, and populates it using data obtained with the supplied query.

Parameters:
con - the connection.
query - the SQL query.
Throws:
java.sql.SQLException - if there is a problem executing the query.
Method Detail

isTimeSeries

public boolean isTimeSeries()
Returns true if the dataset represents time series data, and false otherwise.

Returns:
A boolean.

setTimeSeries

public void setTimeSeries(boolean timeSeries)
Sets a flag that indicates whether or not the data represents a time series.

Parameters:
timeSeries - the new value of the flag.

executeQuery

public void executeQuery(java.lang.String query)
                  throws java.sql.SQLException
ExecuteQuery will attempt execute the query passed to it against the existing database connection. If no connection exists then no action is taken. The results from the query are extracted and cached locally, thus applying an upper limit on how many rows can be retrieved successfully.

Parameters:
query - the query to be executed.
Throws:
java.sql.SQLException - if there is a problem executing the query.

executeQuery

public void executeQuery(java.sql.Connection con,
                         java.lang.String query)
                  throws java.sql.SQLException
ExecuteQuery will attempt execute the query passed to it against the provided database connection. If connection is null then no action is taken. The results from the query are extracted and cached locally, thus applying an upper limit on how many rows can be retrieved successfully.

Parameters:
query - the query to be executed.
con - the connection the query is to be executed against.
Throws:
java.sql.SQLException - if there is a problem executing the query.

getX

public java.lang.Number getX(int seriesIndex,
                             int itemIndex)
Returns the x-value for the specified series and item. The implementation is responsible for ensuring that the x-values are presented in ascending order.

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

getY

public java.lang.Number getY(int seriesIndex,
                             int itemIndex)
Returns the y-value for the specified series and item.

Specified by:
getY in interface XYDataset
Parameters:
seriesIndex - the series (zero-based index).
itemIndex - the item (zero-based index).
Returns:
The yValue value
See Also:
XYDataset

getItemCount

public int getItemCount(int seriesIndex)
Returns the number of items in the specified series.

Specified by:
getItemCount in interface XYDataset
Parameters:
seriesIndex - the series (zero-based index).
Returns:
The itemCount value
See Also:
XYDataset

getItemCount

public int getItemCount()
Returns the number of items in all series. This method is defined by the TableXYDataset interface.

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

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 seriesCount value
See Also:
XYDataset, Dataset

getSeriesKey

public java.lang.Comparable getSeriesKey(int seriesIndex)
Returns the key for the specified series.

Specified by:
getSeriesKey in interface SeriesDataset
Specified by:
getSeriesKey in class AbstractSeriesDataset
Parameters:
seriesIndex - the series (zero-based index).
Returns:
The seriesName value
See Also:
XYDataset, Dataset

getLegendItemCount

public int getLegendItemCount()
Deprecated. This method is not used in JFreeChart 1.0.x (it was left in the API by mistake and is officially deprecated from version 1.0.3 onwards).

Returns the number of items that should be displayed in the legend.

Returns:
The legendItemCount value

getLegendItemLabels

public java.lang.String[] getLegendItemLabels()
Deprecated. This method is not used in JFreeChart 1.0.x (it was left in the API by mistake and is officially deprecated from version 1.0.3 onwards).

Returns the legend item labels.

Returns:
The legend item labels.

close

public void close()
Close the database connection


getRangeLowerBound

public double getRangeLowerBound(boolean includeInterval)
Returns the minimum y-value in the dataset.

Specified by:
getRangeLowerBound in interface RangeInfo
Parameters:
includeInterval - a flag that determines whether or not the y-interval is taken into account.
Returns:
The minimum value.

getRangeUpperBound

public double getRangeUpperBound(boolean includeInterval)
Returns the maximum y-value in the dataset.

Specified by:
getRangeUpperBound in interface RangeInfo
Parameters:
includeInterval - a flag that determines whether or not the y-interval is taken into account.
Returns:
The maximum value.

getRangeBounds

public Range getRangeBounds(boolean includeInterval)
Returns the range of the values in this dataset's range.

Specified by:
getRangeBounds in interface RangeInfo
Parameters:
includeInterval - a flag that determines whether or not the y-interval is taken into account.
Returns:
The range.

Footer
And More


Copyright © 2000-2009 by Object Refinery Limited. All Rights Reserved.