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
public final class BsonDocumentWrapper<T> extends BsonDocument
ABsonDocumentthat 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. 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 aBsonDocumentWriterand theEncoder. But if all that is done with this document is to encode it, then theEncoderwill be used to do that.- Since:
- 3.0
- See Also:
BsonDocumentWriter, Serialized Form
-
-
Constructor Summary
Constructors Constructor Description BsonDocumentWrapper(T wrappedDocument, Encoder<T> encoder)Construct a new instance with the given document and encoder for the document.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static BsonDocumentasBsonDocument(Object document, CodecRegistry codecRegistry)A helper to convert an document of type Object to a BsonDocumentvoidclear()BsonDocumentclone()booleancontainsKey(Object key)booleancontainsValue(Object value)Set<Map.Entry<String,BsonValue>>entrySet()booleanequals(Object o)BsonValueget(Object key)Encoder<T>getEncoder()Get the encoder to use for the wrapped document.TgetWrappedDocument()Get the wrapped document.inthashCode()booleanisEmpty()booleanisUnwrapped()Determine whether the document has been unwrapped already.Set<String>keySet()BsonValueput(String key, BsonValue value)voidputAll(Map<? extends String,? extends BsonValue> m)BsonValueremove(Object key)intsize()StringtoString()Collection<BsonValue>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 interface java.util.Map
compute, computeIfAbsent, computeIfPresent, entry, forEach, getOrDefault, merge, of, of, of, of, of, of, of, of, of, of, of, ofEntries, putIfAbsent, remove, replace, replace, replaceAll
-
-
-
-
Method Detail
-
asBsonDocument
public static BsonDocument asBsonDocument(Object document, CodecRegistry codecRegistry)
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
public T getWrappedDocument()
Get the wrapped document.- Returns:
- the wrapped document
-
getEncoder
public Encoder<T> 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
public boolean containsKey(Object key)
- Specified by:
containsKeyin interfaceMap<String,BsonValue>- Overrides:
containsKeyin classBsonDocument
-
containsValue
public boolean containsValue(Object value)
- Specified by:
containsValuein interfaceMap<String,BsonValue>- Overrides:
containsValuein classBsonDocument
-
clear
public void clear()
-
values
public Collection<BsonValue> values()
-
equals
public boolean equals(Object o)
-
hashCode
public int hashCode()
-
toString
public String toString()
- Overrides:
toStringin classBsonDocument
-
clone
public BsonDocument clone()
- Overrides:
clonein classBsonDocument
-
-