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
ConstructorDescriptionConstruct a new instance with a defaultBsonTypeClassMap
and noTransformer
.CollectionCodecProvider
(BsonTypeClassMap bsonTypeClassMap) Construct a new instance with the given instance ofBsonTypeClassMap
and noTransformer
.CollectionCodecProvider
(BsonTypeClassMap bsonTypeClassMap, Transformer valueTransformer) Construct a new instance with the given instance ofBsonTypeClassMap
andTransformer
.CollectionCodecProvider
(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
-
CollectionCodecProvider
public CollectionCodecProvider()Construct a new instance with a defaultBsonTypeClassMap
and noTransformer
. -
CollectionCodecProvider
Construct a new instance with a defaultBsonTypeClassMap
and 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 ofBsonTypeClassMap
and noTransformer
.- Parameters:
bsonTypeClassMap
- the non-nullBsonTypeClassMap
with which to construct instances ofDocumentCodec
andListCodec
-
CollectionCodecProvider
Construct a new instance with the given instance ofBsonTypeClassMap
andTransformer
.- Parameters:
bsonTypeClassMap
- the non-nullBsonTypeClassMap
with which to construct instances ofDocumentCodec
andListCodec
.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
-