public class JDBCXYDataset extends AbstractXYDataset implements XYDataset, TableXYDataset, RangeInfo
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 and Description |
|---|
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.
|
| Modifier and Type | Method and Description |
|---|---|
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.
|
getDomainOrder, getXValue, getYValueindexOf, seriesChangedaddChangeListener, clone, fireDatasetChanged, getGroup, getNotify, hasListener, notifyListeners, removeChangeListener, setGroup, setNotify, validateObjectequals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetDomainOrder, getXValue, getYValueindexOfaddChangeListener, getGroup, removeChangeListener, setGrouppublic JDBCXYDataset(java.lang.String url, java.lang.String driverName, java.lang.String user, java.lang.String password) throws java.sql.SQLException, java.lang.ClassNotFoundException
url - URL of the database connection.driverName - the database driver class name.user - the database user.password - the database user's password.java.lang.ClassNotFoundException - if the driver cannot be found.java.sql.SQLException - if there is a problem connecting to the database.public JDBCXYDataset(java.sql.Connection con) throws java.sql.SQLException
con - the database connection.java.sql.SQLException - if there is a problem connecting to the database.public JDBCXYDataset(java.sql.Connection con, java.lang.String query) throws java.sql.SQLException
con - the connection.query - the SQL query.java.sql.SQLException - if there is a problem executing the query.public boolean isTimeSeries()
true if the dataset represents time series data,
and false otherwise.public void setTimeSeries(boolean timeSeries)
timeSeries - the new value of the flag.public void executeQuery(java.lang.String query) throws java.sql.SQLException
query - the query to be executed.java.sql.SQLException - if there is a problem executing the query.public void executeQuery(java.sql.Connection con, java.lang.String query) throws java.sql.SQLException
query - the query to be executed.con - the connection the query is to be executed against.java.sql.SQLException - if there is a problem executing the query.public java.lang.Number getX(int seriesIndex, int itemIndex)
public java.lang.Number getY(int seriesIndex, int itemIndex)
public int getItemCount(int seriesIndex)
getItemCount in interface XYDatasetseriesIndex - the series (zero-based index).XYDatasetpublic int getItemCount()
TableXYDataset interface.getItemCount in interface TableXYDatasetpublic int getSeriesCount()
getSeriesCount in interface SeriesDatasetgetSeriesCount in class AbstractSeriesDatasetXYDataset,
Datasetpublic java.lang.Comparable getSeriesKey(int seriesIndex)
getSeriesKey in interface SeriesDatasetgetSeriesKey in class AbstractSeriesDatasetseriesIndex - the series (zero-based index).XYDataset,
Datasetpublic int getLegendItemCount()
public java.lang.String[] getLegendItemLabels()
public void close()
public double getRangeLowerBound(boolean includeInterval)
getRangeLowerBound in interface RangeInfoincludeInterval - a flag that determines whether or not the
y-interval is taken into account.public double getRangeUpperBound(boolean includeInterval)
getRangeUpperBound in interface RangeInfoincludeInterval - a flag that determines whether or not the
y-interval is taken into account.public Range getRangeBounds(boolean includeInterval)
getRangeBounds in interface RangeInfoincludeInterval - a flag that determines whether or not the
y-interval is taken into account.