Package org.jdbi.v3.core.mapper.reflect
Class ReflectionMapperUtil
java.lang.Object
org.jdbi.v3.core.mapper.reflect.ReflectionMapperUtil
Utilities for reflective mappers. This is an internal helper class that should have been package private but as the mappers are spread across the reflect and
reflect.internal package, they are not. Any method in here may change at any time.
-
Method Summary
Modifier and TypeMethodDescriptionstatic String
addPropertyNamePrefix
(String prefix, String name) Add a prefix separated with '.' to a java bean property name.static boolean
anyColumnsStartWithPrefix
(Collection<String> columnNames, String prefix, List<ColumnNameMatcher> columnNameMatchers) Returns whether any of the given column names begin with the given prefix, according to the list of column name matchers.static OptionalInt
findColumnIndex
(String paramName, List<String> columnNames, List<ColumnNameMatcher> columnNameMatchers, Supplier<String> debugName) Attempts to find the index of a specified column's mapped parameter in a list of column namesReturns the name of all the columns present in the specifiedResultSet
-
Method Details
-
getColumnNames
Returns the name of all the columns present in the specifiedResultSet
- Parameters:
rs
- theResultSet
to get the column names of- Returns:
- list of all the column names in
rs
(will contain duplicates if multiple columns have the same name) - Throws:
SQLException
- SeeResultSet.getMetaData()
,ResultSetMetaData.getColumnCount()
, andResultSetMetaData.getColumnLabel(int)
-
findColumnIndex
public static OptionalInt findColumnIndex(String paramName, List<String> columnNames, List<ColumnNameMatcher> columnNameMatchers, Supplier<String> debugName) Attempts to find the index of a specified column's mapped parameter in a list of column names- Parameters:
paramName
- the name of the parameter to search forcolumnNames
- list of column names to search incolumnNameMatchers
-ColumnNameMatcher
s to mapparamName
to the column namesdebugName
- name of the parameter to use for debugging purposes (ie: when throwing exceptions)- Returns:
OptionalInt
with the found index,OptionalInt.empty()
otherwise.
-
anyColumnsStartWithPrefix
public static boolean anyColumnsStartWithPrefix(Collection<String> columnNames, String prefix, List<ColumnNameMatcher> columnNameMatchers) Returns whether any of the given column names begin with the given prefix, according to the list of column name matchers.- Parameters:
columnNames
- the column names to searchprefix
- the prefix to search forcolumnNameMatchers
- list of column name matchers- Returns:
- whether any of the column names begin with the prefix
- Since:
- 3.5.0
-
addPropertyNamePrefix
Add a prefix separated with '.' to a java bean property name. If the prefix is empty, return the name itself.- Parameters:
prefix
- The prefix to add to the property name. The empty string is ignored.name
- A property name.- Returns:
- The prefixed name.
-