Class RowMapperResultSetExtractor<T>

java.lang.Object
org.springframework.data.cassandra.core.cql.RowMapperResultSetExtractor<T>
All Implemented Interfaces:
ResultSetExtractor<List<T>>

public class RowMapperResultSetExtractor<T> extends Object implements ResultSetExtractor<List<T>>
Adapter implementation of the ResultSetExtractor interface that delegates to a RowMapper which is supposed to create an object for each row. Each object is added to the results List of this ResultSetExtractor.

Useful for the typical case of one object per row in the database table. The number of entries in the results will match the number of rows.

Note that a RowMapper object is typically stateless and thus reusable.

Since:
2.0
Author:
Mark Paluch
See Also:
  • Constructor Details

    • RowMapperResultSetExtractor

      public RowMapperResultSetExtractor(RowMapper<T> rowMapper)
      Parameters:
      rowMapper - the RowMapper which creates an object for each row, must not be null.
    • RowMapperResultSetExtractor

      public RowMapperResultSetExtractor(RowMapper<T> rowMapper, int rowsExpected)
      Parameters:
      rowMapper - the RowMapper which creates an object for each row, must not be null.
      rowsExpected - the number of expected rows (just used for optimized collection handling).
  • Method Details

    • extractData

      public List<T> extractData(com.datastax.oss.driver.api.core.cql.ResultSet resultSet) throws com.datastax.oss.driver.api.core.DriverException, DataAccessException
      Description copied from interface: ResultSetExtractor
      Implementations must implement this method to process the entire ResultSet.
      Specified by:
      extractData in interface ResultSetExtractor<T>
      Parameters:
      resultSet - ResultSet to extract data from.
      Returns:
      an arbitrary result object, or null if none (the extractor will typically be stateful in the latter case).
      Throws:
      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