Package org.bson.codecs
Class CollectionCodecProvider
java.lang.Object
org.bson.codecs.CollectionCodecProvider
- All Implemented Interfaces:
CodecProvider
A
CodecProvider for classes than implement the Collection interface.- Since:
- 3.3
-
Constructor Summary
ConstructorsConstructorDescriptionConstruct a new instance with a defaultBsonTypeClassMapand noTransformer.CollectionCodecProvider(BsonTypeClassMap bsonTypeClassMap) Construct a new instance with the given instance ofBsonTypeClassMapand noTransformer.CollectionCodecProvider(BsonTypeClassMap bsonTypeClassMap, Transformer valueTransformer) Construct a new instance with the given instance ofBsonTypeClassMapandTransformer.CollectionCodecProvider(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
-
CollectionCodecProvider
public CollectionCodecProvider()Construct a new instance with a defaultBsonTypeClassMapand noTransformer. -
CollectionCodecProvider
Construct a new instance with a defaultBsonTypeClassMapand the givenTransformer. The transformer is used by the IterableCodec as a last step when decoding values.- Parameters:
valueTransformer- the value transformer for decoded values
-
CollectionCodecProvider
Construct a new instance with the given instance ofBsonTypeClassMapand noTransformer.- Parameters:
bsonTypeClassMap- the non-nullBsonTypeClassMapwith which to construct instances ofDocumentCodecandListCodec
-
CollectionCodecProvider
Construct a new instance with the given instance ofBsonTypeClassMapandTransformer.- Parameters:
bsonTypeClassMap- the non-nullBsonTypeClassMapwith which to construct instances ofDocumentCodecandListCodec.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
-