@FunctionalInterface
public interface RecordExtractor<T>
Used for output object creation in CciTemplate. Alternatively, output Records can also be returned to client code as-is. In case of a CCI ResultSet as execution result, you will almost always want to implement a RecordExtractor, to be able to read the ResultSet in a managed fashion, with the CCI Connection still open while reading the ResultSet.
Implementations of this interface perform the actual work of extracting results, but don't need to worry about exception handling. ResourceExceptions will be caught and handled correctly by the CciTemplate class.
CciTemplate#execute(javax.resource.cci.InteractionSpec, Record, RecordExtractor)
,
CciTemplate#execute(javax.resource.cci.InteractionSpec, RecordCreator, RecordExtractor)
,
javax.resource.cci.ResultSet
Modifier and Type | Method and Description |
---|---|
T |
extractData(Record record)
Process the data in the given Record, creating a corresponding result object.
|
T extractData(Record record) throws ResourceException, java.sql.SQLException, DataAccessException
record
- the Record to extract data from
(possibly a CCI ResultSet)null
if none
(the extractor will typically be stateful in the latter case)ResourceException
- if thrown by a CCI method, to be auto-converted
to a DataAccessExceptionjava.sql.SQLException
- if thrown by a ResultSet method, to be auto-converted
to a DataAccessExceptionDataAccessException
- in case of custom exceptionsjavax.resource.cci.ResultSet