Class IterableCodecProvider

java.lang.Object
org.bson.codecs.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 Details

    • 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 Details

    • 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.

      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 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
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object