com.ibm.pdq.runtime.data.handlers
Class IteratorResultHandler<T>
java.lang.Object
com.ibm.pdq.runtime.data.handlers.IteratorResultHandler<T>
- All Implemented Interfaces:
- ResultHandler<ResultIterator<T>>
- Direct Known Subclasses:
- IteratorPagingResultHandler
-
public class IteratorResultHandler<T>
- extends Object
- implements ResultHandler<ResultIterator<T>>
An implementation of ResultHandler
that can be specified to cause pureQuery to return content of the results of an SQL query as an instance of ResultIterator
. The rows are returned by the
ResultIterator<T>
in the same order in which they are returned from the data source. See ResultHandler
for a description of how an implementation of ResultHandler
can be specified to a pureQuery method.
The constructors of IteratorResultHandler<T>
require the user to specify the format in which to return each row of the results. One way to specify the format is by providing
a class. If a class is provided, pureQuery creates an instance of that class to contain each row of the results. The format also can be specified by providing an instance of an implementation of
RowHandler
to use to process each row of the results.
<T>
is the generic type of the RowHandler
or the Class
that is specified to a constructor, and it is the generic type of the returned
ResultIterator<T>
.
An instance of IteratorResultHandler<T>
maintains no state information other than the format in which the ResultIterator<T>
returns each row. Therefore, a
single instance of IteratorResultHandler<T>
can be used for more than one pureQuery method.
Constructor Summary
Constructor Summary Constructor and Description |
IteratorResultHandler(Class<T> beanClass)
Constructs an instance of IteratorResultHandler<T> that can be provided to a pureQuery method so that the method returns an instance of ResultIterator that returns content of the rows of the SQL query
results as instances of the class beanClass . |
IteratorResultHandler(RowHandler<T> singleRowHandler)
Constructs an instance of IteratorResultHandler<T> that can be provided to a pureQuery method so that the method returns an instance of ResultIterator that uses singleRowHandler to process and
to return each row of the SQL query results. |
Method Summary
IteratorResultHandler
public IteratorResultHandler(Class<T> beanClass)
-
Constructs an instance of
IteratorResultHandler<T>
that can be provided to a pureQuery method so that the method returns an instance of ResultIterator
that returns content of the rows of the SQL query
results as instances of the class beanClass
.
- Parameters:
beanClass
- the Class
in which to return content of each row of the SQL query results
IteratorResultHandler
public IteratorResultHandler(RowHandler<T> singleRowHandler)
-
Constructs an instance of
IteratorResultHandler<T>
that can be provided to a pureQuery method so that the method returns an instance of ResultIterator
that uses singleRowHandler
to process and
to return each row of the SQL query results.
- Parameters:
singleRowHandler
- the instance of an implementation of RowHandler
that is used to process each row of the SQL query results
handle
public ResultIterator<T> handle(ResultSet resultSet)
-
Returns an instance of
ResultIterator
that can be used to
return each row of resultSet
in the specified format. (The format to be used for each row was specified when the constructor was called.) When an
IteratorResultHandler<T>
is specified for a pureQuery inline method, pureQuery calls handle(ResultSet)
to create the instance of
ResultIterator<T>
that is returned from the inline method.
<T>
is the generic type of the RowHandler
or the Class
that is specified to a constructor, and it is the generic type of the returned
ResultIterator<T>
.
-
- Specified by:
handle
in interface ResultHandler<ResultIterator<T>>
-
- Parameters:
resultSet
- a ResultSet
that
represents the results from an SQL statement
- Returns:
- an instance of
ResultIterator
that can be used to
return each row of resultSet
in the specified format. (The format to be used for each row was specified when the constructor was called.) <T>
is the
generic type of the RowHandler
or the Class
that is specified to a constructor, and it is the generic type of the returned
ResultIterator<T>
.