Class BaseMapper<E extends BaseEntity>
java.lang.Object
com.github.collinalpert.java2db.mappers.BaseMapper<E>
- All Implemented Interfaces:
Mappable<E>
public class BaseMapper<E extends BaseEntity> extends java.lang.Object implements Mappable<E>
Default mapper for converting a
ResultSet to the respective Java entity.- Author:
- Collin Alpert
-
Constructor Summary
Constructors Constructor Description BaseMapper(java.lang.Class<E> clazz) -
Method Summary
Modifier and Type Method Description java.util.Optional<E>map(java.sql.ResultSet set, java.util.Map<java.lang.String,java.lang.String> aliases)Maps aResultSetwith a single row to a Java entity.E[]mapToArray(java.sql.ResultSet set, java.util.Map<java.lang.String,java.lang.String> aliases)Maps aResultSetwith multiple rows to an array of Java entities.java.util.List<E>mapToList(java.sql.ResultSet set, java.util.Map<java.lang.String,java.lang.String> aliases)Maps aResultSetwith multiple rows to a list of Java entities.<K, V> java.util.Map<K,V>mapToMap(java.sql.ResultSet set, java.util.function.Function<E,K> keyMapping, java.util.function.Function<E,V> valueMapping, java.util.Map<java.lang.String,java.lang.String> aliases)Maps aResultSetto aMap.java.util.stream.Stream<E>mapToStream(java.sql.ResultSet set, java.util.Map<java.lang.String,java.lang.String> aliases)Maps aResultSetwith multiple rows to aStreamof Java entities.
-
Constructor Details
-
Method Details
-
map
public java.util.Optional<E> map(java.sql.ResultSet set, java.util.Map<java.lang.String,java.lang.String> aliases) throws java.sql.SQLExceptionMaps aResultSetwith a single row to a Java entity.- Specified by:
mapin interfaceMappable<E extends BaseEntity>- Parameters:
set- TheResultSetto map.aliases- A map of column aliases needed to retrieve column data from theResultSet.- Returns:
- An Optional which contains the Java entity if the query was successful.
- Throws:
java.sql.SQLException- if theResultSet.next()call does not work as expected or if the entity fields cannot be set.
-
mapToList
public java.util.List<E> mapToList(java.sql.ResultSet set, java.util.Map<java.lang.String,java.lang.String> aliases) throws java.sql.SQLExceptionMaps aResultSetwith multiple rows to a list of Java entities.- Specified by:
mapToListin interfaceMappable<E extends BaseEntity>- Parameters:
set- TheResultSetto map.aliases- A map of column aliases needed to retrieve column data from theResultSet.- Returns:
- A list of Java entities.
- Throws:
java.sql.SQLException- if theResultSet.next()call does not work as expected or if the entity fields cannot be set.
-
mapToStream
public java.util.stream.Stream<E> mapToStream(java.sql.ResultSet set, java.util.Map<java.lang.String,java.lang.String> aliases) throws java.sql.SQLExceptionMaps aResultSetwith multiple rows to aStreamof Java entities.- Specified by:
mapToStreamin interfaceMappable<E extends BaseEntity>- Parameters:
set- TheResultSetto map.aliases- A map of column aliases needed to retrieve column data from theResultSet.- Returns:
- A
Streamof Java entities. - Throws:
java.sql.SQLException- if theResultSet.next()call does not work as expected or if the entity fields cannot be set.
-
mapToArray
public E[] mapToArray(java.sql.ResultSet set, java.util.Map<java.lang.String,java.lang.String> aliases) throws java.sql.SQLExceptionMaps aResultSetwith multiple rows to an array of Java entities.- Specified by:
mapToArrayin interfaceMappable<E extends BaseEntity>- Parameters:
set- TheResultSetto map.aliases- A map of column aliases needed to retrieve column data from theResultSet.- Returns:
- An array of Java entities.
- Throws:
java.sql.SQLException- if theResultSet.next()call does not work as expected or if the entity fields cannot be set.
-
mapToMap
public <K, V> java.util.Map<K,V> mapToMap(java.sql.ResultSet set, java.util.function.Function<E,K> keyMapping, java.util.function.Function<E,V> valueMapping, java.util.Map<java.lang.String,java.lang.String> aliases) throws java.sql.SQLExceptionMaps aResultSetto aMap.- Specified by:
mapToMapin interfaceMappable<E extends BaseEntity>- Type Parameters:
K- The type of the keys in the map.V- The type of the values in the map.- Parameters:
set- TheResultSetto get the data from.keyMapping- The key function of the map.valueMapping- The value function of the map.aliases- A map of column aliases needed to retrieve column data from theResultSet.- Returns:
- A
Mapcontaining theResultSets data. - Throws:
java.sql.SQLException- In case theResultSetcan't be read.
-