Package org.jfree.data.jdbc
Class JDBCXYDataset
java.lang.Object
org.jfree.data.general.AbstractDataset
org.jfree.data.general.AbstractSeriesDataset
org.jfree.data.xy.AbstractXYDataset
org.jfree.data.jdbc.JDBCXYDataset
- All Implemented Interfaces:
ObjectInputValidation
,Serializable
,Cloneable
,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:
-
Constructor Summary
ConstructorDescriptionJDBCXYDataset
(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
Modifier and TypeMethodDescriptionvoid
close()
Close the database connectionvoid
executeQuery
(String query) ExecuteQuery will attempt execute the query passed to it against the existing database connection.void
executeQuery
(Connection con, String query) ExecuteQuery will attempt execute the query passed to it against the provided database connection.int
Returns the number of items in all series.int
getItemCount
(int seriesIndex) Returns the number of items in the specified series.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
Returns the number of series in the dataset.getSeriesKey
(int seriesIndex) Returns the key for the specified series.getX
(int seriesIndex, int itemIndex) Returns the x-value for the specified series and item.getY
(int seriesIndex, int itemIndex) Returns the y-value for the specified series and item.boolean
Returnstrue
if the dataset represents time series data, andfalse
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, canEqual, clone, equals, fireDatasetChanged, getGroup, getNotify, hashCode, hasListener, notifyListeners, removeChangeListener, setGroup, setNotify, validateObject
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.jfree.data.general.Dataset
addChangeListener, getGroup, removeChangeListener, setGroup
Methods inherited from interface org.jfree.data.general.SeriesDataset
indexOf
Methods inherited from interface org.jfree.data.xy.XYDataset
getDomainOrder, getXValue, getYValue
-
Constructor Details
-
JDBCXYDataset
public JDBCXYDataset(String url, String driverName, String user, String password) throws SQLException, 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:
ClassNotFoundException
- if the driver cannot be found.SQLException
- if there is a problem connecting to the database.
-
JDBCXYDataset
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
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 Details
-
isTimeSeries
Returnstrue
if the dataset represents time series data, andfalse
otherwise.- Returns:
- A boolean.
-
setTimeSeries
Sets a flag that indicates whether or not the data represents a time series.- Parameters:
timeSeries
- the new value of the flag.
-
executeQuery
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
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:
con
- the connection the query is to be executed against.query
- the query to be executed.- Throws:
SQLException
- if there is a problem executing the query.
-
getX
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. -
getY
Returns the y-value for the specified series and item. -
getItemCount
Returns the number of items in the specified series.- Specified by:
getItemCount
in interfaceXYDataset
- Parameters:
seriesIndex
- the series (zero-based index).- Returns:
- The itemCount value
- See Also:
-
getItemCount
Returns the number of items in all series. This method is defined by theTableXYDataset
interface.- Specified by:
getItemCount
in interfaceTableXYDataset
- Returns:
- The item count.
-
getSeriesCount
Returns the number of series in the dataset.- Specified by:
getSeriesCount
in interfaceSeriesDataset
- Specified by:
getSeriesCount
in classAbstractSeriesDataset
- Returns:
- The seriesCount value
- See Also:
-
getSeriesKey
Returns the key for the specified series.- Specified by:
getSeriesKey
in interfaceSeriesDataset
- Specified by:
getSeriesKey
in classAbstractSeriesDataset
- Parameters:
seriesIndex
- the series (zero-based index).- Returns:
- The seriesName value
- See Also:
-
close
Close the database connection -
getRangeLowerBound
Returns the minimum y-value in the dataset.- Specified by:
getRangeLowerBound
in interfaceRangeInfo
- Parameters:
includeInterval
- a flag that determines whether or not the y-interval is taken into account.- Returns:
- The minimum value.
-
getRangeUpperBound
Returns the maximum y-value in the dataset.- Specified by:
getRangeUpperBound
in interfaceRangeInfo
- Parameters:
includeInterval
- a flag that determines whether or not the y-interval is taken into account.- Returns:
- The maximum value.
-
getRangeBounds
Returns the range of the values in this dataset's range.- Specified by:
getRangeBounds
in interfaceRangeInfo
- Parameters:
includeInterval
- a flag that determines whether or not the y-interval is taken into account.- Returns:
- The range.
-