Interface ResultSetExtractor<T>

All Known Implementing Classes:
CqlTemplate.RowCallbackHandlerResultSetExtractor, RowMapperResultSetExtractor
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface ResultSetExtractor<T>
Callback interface used by CqlTemplate's query methods. Implementations of this interface perform the actual work of extracting results from a ResultSet, but don't need to worry about exception handling. DriverExceptions will be caught and handled by the calling CqlTemplate.

This interface is mainly used within the CQL framework itself. A RowMapper is usually a simpler choice for ResultSet processing, mapping one result object per row instead of one result object for the entire ResultSet.

Note: In contrast to a RowCallbackHandler, a ResultSetExtractor object is typically stateless and thus reusable, as long as it doesn't access stateful resources or keep result state within the object.

Matthew T. Adams, Mark Paluch
See Also:
  • Method Summary

    Modifier and Type
    extractData(com.datastax.oss.driver.api.core.cql.ResultSet resultSet)
    Implementations must implement this method to process the entire ResultSet.
  • Method Details

    • extractData

      @Nullable T extractData(com.datastax.oss.driver.api.core.cql.ResultSet resultSet) throws com.datastax.oss.driver.api.core.DriverException, DataAccessException
      Implementations must implement this method to process the entire ResultSet.
      resultSet - ResultSet to extract data from.
      an arbitrary result object, or null if none (the extractor will typically be stateful in the latter case).
      com.datastax.oss.driver.api.core.DriverException - if a DriverException is encountered getting column values or navigating (that is, there's no need to catch DriverException)
      DataAccessException - in case of custom exceptions