Class QueryLabelValuesProvider

    • Constructor Detail

      • QueryLabelValuesProvider

        public QueryLabelValuesProvider​(String query)
        Constructs a new QueryLabelValuesProvider that returns a list of LabelValues for the given SQL query. The SQL query must have columns named 'label' and 'value' whose values will be used to construct the LabelValue label and value respectively.
        Parameters:
        query - A SQL query from which to retrieve the label values. The query must have label and value columns named 'label' and 'value' respectively.
      • QueryLabelValuesProvider

        public QueryLabelValuesProvider​(String query,
                                        String labelColumnName,
                                        String valueColumnName)
        Constructs a new QueryLabelValuesProvider that returns a list of LabelValues for the given SQL query, label, and value columns. The returned LabelValues will have a the empty Optional as the group value.
        Parameters:
        query - A SQL query from which to retrieve the label values. The query must have label and value columns named as per the labelColumnName and valueColumnName parameters respectively.
        labelColumnName - The name of the column in the SQL query whose value is the LabelValue label.
        valueColumnName - The name of the column in the SQL query whose value is the LabelValue value.
      • QueryLabelValuesProvider

        public QueryLabelValuesProvider​(String query,
                                        String labelColumnName,
                                        String valueColumnName,
                                        String groupColumnName)
        Constructs a new QueryLabelValuesProvider that returns a list of LabelValues for the given SQL query, label, value, and group columns.
        Parameters:
        query - A SQL query from which to retrieve the label values. The query must have label, value, and group columns named as per the labelColumnName, valueColumnName, and groupColumnName parameters respectively. The given SQL query should be ordered by the column identified by groupColumnName.
        labelColumnName - The name of the column in the SQL query whose value is the LabelValue label.
        valueColumnName - The name of the column in the SQL query whose value is the LabelValue value.
        groupColumnName - The name of the column in the SQL query whose value is the LabelValue group.
    • Method Detail

      • createLabelValues

        public List<LabelValue> createLabelValues​(javax.sql.DataSource dataSource,
                                                  javax.servlet.http.HttpServletRequest request)
        Description copied from interface: LabelValuesProvider
        Returns a List of LabelValue beans to use as values for the parent Column 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 Filter value field.

        The Ad Hoc Creator will surround consecutive LabelValue beans which have equal group properties with an HTML <optgroup> element labeled with the group.

        Specified by:
        createLabelValues in interface LabelValuesProvider
        Parameters:
        dataSource - The DataSource used to fill the parent Report. Use the dataSource to dynamically materialize a list of LabelValue beans from a JDBC query. Any opened JDBC connection must be closed by the implementing method.
        request - The HttpServletRequest 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 parent Column.
      • getLabelColumn

        public String getLabelColumn()
      • getValueColumn

        public String getValueColumn()
      • getGroupColumn

        public Optional<String> getGroupColumn()
      • getQuery

        public String getQuery()
      • toString

        public String toString()
        Overrides:
        toString in class Object
      • equals

        public boolean equals​(Object obj)
        Overrides:
        equals in class Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object