T- the result type
@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),
@Nullable T extractData(Record record) throws ResourceException, SQLException, DataAccessException
record- the Record to extract data from (possibly a CCI ResultSet)
nullif none (the extractor will typically be stateful in the latter case)
ResourceException- if thrown by a CCI method, to be auto-converted to a DataAccessException
SQLException- if thrown by a ResultSet method, to be auto-converted to a DataAccessException
DataAccessException- in case of custom exceptions