Class DataClassRowMapper<T>
java.lang.Object
org.springframework.data.cassandra.core.cql.BeanPropertyRowMapper<T>
org.springframework.data.cassandra.core.cql.DataClassRowMapper<T>
- Type Parameters:
T
- the result type
- All Implemented Interfaces:
RowMapper<T>
RowMapper
implementation that converts a row into a new instance of the specified mapped target class. The
mapped target class must be a top-level class and may either expose a data class constructor with named parameters
corresponding to column names or classic bean property setters (or even a combination of both).
Note that this class extends BeanPropertyRowMapper
and can therefore serve as a common choice for any mapped
target class, flexibly adapting to constructor style versus setter methods in the mapped class.
- Since:
- 3.1
- Author:
- Mark Paluch
-
Field Summary
Fields inherited from class org.springframework.data.cassandra.core.cql.BeanPropertyRowMapper
logger
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected T
constructMappedInstance
(com.datastax.oss.driver.api.core.cql.Row row, TypeConverter tc) Construct an instance of the mapped class for the current row.protected void
initialize
(Class<T> mappedClass) Initialize the mapping meta-data for the given class.static <T> DataClassRowMapper<T>
newInstance
(Class<T> mappedClass) Static factory method to create a newDataClassRowMapper
.static <T> DataClassRowMapper<T>
newInstance
(Class<T> mappedClass, ConversionService conversionService) Static factory method to create a newDataClassRowMapper
.Methods inherited from class org.springframework.data.cassandra.core.cql.BeanPropertyRowMapper
getColumnValue, getColumnValue, getConversionService, getMappedClass, initBeanWrapper, isCheckFullyPopulated, isPrimitivesDefaultedForNullValue, lowerCaseName, mapRow, setCheckFullyPopulated, setConversionService, setMappedClass, setPrimitivesDefaultedForNullValue, underscoreName
-
Constructor Details
-
DataClassRowMapper
Create a newDataClassRowMapper
.- Parameters:
mappedClass
- the class that each row should be mapped to.
-
-
Method Details
-
initialize
Description copied from class:BeanPropertyRowMapper
Initialize the mapping meta-data for the given class.- Overrides:
initialize
in classBeanPropertyRowMapper<T>
- Parameters:
mappedClass
- the mapped class
-
constructMappedInstance
Description copied from class:BeanPropertyRowMapper
Construct an instance of the mapped class for the current row.- Overrides:
constructMappedInstance
in classBeanPropertyRowMapper<T>
- Parameters:
row
- the row to map (pre-initialized for the current row)tc
- a TypeConverter with this RowMapper's conversion service- Returns:
- a corresponding instance of the mapped class
-
newInstance
Static factory method to create a newDataClassRowMapper
.- Parameters:
mappedClass
- the class that each row should be mapped to.- See Also:
-
newInstance
public static <T> DataClassRowMapper<T> newInstance(Class<T> mappedClass, @Nullable ConversionService conversionService) Static factory method to create a newDataClassRowMapper
.- Parameters:
mappedClass
- the class that each row should be mapped to.conversionService
- theConversionService
for binding Cassandra values to bean properties, ornull
for none.- See Also:
-