Package org.bson
Class BsonDocumentWrapper<T>
java.lang.Object
org.bson.BsonValue
org.bson.BsonDocument
org.bson.BsonDocumentWrapper<T>
- Type Parameters:
T
- the type of the document that is wrapped
A
BsonDocument
that begins its life as a document of any type and an Encoder
for that document, which lets an instance of
any class with an Encoder be treated as a BsonDocument. If any methods are called which required access to the individual elements of the
document, then, on demand, the document will be unwrapped into a BsonDocument using a BsonDocumentWriter
and the Encoder
.
But if all that is done with this document is to encode it, then the Encoder
will be used to do that.- Since:
- 3.0
- See Also:
-
Nested Class Summary
-
Field Summary
Fields inherited from interface org.bson.conversions.Bson
DEFAULT_CODEC_REGISTRY
-
Constructor Summary
ConstructorDescriptionBsonDocumentWrapper
(T wrappedDocument, Encoder<T> encoder) Construct a new instance with the given document and encoder for the document. -
Method Summary
Modifier and TypeMethodDescriptionstatic BsonDocument
asBsonDocument
(Object document, CodecRegistry codecRegistry) A helper to convert an document of type Object to a BsonDocumentvoid
clear()
clone()
boolean
containsKey
(Object key) boolean
containsValue
(Object value) entrySet()
boolean
Get the encoder to use for the wrapped document.Get the wrapped document.int
hashCode()
boolean
isEmpty()
boolean
Determine whether the document has been unwrapped already.keySet()
void
int
size()
toString()
values()
Methods inherited from class org.bson.BsonDocument
append, asBsonReader, get, getArray, getArray, getBinary, getBinary, getBoolean, getBoolean, getBsonType, getDateTime, getDateTime, getDecimal128, getDecimal128, getDocument, getDocument, getDouble, getDouble, getFirstKey, getInt32, getInt32, getInt64, getInt64, getNumber, getNumber, getObjectId, getObjectId, getRegularExpression, getRegularExpression, getString, getString, getTimestamp, getTimestamp, isArray, isBinary, isBoolean, isDateTime, isDecimal128, isDocument, isDouble, isInt32, isInt64, isNull, isNumber, isObjectId, isString, isTimestamp, parse, toBsonDocument, toJson, toJson
Methods inherited from class org.bson.BsonValue
asArray, asBinary, asBoolean, asDateTime, asDBPointer, asDecimal128, asDocument, asDouble, asInt32, asInt64, asJavaScript, asJavaScriptWithScope, asNumber, asObjectId, asRegularExpression, asString, asSymbol, asTimestamp, isArray, isBinary, isBoolean, isDateTime, isDBPointer, isDecimal128, isDocument, isDouble, isInt32, isInt64, isJavaScript, isJavaScriptWithScope, isNull, isNumber, isObjectId, isRegularExpression, isString, isSymbol, isTimestamp
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.bson.conversions.Bson
toBsonDocument
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
-
Constructor Details
-
BsonDocumentWrapper
Construct a new instance with the given document and encoder for the document.- Parameters:
wrappedDocument
- the wrapped documentencoder
- the encoder for the wrapped document
-
-
Method Details
-
asBsonDocument
A helper to convert an document of type Object to a BsonDocumentIf not already a BsonDocument it looks up the documents' class in the codecRegistry and wraps it into a BsonDocumentWrapper
- Parameters:
document
- the document to convertcodecRegistry
- the codecRegistry that can be used in the conversion of the Object- Returns:
- a BsonDocument
-
getWrappedDocument
Get the wrapped document.- Returns:
- the wrapped document
-
getEncoder
Get the encoder to use for the wrapped document.- Returns:
- the encoder
-
isUnwrapped
public boolean isUnwrapped()Determine whether the document has been unwrapped already.- Returns:
- true if the wrapped document has been unwrapped already
-
size
public int size() -
isEmpty
public boolean isEmpty() -
containsKey
- Specified by:
containsKey
in interfaceMap<String,
BsonValue> - Overrides:
containsKey
in classBsonDocument
-
containsValue
- Specified by:
containsValue
in interfaceMap<String,
BsonValue> - Overrides:
containsValue
in classBsonDocument
-
get
-
put
-
remove
-
putAll
-
clear
public void clear() -
keySet
-
values
-
entrySet
-
equals
-
hashCode
public int hashCode() -
toString
- Overrides:
toString
in classBsonDocument
-
clone
- Overrides:
clone
in classBsonDocument
-