Package org.bson.codecs
Class MapCodecProvider
java.lang.Object
org.bson.codecs.MapCodecProvider
- All Implemented Interfaces:
CodecProvider
A
CodecProvider
for the Map class and all the default Codec implementations on which it depends.- Since:
- 3.5
-
Constructor Summary
ConstructorDescriptionConstruct a new instance with a defaultBsonTypeClassMap
.MapCodecProvider
(BsonTypeClassMap bsonTypeClassMap) Construct a new instance with the given instance ofBsonTypeClassMap
.MapCodecProvider
(BsonTypeClassMap bsonTypeClassMap, Transformer valueTransformer) Construct a new instance with the given instance ofBsonTypeClassMap
.MapCodecProvider
(Transformer valueTransformer) Construct a new instance with a defaultBsonTypeClassMap
and the givenTransformer
. -
Method Summary
Modifier and TypeMethodDescriptionboolean
<T> Codec<T>
get
(Class<T> clazz, List<Type> typeArguments, CodecRegistry registry) Get aCodec
using the given context, which includes, most importantly, the Class for which aCodec
is required.<T> Codec<T>
get
(Class<T> clazz, CodecRegistry registry) Get aCodec
using the given context, which includes, most importantly, the Class for which aCodec
is required.int
hashCode()
toString()
-
Constructor Details
-
MapCodecProvider
public MapCodecProvider()Construct a new instance with a defaultBsonTypeClassMap
. -
MapCodecProvider
Construct a new instance with the given instance ofBsonTypeClassMap
.- Parameters:
bsonTypeClassMap
- the non-nullBsonTypeClassMap
with which to construct instances ofDocumentCodec
andListCodec
-
MapCodecProvider
Construct a new instance with a defaultBsonTypeClassMap
and the givenTransformer
. The transformer is used by the MapCodec as a last step when decoding values.- Parameters:
valueTransformer
- the value transformer for decoded values
-
MapCodecProvider
Construct a new instance with the given instance ofBsonTypeClassMap
.- Parameters:
bsonTypeClassMap
- the non-nullBsonTypeClassMap
with which to construct instances ofMapCodec
.valueTransformer
- the value transformer for decoded values
-
-
Method Details
-
get
Description copied from interface:CodecProvider
Get aCodec
using the given context, which includes, most importantly, the Class for which aCodec
is required.This method is called by the driver only if
CodecProvider.get(Class, List, CodecRegistry)
is not overridden, or is overridden such that it calls this method.- Specified by:
get
in interfaceCodecProvider
- Type Parameters:
T
- the type of the class for which a Codec is required- Parameters:
clazz
- the Class for which to get a Codecregistry
- the registry to use for resolving dependent Codec instances- Returns:
- the Codec instance, which may be null, if this source is unable to provide one for the requested Class
-
get
Description copied from interface:CodecProvider
Get aCodec
using the given context, which includes, most importantly, the Class for which aCodec
is required.The default implementation delegates to
CodecProvider.get(Class, CodecRegistry)
, thus not propagatingtypeArguments
when it uses theregistry
.- Specified by:
get
in interfaceCodecProvider
- Type Parameters:
T
- the type of the class for which a Codec is required- Parameters:
clazz
- the Class for which to get a CodectypeArguments
- The type arguments for theclazz
. The size of the list is either equal to the number of type parameters of theclazz
, or is zero. For example, ifclazz
isCollection
.class
, then the size oftypeArguments
is one, sinceCollection
has a single type parameter. The list may be empty either because theclazz
is not generic, or because anotherCodecProvider
did not propagateclazz
's type arguments to theregistry
when using it.registry
- the registry to use for resolving dependent Codec instances- Returns:
- the Codec instance, which may be null, if this source is unable to provide one for the requested Class
-
equals
-
hashCode
public int hashCode() -
toString
-