Class IterableCodec

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

public class IterableCodec extends Object implements Codec<Iterable>, OverridableUuidRepresentationCodec<Iterable>
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

    • withUuidRepresentation

      public Codec<Iterable> 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>
      Parameters:
      uuidRepresentation - the UuidRepresentation
      Returns:
      a new instance equivalent to this but with the given UuidRepresentation
    • decode

      public Iterable 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<Iterable>
      Parameters:
      reader - the BSON reader
      decoderContext - the decoder context
      Returns:
      an instance of the type parameter T.
    • encode

      public void encode(BsonWriter writer, Iterable 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<Iterable>
      Parameters:
      writer - the BSON writer to encode into
      value - the value to encode
      encoderContext - the encoder context
    • getEncoderClass

      public Class<Iterable> 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<Iterable>
      Returns:
      the Class instance that this encodes.