AI-generated Key Takeaways
-
Key classes for the data source Java library include DataSourceServlet, DataTable, Query, and DataSourceHelper.
-
The simplest implementation involves inheriting from
DataSourceServletand implementinggenerateDataTable(). -
The data source Java library is organized into several packages, including
datasource,base,datatable,query,render, andutil. -
Each package handles specific functionalities like data table structure, query processing, rendering responses, and utility functions for different data stores.
For an introduction to the most commonly used classes, see key classes.
For an introduction to the data source Java library packages follow the links below:
Key Classes
The key classes are DataSourceServlet, DataTable,
Query and DataSourceHelper.
The simplest implementation of the library involves inheriting from DataSourceServlet,
writing your own implementation of generateDataTable() and
then running the implementation within a servlet. This type of implementation
is described in the Getting
Started section.
The DataTable class defines the columns, column types,
labels, ids, and custom properties for a data table.
The Query class is the base class for data queries, it
handles a visualization-generated query.
For more complex
use cases, the helper class DataSourceHelper provides
a set of helper functions. This type of implementation
is described in Defining Capabilities and the Flow of Events.
datasource
This is the top level package and contains the API classes with which most data source developers interact.
Also at this top level is Capabilities, which is
used to define the data source's query capabilities.
base
This package contains all classes that are used by more than one package to prevent circular dependencies between the packages. The most notable items are error messages in the default locale of US English. To internationalize your implementation, you will need to translate these messages.
datatable
This package contains classes that handle data table structure (columns, rows, cells) and functionality (insert, add).
This package also contains the value package that handles
values and value types supported by the library. Available value types
are defined in the ValueType enumeration and include: boolean,
date, time of day, date and time, null, number, and text.
query
This
package contains classes that handle queries, the base class is Query.
This package also contains the following packages:
parser- classes that handle query parsing.
engine- classes that handle query execution.scalarfunction- classes that handle scalar functions used in a query.
render
This package contains the classes that format a response. For example:
CsvRendererrenders a data table as CSV.HtmlRendererrenders a data table as HTML.JsonRendererrenders a data table as JSON.EscapeUtilprovides a utility to escape strings.
util
This package provides two sets of helper functions:
CsvDataSourceHelperandCsvDataSourceExceptionprovide helper functions for using a CSV file as a data store, they do not provide a complete implementation of a data source. For an example implementation, see Using an External Data Store.SqlDataSourceHelperandSqlDatabaseDescriptionprovide helper functions for using a mySQL database as a data store, they do not provide a complete implementation of a data source. For an example implementation, seeSqlDataSourceServletin theexamplespackage.