Class IterableCodec

java.lang.Object
org.bson.codecs.IterableCodec
All Implemented Interfaces:
Codec<Iterable<Object>>, Decoder<Iterable<Object>>, Encoder<Iterable<Object>>, OverridableUuidRepresentationCodec<Iterable<Object>>, Parameterizable

public class IterableCodec extends Object implements OverridableUuidRepresentationCodec<Iterable<Object>>, Parameterizable
Encodes and decodes Iterable objects.
Since:
3.3
  • Constructor Details

    • IterableCodec

      public IterableCodec(CodecRegistry registry, BsonTypeClassMap bsonTypeClassMap)
      Construct a new instance with the given CodecRegistry and BsonTypeClassMap.
      Parameters:
      registry - the non-null codec registry
      bsonTypeClassMap - the non-null BsonTypeClassMap
    • IterableCodec

      public IterableCodec(CodecRegistry registry, BsonTypeClassMap bsonTypeClassMap, Transformer valueTransformer)
      Construct a new instance with the given CodecRegistry and BsonTypeClassMap.
      Parameters:
      registry - the non-null codec registry
      bsonTypeClassMap - the non-null BsonTypeClassMap
      valueTransformer - the value Transformer
  • Method Details

    • parameterize

      public Codec<?> parameterize(CodecRegistry codecRegistry, List<Type> types)
      Description copied from interface: Parameterizable
      Recursively parameterize the codec with the given registry and generic type arguments.
      Specified by:
      parameterize in interface Parameterizable
      Parameters:
      codecRegistry - the code registry to use to resolve codecs for the generic type arguments
      types - the types that are parameterizing the containing type.
      Returns:
      the Codec parameterized with the given types
    • withUuidRepresentation

      public Codec<Iterable<Object>> withUuidRepresentation(UuidRepresentation uuidRepresentation)
      Description copied from interface: OverridableUuidRepresentationCodec
      Implementations must return a new instance with the UuidRepresentation overridden with the given value.
      Specified by:
      withUuidRepresentation in interface OverridableUuidRepresentationCodec<Iterable<Object>>
      Parameters:
      uuidRepresentation - the UuidRepresentation
      Returns:
      a new instance equivalent to this but with the given UuidRepresentation
    • decode

      public Iterable<Object> decode(BsonReader reader, DecoderContext decoderContext)
      Description copied from interface: Decoder
      Decodes a BSON value from the given reader into an instance of the type parameter T.
      Specified by:
      decode in interface Decoder<T>
      Parameters:
      reader - the BSON reader
      decoderContext - the decoder context
      Returns:
      an instance of the type parameter T.
    • encode

      public void encode(BsonWriter writer, Iterable<Object> value, EncoderContext encoderContext)
      Description copied from interface: Encoder
      Encode an instance of the type parameter T into a BSON value.
      Specified by:
      encode in interface Encoder<T>
      Parameters:
      writer - the BSON writer to encode into
      value - the value to encode
      encoderContext - the encoder context
    • getEncoderClass

      public Class<Iterable<Object>> getEncoderClass()
      Description copied from interface: Encoder
      Returns the Class instance that this encodes. This is necessary because Java does not reify generic types.
      Specified by:
      getEncoderClass in interface Encoder<T>
      Returns:
      the Class instance that this encodes.