Class ColumnMappers

    • Constructor Detail

      • ColumnMappers

        public ColumnMappers()
    • Method Detail

      • setRegistry

        public void setRegistry​(ConfigRegistry registry)
        Description copied from interface: JdbiConfig
        The registry will inject itself into the configuration object. This can be useful if you need to look up dependencies. You will get a new registry after being copied.
        Specified by:
        setRegistry in interface JdbiConfig<ColumnMappers>
        Parameters:
        registry - the registry that owns this configuration object
      • register

        public ColumnMappers register​(ColumnMapper<?> mapper)
        Register a column mapper which will have its parameterized type inspected to determine what it maps to. Column mappers may be reused by RowMapper to map individual columns.

        The parameter must be concretely parameterized, we use the type argument T to determine if it applies to a given type.

        Parameters:
        mapper - the column mapper
        Returns:
        this
        Throws:
        java.lang.UnsupportedOperationException - if the ColumnMapper is not a concretely parameterized type
      • register

        public <T> ColumnMappers register​(GenericType<T> type,
                                          ColumnMapper<T> mapper)
        Register a column mapper for a given explicit GenericType Column mappers may be reused by RowMapper to map individual columns.
        Type Parameters:
        T - the type
        Parameters:
        type - the generic type to match with equals.
        mapper - the column mapper
        Returns:
        this
      • register

        public ColumnMappers register​(java.lang.reflect.Type type,
                                      ColumnMapper<?> mapper)
        Register a column mapper for a given explicit Type Column mappers may be reused by RowMapper to map individual columns.
        Parameters:
        type - the type to match with equals.
        mapper - the column mapper
        Returns:
        this
      • register

        public <T> ColumnMappers register​(QualifiedType<T> type,
                                          ColumnMapper<T> mapper)
        Register a column mapper for a given QualifiedType Column mappers may be reused by RowMapper to map individual columns.
        Parameters:
        type - the type to match with equals.
        mapper - the column mapper
        Returns:
        this
      • register

        public ColumnMappers register​(ColumnMapperFactory factory)
        Register a column mapper factory.

        Column mappers may be reused by RowMapper to map individual columns.

        Parameters:
        factory - the column mapper factory
        Returns:
        this
      • register

        public ColumnMappers register​(QualifiedColumnMapperFactory factory)
        Register a qualified column mapper factory.

        Column mappers may be reused by RowMapper to map individual columns.

        Parameters:
        factory - the qualified column mapper factory
        Returns:
        this
      • findFor

        public <T> java.util.Optional<ColumnMapper<T>> findFor​(java.lang.Class<T> type)
        Obtain a column mapper for the given type.
        Type Parameters:
        T - the type to map
        Parameters:
        type - the target type to map to
        Returns:
        a ColumnMapper for the given type, or empty if no column mapper is registered for the given type.
      • findFor

        public <T> java.util.Optional<ColumnMapper<T>> findFor​(GenericType<T> type)
        Obtain a column mapper for the given type.
        Type Parameters:
        T - the type to map
        Parameters:
        type - the target type to map to
        Returns:
        a ColumnMapper for the given type, or empty if no column mapper is registered for the given type.
      • findFor

        public java.util.Optional<ColumnMapper<?>> findFor​(java.lang.reflect.Type type)
        Obtain a column mapper for the given type.
        Parameters:
        type - the target type to map to
        Returns:
        a ColumnMapper for the given type, or empty if no column mapper is registered for the given type.
      • findFor

        public <T> java.util.Optional<ColumnMapper<T>> findFor​(QualifiedType<T> type)
        Obtain a column mapper for the given qualified type.
        Parameters:
        type - the qualified target type to map to
        Returns:
        a ColumnMapper for the given type, or empty if no column mapper is registered for the given type.
      • getCoalesceNullPrimitivesToDefaults

        public boolean getCoalesceNullPrimitivesToDefaults()
        Returns true if database null values should be transformed to the default value for primitives.
        Returns:
        true if database nulls should translate to the Java defaults for primitives, or throw an exception otherwise. Default value is true: nulls will be coalesced to defaults.
      • setCoalesceNullPrimitivesToDefaults

        public void setCoalesceNullPrimitivesToDefaults​(boolean coalesceNullPrimitivesToDefaults)
      • createCopy

        public ColumnMappers createCopy()
        Description copied from interface: JdbiConfig
        Returns a copy of this configuration object. Changes to the copy should not modify the original, and vice-versa.
        Specified by:
        createCopy in interface JdbiConfig<ColumnMappers>
        Returns:
        a copy of this configuration object.