org.jfree.data.jdbc

Class JDBCCategoryDataset

Implemented Interfaces:
CategoryDataset, Cloneable, Dataset, KeyedValues2D, ObjectInputValidation, Serializable, Values2D

public class JDBCCategoryDataset
extends DefaultCategoryDataset

A CategoryDataset implementation over a database JDBC result set. The dataset is populated via a call to executeQuery(String) with the string SQL query. The SQL query must return at least two columns. The first column will be the category name and remaining columns values (each column represents a series). Subsequent calls to executeQuery(String) will refresh the dataset.

The database connection is read-only and no write back facility exists.

NOTE: Many people have found this class too restrictive in general use. For the greatest flexibility, please consider writing your own code to read data from a ResultSet and populate a DefaultCategoryDataset directly.

Constructor Summary

JDBCCategoryDataset(Connection connection)
Create a new dataset with the given database connection.
JDBCCategoryDataset(Connection connection, String query)
Creates a new dataset with the given database connection, and executes the supplied query to populate the dataset.
JDBCCategoryDataset(String url, String driverName, String user, String passwd)
Creates a new dataset with a database connection.

Method Summary

void
executeQuery(Connection con, String query)
Populates the dataset by executing the supplied query against the existing database connection.
void
executeQuery(String query)
Populates the dataset by executing the supplied query against the existing database connection.
boolean
getTranspose()
Returns a flag that controls whether or not the table values are transposed when added to the dataset.
void
setTranspose(boolean transpose)
Sets a flag that controls whether or not the table values are transposed when added to the dataset.

Methods inherited from class org.jfree.data.category.DefaultCategoryDataset

addValue, addValue, clear, clone, equals, getColumnCount, getColumnIndex, getColumnKey, getColumnKeys, getRowCount, getRowIndex, getRowKey, getRowKeys, getValue, getValue, hashCode, incrementValue, removeColumn, removeColumn, removeRow, removeRow, removeValue, setValue, setValue

Methods inherited from class org.jfree.data.general.AbstractDataset

addChangeListener, clone, fireDatasetChanged, getGroup, hasListener, notifyListeners, removeChangeListener, setGroup, validateObject

Constructor Details

JDBCCategoryDataset

public JDBCCategoryDataset(Connection connection)
Create a new dataset with the given database connection.
Parameters:
connection - the database connection.

JDBCCategoryDataset

public JDBCCategoryDataset(Connection connection,
                           String query)
            throws SQLException
Creates a new dataset with the given database connection, and executes the supplied query to populate the dataset.
Parameters:
connection - the connection.
query - the query.

JDBCCategoryDataset

public JDBCCategoryDataset(String url,
                           String driverName,
                           String user,
                           String passwd)
            throws ClassNotFoundException,
                   SQLException
Creates a new dataset with a database connection.
Parameters:
url - the URL of the database connection.
driverName - the database driver class name.
user - the database user.
passwd - the database user's password.

Method Details

executeQuery

public void executeQuery(Connection con,
                         String query)
            throws SQLException
Populates the dataset by executing the supplied query 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:
con - the connection.
query - the query.

executeQuery

public void executeQuery(String query)
            throws SQLException
Populates the dataset by executing the supplied query 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.

getTranspose

public boolean getTranspose()
Returns a flag that controls whether or not the table values are transposed when added to the dataset.
Returns:
A boolean.

setTranspose

public void setTranspose(boolean transpose)
Sets a flag that controls whether or not the table values are transposed when added to the dataset.
Parameters:
transpose - the flag.