Package org.jdbi.v3.guava.codec
Class TypeResolvingCodecFactory
- java.lang.Object
-
- org.jdbi.v3.core.codec.CodecFactory
-
- org.jdbi.v3.guava.codec.TypeResolvingCodecFactory
-
- All Implemented Interfaces:
QualifiedArgumentFactory,QualifiedArgumentFactory.Preparable,QualifiedColumnMapperFactory
@Alpha @ThreadSafe public class TypeResolvingCodecFactory extends CodecFactory
An extendedCodecFactorywhich can resolve Codecs for subtypes. This allows registering e.g. a codec forSet<String>and using any subtype ofSetwhich the same type parameters (e.g. aHashSet<String<) will find the right codec.This is an experimental feature which relies on
TypeTokenfrom the Guava library.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.jdbi.v3.core.codec.CodecFactory
CodecFactory.Builder
-
Nested classes/interfaces inherited from interface org.jdbi.v3.core.argument.QualifiedArgumentFactory
QualifiedArgumentFactory.Preparable
-
-
Field Summary
-
Fields inherited from class org.jdbi.v3.core.codec.CodecFactory
codecMap
-
-
Constructor Summary
Constructors Constructor Description TypeResolvingCodecFactory(java.util.Map<QualifiedType<?>,Codec<?>> codecMap)Create a new TypeResolvingCodecFactory.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static CodecFactory.Builderbuilder()Returns a builder for fluent API.static CodecFactoryforSingleCodec(QualifiedType<?> type, Codec<?> codec)protected Codec<?>resolveType(QualifiedType<?> qualifiedType)Extension point for type resolution.-
Methods inherited from class org.jdbi.v3.core.codec.CodecFactory
build, build, prepare, prePreparedTypes
-
-
-
-
Constructor Detail
-
TypeResolvingCodecFactory
public TypeResolvingCodecFactory(java.util.Map<QualifiedType<?>,Codec<?>> codecMap)
Create a new TypeResolvingCodecFactory.
-
-
Method Detail
-
builder
public static CodecFactory.Builder builder()
Returns a builder for fluent API.
-
forSingleCodec
public static CodecFactory forSingleCodec(QualifiedType<?> type, Codec<?> codec)
-
resolveType
protected Codec<?> resolveType(QualifiedType<?> qualifiedType)
Description copied from class:CodecFactoryExtension point for type resolution.- Overrides:
resolveTypein classCodecFactory- Parameters:
qualifiedType- Requested type- Returns:
- A
Codecfor the requested type or null if no codec is suitable.
-
-