Class IterableCodecProvider

  • All Implemented Interfaces:
    CodecProvider

    public class IterableCodecProvider
    extends Object
    implements CodecProvider
    A CodecProvider for classes than implement the Iterable interface.
    Since:
    3.3
    • Constructor Detail

      • IterableCodecProvider

        public IterableCodecProvider()
        Construct a new instance with a default BsonTypeClassMap and no Transformer.
      • IterableCodecProvider

        public IterableCodecProvider​(Transformer valueTransformer)
        Construct a new instance with a default BsonTypeClassMap and the given Transformer. The transformer is used by the IterableCodec as a last step when decoding values.
        Parameters:
        valueTransformer - the value transformer for decoded values
      • IterableCodecProvider

        public IterableCodecProvider​(BsonTypeClassMap bsonTypeClassMap)
        Construct a new instance with the given instance of BsonTypeClassMap and no Transformer.
        Parameters:
        bsonTypeClassMap - the non-null BsonTypeClassMap with which to construct instances of DocumentCodec and ListCodec
      • IterableCodecProvider

        public IterableCodecProvider​(BsonTypeClassMap bsonTypeClassMap,
                                     Transformer valueTransformer)
        Construct a new instance with the given instance of BsonTypeClassMap and Transformer.
        Parameters:
        bsonTypeClassMap - the non-null BsonTypeClassMap with which to construct instances of DocumentCodec and ListCodec.
        valueTransformer - the value transformer for decoded values
    • Method Detail

      • get

        public <T> Codec<T> get​(Class<T> clazz,
                                CodecRegistry registry)
        Description copied from interface: CodecProvider
        Get a Codec using the given context, which includes, most importantly, the Class for which a Codec is required.
        Specified by:
        get in interface CodecProvider
        Type Parameters:
        T - the type of the class for which a Codec is required
        Parameters:
        clazz - the Class for which to get a Codec
        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
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object