The 3.0.x branch now has pluggable support for BSON codecs (encoders/decoders), as well as a few concrete implementations for Map-like classes: DBObjectCodec, DocumentCodec, and BsonDocumentCodec.
The goal for this issue is to create a ClassModelCodec (and associated ClassModelCodecProvider) that supports encoding and decoding any POJO (Plain Old Java Object).
This codec should support the following field types:
- String
- int, Integer
- long, Long
- boolean, Boolean
- double, Double
- Date
- POJO (for embedded documents)
- Binary
- java.util.List (of any of the preceding types)
It also must provide a way to indicate a mapping for the _id property (by convention or annotation).