Package org.jdbi.v3.core.mapper.reflect
Class ReflectionMappers
java.lang.Object
org.jdbi.v3.core.mapper.reflect.ReflectionMappers
- All Implemented Interfaces:
 JdbiConfig<ReflectionMappers>
Configuration class for reflective mappers.
- 
Constructor Summary
ConstructorsConstructorDescriptionCreate a default configuration that attempts case insensitive and snake_case matching for names. - 
Method Summary
Modifier and TypeMethodDescriptionReturns a copy of this configuration object.Set the strategy Jdbi uses for Java accessibility rules to a no-op.Case change strategy for the database column names.Returns the registered column name mappers.booleanReturns whether strict column name matching is enabled.<T extends AccessibleObject>
TmakeAccessible(T accessibleObject) Use the accessibility strategy to potentially make a reflective operation accessible.setAccessibleObjectStrategy(Consumer<AccessibleObject> makeAccessible) Set the strategy Jdbi uses for Java accessibility rules.setCaseChange(UnaryOperator<String> caseChange) Sets the case change strategy for the database column names.setColumnNameMatchers(List<ColumnNameMatcher> columnNameMatchers) Replace all column name matchers with the given list.setStrictMatching(boolean strictMatching) Throw an IllegalArgumentException if a the set of fields doesn't match to columns exactly.Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.jdbi.v3.core.config.JdbiConfig
setRegistry 
- 
Constructor Details
- 
ReflectionMappers
public ReflectionMappers()Create a default configuration that attempts case insensitive and snake_case matching for names. 
 - 
 - 
Method Details
- 
getColumnNameMatchers
Returns the registered column name mappers.- Returns:
 - the registered column name mappers.
 
 - 
setColumnNameMatchers
Replace all column name matchers with the given list.- Parameters:
 columnNameMatchers- the column name matchers to use- Returns:
 - this
 
 - 
isStrictMatching
public boolean isStrictMatching()Returns whether strict column name matching is enabled.- Returns:
 - True if strict column name matching is enabled.
 
 - 
setStrictMatching
Throw an IllegalArgumentException if a the set of fields doesn't match to columns exactly. Reflection mappers with prefixes will only check those columns that begin with the mapper's prefix.- Parameters:
 strictMatching- whether to enable strict matching- Returns:
 - this
 
 - 
getCaseChange
Case change strategy for the database column names. By default, the row names are lowercased using the system locale.- Returns:
 - The current case change strategy.
 - See Also:
 
 - 
setCaseChange
Sets the case change strategy for the database column names. By default, the row names are lowercased using the system locale.- Parameters:
 caseChange- The strategy to use. Must not be null.- See Also:
 
 - 
setAccessibleObjectStrategy
@Alpha public ReflectionMappers setAccessibleObjectStrategy(Consumer<AccessibleObject> makeAccessible) Set the strategy Jdbi uses for Java accessibility rules. The legacy default is to callsetAccessible(true)in certain cases when we try to use a Constructor, Method, or Field. In the future, this default will be changed to a no-op, to better interact with the Java module system.- Parameters:
 makeAccessible- AConsumerinstance that implements the strategy.- See Also:
 
 - 
disableAccessibleObjectStrategy
Set the strategy Jdbi uses for Java accessibility rules to a no-op. - 
makeAccessible
Use the accessibility strategy to potentially make a reflective operation accessible. - 
createCopy
Description copied from interface:JdbiConfigReturns a copy of this configuration object. Changes to the copy should not modify the original, and vice-versa.- Specified by:
 createCopyin interfaceJdbiConfig<ReflectionMappers>- Returns:
 - a copy of this configuration object.
 
 
 -