Package com.pullreports.model
Class TableQueryLabelValuesProvider
Object
com.pullreports.model.TableQueryLabelValuesProvider
- All Implemented Interfaces:
LabelValuesProvider
LabelValuesProvider which retrieves label values from a SQL query on a single database
table definition. TableQueryLabelValuesProvider provides easier configuration than a
QueryLabelValuesProvider
because it constructs the SQL query based on the provided
table definition.
Schema analog: <label_value_query>
-
Constructor Summary
ConstructorDescriptionTableQueryLabelValuesProvider
(String tableDefinition, String columnName) Constructs a new TableQueryLabelValuesProvider that returns a list ofLabelValue
s for the given table definition and columnName.TableQueryLabelValuesProvider
(String tableDefinition, String labelColumnName, String valueColumnName) Constructs a new TableQueryLabelValuesProvider that returns a list ofLabelValue
s for the given table definition, label, and value columns.TableQueryLabelValuesProvider
(String tableDefinition, String labelColumnName, String valueColumnName, String groupColumnName) Constructs a new TableQueryLabelValuesProvider that returns a list ofLabelValue
s for the given table definition, label, value, and group columns. -
Method Summary
Modifier and TypeMethodDescriptioncreateLabelValues
(DataSource dataSource, jakarta.servlet.http.HttpServletRequest request) Returns a List ofLabelValue
beans to use as values for the parentColumn
within the Pull Reports Ad Hoc Creator Filter web form.
-
Constructor Details
-
TableQueryLabelValuesProvider
Constructs a new TableQueryLabelValuesProvider that returns a list ofLabelValue
s for the given table definition and columnName. The given columnName will be used to construct both theLabelValue
label and value. The returned LabelValues will have the emptyOptional
as the group value.- Parameters:
tableDefinition
- The table definition from which to retrieve the label values. Typically, this is the name of a database table (e.g."schema_name.table_name"
) but may also be a subquery definition in parentheses if the database supports subqueries. For example"(select columnX, columnY from schema_name.table_name)"
.columnName
- The name of the column in the table definition whose value will be used as both theLabelValue
label and value.
-
TableQueryLabelValuesProvider
public TableQueryLabelValuesProvider(String tableDefinition, String labelColumnName, String valueColumnName) Constructs a new TableQueryLabelValuesProvider that returns a list ofLabelValue
s for the given table definition, label, and value columns. The returned LabelValues will have a the emptyOptional
as the group value.- Parameters:
tableDefinition
- The table definition from which to retrieve the label values. Typically, this is the name of a database table (e.g."schema_name.table_name"
) but may also be a subquery definition in parenthesis if the database supports subqueries. For example"(select columnX, columnY from schema_name.table_name)"
.labelColumnName
- The name of the column in the table definition whose value is theLabelValue
label.valueColumnName
- The name of the column in the table definition whose value is theLabelValue
value.
-
TableQueryLabelValuesProvider
public TableQueryLabelValuesProvider(String tableDefinition, String labelColumnName, String valueColumnName, String groupColumnName) Constructs a new TableQueryLabelValuesProvider that returns a list ofLabelValue
s for the given table definition, label, value, and group columns. The returned LabelValues will be ordered by the group value.- Parameters:
tableDefinition
- The table definition from which to retrieve the label values. Typically, this is the name of a database table (e.g."schema_name.table_name"
) but may also be a subquery definition in parenthesis if the database supports subqueries. For example"(select columnX, columnY from schema_name.table_name)"
.labelColumnName
- The name of the column in the table definition whose value is theLabelValue
label.valueColumnName
- The name of the column in the table definition whose value is theLabelValue
value.groupColumnName
- The name of the column in the table definition whose value is theLabelValue
group.
-
-
Method Details
-
createLabelValues
public List<LabelValue> createLabelValues(DataSource dataSource, jakarta.servlet.http.HttpServletRequest request) Description copied from interface:LabelValuesProvider
Returns a List ofLabelValue
beans to use as values for the parentColumn
within the Pull Reports Ad Hoc Creator Filter web form. The Ad Hoc Creator uses the labels and values within an HTML <select> element associated with the Filtervalue
field.The Ad Hoc Creator will surround consecutive LabelValue beans which have equal
group
properties with an HTML <optgroup> element labeled with thegroup
.- Specified by:
createLabelValues
in interfaceLabelValuesProvider
- Parameters:
dataSource
- TheDataSource
used to fill the parentReport
. Use the dataSource to dynamically materialize a list ofLabelValue
beans from a JDBC query. Any opened JDBC connection must be closed by the implementing method.request
- TheHttpServletRequest
sent to the GET Label Value List API. to retrieve the LabelValue list. Use the request parameter to contextualize the returned list to the current user.- Returns:
- A List of
LabelValue
beans representing the values of the parentColumn
.
-