com.ge.grc.acuity.actions.mapping
Class RowAsXMap

java.lang.Object
  extended bycom.ge.grc.acuity.actions.mapping.RowAsXMap
All Implemented Interfaces:
ResultSetMappingFunction
Direct Known Subclasses:
CandleBarBoxMap

public class RowAsXMap
extends java.lang.Object
implements ResultSetMappingFunction

Generic dataseries mapping function that uses the row order of the argument ResultSet as the xMin value for the dataseries. To obtain yMin information for the dataseries, the parameters Map must contain a value for the key=yMinColumn. To obtain yMax information for the dataseries, the parameters Map must contain a value for the key=yMaxColumn. To obtain xMinLabel information for the dataseries, the parameters Map must contain a value for the key=xMinColumn.

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

Field Summary
protected  java.lang.String dateFormat
          Date format string to apply to the values of the xLabelColumn (if one exists) if the datatype of the column is a date type.
protected  java.text.DateFormat sdf
          Date format object to apply to the values of the xLabelColumn (if one exists) if the datatype of the column is a date type.
 
Constructor Summary
RowAsXMap()
           
 
Method Summary
protected  java.util.List customProcess(java.sql.ResultSet rs, int xLabelCol, int yMinCol, int yMaxCol, java.util.Map parameters)
          Creates a single dataseries from the argument ResultSet.
 boolean hasDataseriesOutput()
          Returns true if the return value from the ResultSetMappingFunction.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 ResultSetMappingFunction.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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

dateFormat

protected java.lang.String dateFormat
Date format string to apply to the values of the xLabelColumn (if one exists) if the datatype of the column is a date type.


sdf

protected java.text.DateFormat sdf
Date format object to apply to the values of the xLabelColumn (if one exists) if the datatype of the column is a date type.

Constructor Detail

RowAsXMap

public RowAsXMap()
Method Detail

hasDataseriesOutput

public final boolean hasDataseriesOutput()
Description copied from interface: ResultSetMappingFunction
Returns true if the return value from the ResultSetMappingFunction.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

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

hasTableOutput

public final boolean hasTableOutput()
Description copied from interface: ResultSetMappingFunction
Returns true if the return value from the ResultSetMappingFunction.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.

Specified by:
hasTableOutput in interface ResultSetMappingFunction
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)
Description copied from interface: ResultSetMappingFunction
Processes a ResultSet according to the parameters specified in the argument Map

Specified by:
process in interface ResultSetMappingFunction
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 ResultSetMappingFunction.hasDataseriesOutput() and ResultSetMappingFunction.hasTableOutput() methods.
See Also:
ResultSetMappingFunction.hasDataseriesOutput(), ResultSetMappingFunction.hasTableOutput()

customProcess

protected java.util.List customProcess(java.sql.ResultSet rs,
                                       int xLabelCol,
                                       int yMinCol,
                                       int yMaxCol,
                                       java.util.Map parameters)
Creates a single dataseries from the argument ResultSet. Uses the row order of the argument ResultSet as the xMin value for the dataseries. If the xLabelCol argument is greater than 0 and the ResultSet contains that column, uses the value of that column as the xMinLabel value for the dataseries. If the yMinCol argument is greater than 0 and the ResultSet contains that column, uses the value of that column as the yMin value for the dataseries. If the yMaxCol argument is greater than 0 and the ResultSet contains that column, uses the value of that column as the yMax value for the dataseries.

Parameters:
rs - the query data to process
xLabelCol - the column from which to extract xLabel values from the data
yMinCol - the column from which to extract yMin values from the data
yMaxCol - the column from which to extract yMax values from the data
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. Each element of the returned array represents a dataseries. The List preserves the order of the ResultSet, and each element of the List contains Map objects.