org.midao.jdbc.core.handlers.output
Class AbstractKeyedOutputHandler<K,V>

java.lang.Object
  extended by org.midao.jdbc.core.handlers.output.AbstractOutputHandler<java.util.Map<K,V>>
      extended by org.midao.jdbc.core.handlers.output.AbstractKeyedOutputHandler<K,V>
All Implemented Interfaces:
OutputHandler<java.util.Map<K,V>>
Direct Known Subclasses:
BeanMapOutputHandler, KeyedOutputHandler

public abstract class AbstractKeyedOutputHandler<K,V>
extends AbstractOutputHandler<java.util.Map<K,V>>

Parent class used to store query result into Map. Column which would be used as Map key is specified via Constructor Value can be Bean or Map.


Field Summary
protected  int columnIndex
          Index of the column which would be used as Key
protected  java.lang.String columnName
          Name of the column which would be used as Key
 
Fields inherited from class org.midao.jdbc.core.handlers.output.AbstractOutputHandler
outputProcessor
 
Constructor Summary
AbstractKeyedOutputHandler(int columnIndex, java.lang.String columnName)
          Initializes AbstractKeyedOutputHandler ancestor instance
AbstractKeyedOutputHandler(QueryOutputProcessor outputProcessor, int columnIndex, java.lang.String columnName)
          Initializes AbstractKeyedOutputHandler ancestor instance
 
Method Summary
protected  K createKey(QueryParameters params)
          Generates key for query output row
protected abstract  V createRow(QueryParameters params)
          Converts query output row into internal Java type
 java.util.Map<K,V> handle(java.util.List<QueryParameters> outputList)
          Reads query result and converts it into Map of Bean/Map Values from column, index/name of which was specified via Constructor, would be used as key
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

columnIndex

protected final int columnIndex
Index of the column which would be used as Key


columnName

protected final java.lang.String columnName
Name of the column which would be used as Key

Constructor Detail

AbstractKeyedOutputHandler

public AbstractKeyedOutputHandler(int columnIndex,
                                  java.lang.String columnName)
Initializes AbstractKeyedOutputHandler ancestor instance

Parameters:
columnIndex - column index
columnName - column name (priority over column index)

AbstractKeyedOutputHandler

public AbstractKeyedOutputHandler(QueryOutputProcessor outputProcessor,
                                  int columnIndex,
                                  java.lang.String columnName)
Initializes AbstractKeyedOutputHandler ancestor instance

Parameters:
outputProcessor - Query output processor
columnIndex - column index
columnName - column name (priority over column index)
Method Detail

handle

public java.util.Map<K,V> handle(java.util.List<QueryParameters> outputList)
                          throws MidaoException
Reads query result and converts it into Map of Bean/Map Values from column, index/name of which was specified via Constructor, would be used as key

Parameters:
outputList - Query output
Returns:
Map of Bean/Map
Throws:
MidaoException

createKey

protected K createKey(QueryParameters params)
               throws MidaoException
Generates key for query output row

Parameters:
params - query output row
Returns:
key for query output row
Throws:
MidaoException

createRow

protected abstract V createRow(QueryParameters params)
                        throws MidaoException
Converts query output row into internal Java type

Parameters:
params - query output row
Returns:
converted row
Throws:
MidaoException


Copyright © 2013. All Rights Reserved.