org.jfree.data.jdbc

Class JDBCXYDataset

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.
Constructor Summary
JDBCXYDataset(String url, String driverName, String user, String password)
Creates a new dataset (initially empty) and establishes a new database connection.
JDBCXYDataset(Connection con)
Creates a new dataset (initially empty) using the specified database connection.
JDBCXYDataset(Connection con, String query)
Creates a new dataset using the specified database connection, and populates it using data obtained with the supplied query.
Method Summary
voidclose()
Close the database connection
voidexecuteQuery(String query)
ExecuteQuery will attempt execute the query passed to it against the existing database connection.
voidexecuteQuery(Connection con, String query)
ExecuteQuery will attempt execute the query passed to it against the provided database connection.
intgetItemCount(int seriesIndex)
Returns the number of items in the specified series.
intgetItemCount()
Returns the number of items in all series.
intgetLegendItemCount()
Returns the number of items that should be displayed in the legend.
String[]getLegendItemLabels()
Returns the legend item labels.
RangegetRangeBounds(boolean includeInterval)
Returns the range of the values in this dataset's range.
doublegetRangeLowerBound(boolean includeInterval)
Returns the minimum y-value in the dataset.
doublegetRangeUpperBound(boolean includeInterval)
Returns the maximum y-value in the dataset.
intgetSeriesCount()
Returns the number of series in the dataset.
ComparablegetSeriesKey(int seriesIndex)
Returns the key for the specified series.
NumbergetX(int seriesIndex, int itemIndex)
Returns the x-value for the specified series and item.
NumbergetY(int seriesIndex, int itemIndex)
Returns the y-value for the specified series and item.
booleanisTimeSeries()
Returns true if the dataset represents time series data, and false otherwise.
voidsetTimeSeries(boolean timeSeries)
Sets a flag that indicates whether or not the data represents a time series.

Constructor Detail

JDBCXYDataset

public JDBCXYDataset(String url, String driverName, String user, String password)
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: ClassNotFoundException if the driver cannot be found. SQLException if there is a problem connecting to the database.

JDBCXYDataset

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

Parameters: con the database connection.

Throws: SQLException if there is a problem connecting to the database.

JDBCXYDataset

public JDBCXYDataset(Connection con, String query)
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: SQLException if there is a problem executing the query.

Method Detail

close

public void close()
Close the database connection

executeQuery

public void executeQuery(String query)
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: SQLException if there is a problem executing the query.

executeQuery

public void executeQuery(Connection con, String query)
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: SQLException if there is a problem executing the query.

getItemCount

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

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.

Returns: The item count.

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

getRangeBounds

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

Parameters: includeInterval a flag that determines whether or not the y-interval is taken into account.

Returns: The range.

getRangeLowerBound

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

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.

Parameters: includeInterval a flag that determines whether or not the y-interval is taken into account.

Returns: The maximum value.

getSeriesCount

public int getSeriesCount()
Returns the number of series in the dataset.

Returns: The seriesCount value

See Also: XYDataset Dataset

getSeriesKey

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

Parameters: seriesIndex the series (zero-based index).

Returns: The seriesName value

See Also: XYDataset Dataset

getX

public 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.

Parameters: seriesIndex the series (zero-based index). itemIndex the item (zero-based index).

Returns: The x-value

See Also: XYDataset

getY

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

Parameters: seriesIndex the series (zero-based index). itemIndex the item (zero-based index).

Returns: The yValue value

See Also: XYDataset

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.