| Interface | Description | 
|---|---|
| BSONCallback | A callback interface for describing the structure of a BSON document. | 
| BSONDecoder | An interface for decoders of BSON documents. | 
| BSONEncoder | A  BSONEncoderis a class which can be used to turn documents into byte arrays. | 
| BSONObject | A key-value map that can be saved to the database. | 
| BsonReader | An interface for reading a logical BSON document using a pull-oriented API. | 
| BsonWriter | An interface for writing a logical BSON document using a push-oriented API. | 
| ByteBuf | An interface wrapper around a  java.nio.ByteBufferwhich additionally isCloseable, so that pooled byte buffers know
 how. | 
| FieldNameValidator | A field name validator, for use by BSON writers to validate field names as documents are encoded. | 
| Transformer | Transforms objects that can be converted to BSON into other Java types, and vice versa. | 
| Class | Description | 
|---|---|
| AbstractBsonReader | Abstract base class for BsonReader implementations. | 
| AbstractBsonWriter | Represents a BSON writer for some external format (see subclasses). | 
| BasicBSONCallback | An implementation of  BsonCallbackthat creates an instance of BSONObject. | 
| BasicBSONDecoder | Basic implementation of BSONDecoder interface that creates BasicBSONObject instances | 
| BasicBSONEncoder | This is meant to be pooled or cached. | 
| BasicBSONObject | A simple implementation of  DBObject. | 
| BSON | Contains byte representations of all the BSON types (see the BSON Specification). | 
| BsonArray | A type-safe representation of the BSON array type. | 
| BsonBinary | A representation of the BSON Binary type. | 
| BsonBinaryReader | A BsonReader implementation that reads from a binary stream of data. | 
| BsonBinaryWriter | A BsonWriter implementation that writes to a binary stream of data. | 
| BsonBinaryWriterSettings | The customisable settings for writing BSON. | 
| BsonBoolean | A representation of the BSON Boolean type. | 
| BsonDateTime | A representation of the BSON DateTime type. | 
| BsonDbPointer | Holder for a BSON type DBPointer(0x0c). | 
| BsonDecimal128 | A representation of the BSON Decimal128 type. | 
| BsonDocument | A type-safe container for a BSON document. | 
| BsonDocumentReader | A  BsonReaderimplementation that reads from an instance ofBsonDocument. | 
| BsonDocumentWrapper<T> | A  BsonDocumentthat begins its life as a document of any type and anEncoderfor that document, which lets an instance of
 any class with an Encoder be treated as a BsonDocument. | 
| BsonDocumentWriter | A  BsonWriterimplementation that writes to an instance ofBsonDocument. | 
| BsonDouble | A representation of the BSON Double type. | 
| BsonElement | A mapping from a name to a BsonValue. | 
| BsonInt32 | A representation of the BSON Int32 type. | 
| BsonInt64 | A representation of the BSON Int64 type. | 
| BsonJavaScript | For using the JavaScript Code type. | 
| BsonJavaScriptWithScope | A representation of the JavaScript Code with Scope BSON type. | 
| BsonMaxKey | Represent the maximum key value regardless of the key's type | 
| BsonMinKey | Represent the minimum key value regardless of the key's type | 
| BsonNull | A representation of the BSON Null type. | 
| BsonNumber | Base class for the three numeric BSON types. | 
| BsonObjectId | A representation of the BSON ObjectId type. | 
| BsonRegularExpression | A holder class for a BSON regular expression, so that we can delay compiling into a Pattern until necessary. | 
| BsonString | A representation of the BSON String type. | 
| BsonSymbol | Class to hold a BSON symbol object, which is an interned string in Ruby | 
| BsonTimestamp | A value representing the BSON timestamp type. | 
| BsonUndefined | Represents the value associated with the BSON Undefined type. | 
| BsonValue | Base class for any BSON type. | 
| BsonWriterSettings | All the customisable settings for writing BSON. | 
| ByteBufNIO | Implementation of  ByteBufwhich simply wraps an NIOByteBufferand forwards all calls to it. | 
| Document | A representation of a document as a  Map. | 
| EmptyBSONCallback | Convenience implementation of BSONCallback that throws  UnsupportedOperationExceptionfor all methods. | 
| LazyBSONCallback | A  BSONCallbackfor creation ofLazyBSONObjectandLazyBSONListinstances. | 
| LazyBSONDecoder | A decoder for  LazyBSONObjectinstances. | 
| LazyBSONList | A  LazyBSONObjectrepresenting a BSON array. | 
| LazyBSONObject | An immutable  BSONObjectbacked by a byte buffer that lazily provides keys and values on request. | 
| RawBsonDocument | An immutable BSON document that is represented using only the raw bytes. | 
| Enum | Description | 
|---|---|
| AbstractBsonReader.State | The state of a reader. | 
| AbstractBsonWriter.State | The state of a writer. | 
| BsonBinarySubType | The Binary subtype | 
| BsonContextType | Used by BsonReader and BsonWriter implementations to represent the current context. | 
| BsonType | Enumeration of all the BSON types currently supported. | 
| UuidRepresentation | The representation to use when converting a UUID to a BSON binary value. | 
| Exception | Description | 
|---|---|
| BSONException | A general runtime exception raised in BSON processing. | 
| BsonInvalidOperationException | An exception indicating an invalid BSON operation. | 
| BsonSerializationException | An exception indicating a failure to serialize a BSON value. |