com.ge.grc.acuity.actions.mapping
Interface ResultSetMappingFunction

All Known Implementing Classes:
ColumnFilterTableMap, GradeDistributionMap, RowAsXMap, RowAsYMap, StudentGradeDistributionMap, TimeSeriesXMap

public interface ResultSetMappingFunction

Interface that all mapping functions which work off of ResultSets must implement. Implementing classes process ResultSets according to the argument parameter Map which contains the specific information used to manipulate and transform the query data into dataseries or table information. The implementing class must designate whether the process(java.sql.ResultSet, java.util.Map) method returns information for a dataseries or a table, by returning a value of true for one and only one of the hasDataseriesOutput() and hasTableOutput() methods

Version:
$Revision: 1.2 $ $Date: 2006/09/08 22:40:23 $
Author:
garbiras

Method Summary
 boolean hasDataseriesOutput()
          Returns true if the return value from the process(java.sql.ResultSet, java.util.Map) method contains data suitable for constructing a dataseries.
 boolean hasTableOutput()
          Returns true if the return value from the process(java.sql.ResultSet, java.util.Map) method contains data suitable for constructing a table.
 java.util.List[] process(java.sql.ResultSet rs, java.util.Map parameters)
          Processes a ResultSet according to the parameters specified in the argument Map
 

Method Detail

hasDataseriesOutput

public boolean hasDataseriesOutput()
Returns true if the return value from the process(java.sql.ResultSet, java.util.Map) method contains data suitable for constructing a dataseries. The first element of the array would be a list of names of the dataseries. Each subsequent element of the returned array would represent a dataseries. The List preserves the order of the ResultSet, and each element of the List would contain Map objects. The Map would contain attribute keys such as xMin, xMax, yMin, yMax, xMinLabel, xMaxLabel, yMinLabel, yMaxLabel

Returns:
true if the return value of the ResultSetMappingFunction#process(java.sql.ResultSet, java.util.Map) method contains dataseries information; false otherwise.

hasTableOutput

public boolean hasTableOutput()
Returns true if the return value from the process(java.sql.ResultSet, java.util.Map) method contains data suitable for constructing a table. The first element of the array would be a list of column headings of the data table. Each subsequent element of the returned array would represent a table row. Within each table row would be a list representing each column of that row. Within each column would be an object array, with the zero-index element being the data for that row-column pair, and the one-index element being the decorator to apply to that row-column pair.

Returns:
true if the return value of the ResultSetMappingFunction#process(java.sql.ResultSet, java.util.Map) method contains table information; false otherwise.

process

public java.util.List[] process(java.sql.ResultSet rs,
                                java.util.Map parameters)
Processes a ResultSet according to the parameters specified in the argument Map

Parameters:
rs - the query data to process
parameters - the mapping parameters by which to manipulate the ResultSet data
Returns:
an array of List objects containing the mapped elements of the processed data from the ResultSet. The details of the List contents are described by the hasDataseriesOutput() and hasTableOutput() methods.
See Also:
hasDataseriesOutput(), hasTableOutput()