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
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,java.util.Map<java.lang.String,BsonValue>
,Bson
public final class BsonDocumentWrapper<T> extends BsonDocument
ABsonDocument
that begins its life as a document of any type and anEncoder
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 aBsonDocumentWriter
and theEncoder
. But if all that is done with this document is to encode it, then theEncoder
will 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 BsonDocument
asBsonDocument(java.lang.Object document, CodecRegistry codecRegistry)
A helper to convert an document of type Object to a BsonDocumentvoid
clear()
BsonDocument
clone()
boolean
containsKey(java.lang.Object key)
boolean
containsValue(java.lang.Object value)
java.util.Set<java.util.Map.Entry<java.lang.String,BsonValue>>
entrySet()
boolean
equals(java.lang.Object o)
BsonValue
get(java.lang.Object key)
Encoder<T>
getEncoder()
Get the encoder to use for the wrapped document.T
getWrappedDocument()
Get the wrapped document.int
hashCode()
boolean
isEmpty()
boolean
isUnwrapped()
Determine whether the document has been unwrapped already.java.util.Set<java.lang.String>
keySet()
BsonValue
put(java.lang.String key, BsonValue value)
void
putAll(java.util.Map<? extends java.lang.String,? extends BsonValue> m)
BsonValue
remove(java.lang.Object key)
int
size()
java.lang.String
toString()
java.util.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
-
-
-
-
Method Detail
-
asBsonDocument
public static BsonDocument asBsonDocument(java.lang.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()
- Specified by:
size
in interfacejava.util.Map<java.lang.String,BsonValue>
- Overrides:
size
in classBsonDocument
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interfacejava.util.Map<java.lang.String,BsonValue>
- Overrides:
isEmpty
in classBsonDocument
-
containsKey
public boolean containsKey(java.lang.Object key)
- Specified by:
containsKey
in interfacejava.util.Map<java.lang.String,BsonValue>
- Overrides:
containsKey
in classBsonDocument
-
containsValue
public boolean containsValue(java.lang.Object value)
- Specified by:
containsValue
in interfacejava.util.Map<java.lang.String,BsonValue>
- Overrides:
containsValue
in classBsonDocument
-
get
public BsonValue get(java.lang.Object key)
- Specified by:
get
in interfacejava.util.Map<java.lang.String,BsonValue>
- Overrides:
get
in classBsonDocument
-
put
public BsonValue put(java.lang.String key, BsonValue value)
- Specified by:
put
in interfacejava.util.Map<java.lang.String,BsonValue>
- Overrides:
put
in classBsonDocument
-
remove
public BsonValue remove(java.lang.Object key)
- Specified by:
remove
in interfacejava.util.Map<java.lang.String,BsonValue>
- Overrides:
remove
in classBsonDocument
-
putAll
public void putAll(java.util.Map<? extends java.lang.String,? extends BsonValue> m)
- Specified by:
putAll
in interfacejava.util.Map<java.lang.String,BsonValue>
- Overrides:
putAll
in classBsonDocument
-
clear
public void clear()
- Specified by:
clear
in interfacejava.util.Map<java.lang.String,BsonValue>
- Overrides:
clear
in classBsonDocument
-
keySet
public java.util.Set<java.lang.String> keySet()
- Specified by:
keySet
in interfacejava.util.Map<java.lang.String,BsonValue>
- Overrides:
keySet
in classBsonDocument
-
values
public java.util.Collection<BsonValue> values()
- Specified by:
values
in interfacejava.util.Map<java.lang.String,BsonValue>
- Overrides:
values
in classBsonDocument
-
entrySet
public java.util.Set<java.util.Map.Entry<java.lang.String,BsonValue>> entrySet()
- Specified by:
entrySet
in interfacejava.util.Map<java.lang.String,BsonValue>
- Overrides:
entrySet
in classBsonDocument
-
equals
public boolean equals(java.lang.Object o)
- Specified by:
equals
in interfacejava.util.Map<java.lang.String,BsonValue>
- Overrides:
equals
in classBsonDocument
-
hashCode
public int hashCode()
- Specified by:
hashCode
in interfacejava.util.Map<java.lang.String,BsonValue>
- Overrides:
hashCode
in classBsonDocument
-
toString
public java.lang.String toString()
- Overrides:
toString
in classBsonDocument
-
clone
public BsonDocument clone()
- Overrides:
clone
in classBsonDocument
-
-