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
ConstructorsConstructorDescriptionConstruct 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 defaultBsonTypeClassMapand the givenTransformer. -
Method Summary
Modifier and TypeMethodDescriptionboolean<T> Codec<T>get(Class<T> clazz, List<Type> typeArguments, CodecRegistry registry) Get aCodecusing the given context, which includes, most importantly, the Class for which aCodecis required.<T> Codec<T>get(Class<T> clazz, CodecRegistry registry) Get aCodecusing the given context, which includes, most importantly, the Class for which aCodecis required.inthashCode()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-nullBsonTypeClassMapwith which to construct instances ofDocumentCodecandListCodec
-
MapCodecProvider
Construct a new instance with a defaultBsonTypeClassMapand 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-nullBsonTypeClassMapwith which to construct instances ofMapCodec.valueTransformer- the value transformer for decoded values
-
-
Method Details
-
get
Description copied from interface:CodecProviderGet aCodecusing the given context, which includes, most importantly, the Class for which aCodecis 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:
getin 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:CodecProviderGet aCodecusing the given context, which includes, most importantly, the Class for which aCodecis required.The default implementation delegates to
CodecProvider.get(Class, CodecRegistry), thus not propagatingtypeArgumentswhen it uses theregistry.- Specified by:
getin 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, ifclazzisCollection.class, then the size oftypeArgumentsis one, sinceCollectionhas a single type parameter. The list may be empty either because theclazzis not generic, or because anotherCodecProviderdid not propagateclazz's type arguments to theregistrywhen 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
-