Package org.bson
Class RawBsonDocument
- java.lang.Object
-
- org.bson.BsonValue
-
- org.bson.BsonDocument
-
- org.bson.RawBsonDocument
-
public final class RawBsonDocument extends BsonDocument
An immutable BSON document that is represented using only the raw bytes.- Since:
- 3.0
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description RawBsonDocument(byte[] bytes)Constructs a new instance with the given byte array.RawBsonDocument(byte[] bytes, int offset, int length)Constructs a new instance with the given byte array, offset, and length.RawBsonDocument(T document, Codec<T> codec)Construct a new instance from the given document and codec for the document type.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description BsonDocumentappend(String key, BsonValue value)Put the given key and value into this document, and return the document.voidclear()BsonDocumentclone()booleancontainsKey(Object key)booleancontainsValue(Object value)<T> Tdecode(Codec<T> codec)Decode this into a document.<T> Tdecode(Decoder<T> decoder)Decode this into a document.Set<Map.Entry<String,BsonValue>>entrySet()booleanequals(Object o)BsonValueget(Object key)ByteBufgetByteBuffer()Returns aByteBufthat wraps the byte array, with the proper byte order.StringgetFirstKey()Gets the first key in the document.inthashCode()booleanisEmpty()Set<String>keySet()static RawBsonDocumentparse(String json)Parses a string in MongoDB Extended JSON format to aRawBsonDocumentBsonValueput(String key, BsonValue value)voidputAll(Map<? extends String,? extends BsonValue> m)BsonValueremove(Object key)intsize()StringtoJson()Gets a JSON representation of this document using theJsonMode.STRICToutput mode, and otherwise the default settings ofJsonWriterSettings.Builder.StringtoJson(JsonWriterSettings settings)Gets a JSON representation of this document using the givenJsonWriterSettings.Collection<BsonValue>values()-
Methods inherited from class org.bson.BsonDocument
asBsonReader, get, getArray, getArray, getBinary, getBinary, getBoolean, getBoolean, getBsonType, getDateTime, getDateTime, getDecimal128, getDecimal128, getDocument, getDocument, getDouble, getDouble, 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, toBsonDocument, toString
-
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
-
-
-
-
Constructor Detail
-
RawBsonDocument
public RawBsonDocument(byte[] bytes)
Constructs a new instance with the given byte array. Note that it does not make a copy of the array, so do not modify it after passing it to this constructor.- Parameters:
bytes- the bytes representing a BSON document. Note that the byte array is NOT copied, so care must be taken not to modify it after passing it to this construction, unless of course that is your intention.
-
RawBsonDocument
public RawBsonDocument(byte[] bytes, int offset, int length)Constructs a new instance with the given byte array, offset, and length. Note that it does not make a copy of the array, so do not modify it after passing it to this constructor.- Parameters:
bytes- the bytes representing a BSON document. Note that the byte array is NOT copied, so care must be taken not to modify it after passing it to this construction, unless of course that is your intention.offset- the offset into the byte arraylength- the length of the subarray to use- Since:
- 3.3
-
RawBsonDocument
public RawBsonDocument(T document, Codec<T> codec)Construct a new instance from the given document and codec for the document type.- Type Parameters:
T- the BSON type that the codec encodes/decodes- Parameters:
document- the document to transformcodec- the codec to facilitate the transformation
-
-
Method Detail
-
parse
public static RawBsonDocument parse(String json)
Parses a string in MongoDB Extended JSON format to aRawBsonDocument- Parameters:
json- the JSON string- Returns:
- a corresponding
RawBsonDocumentobject - Since:
- 3.3
- See Also:
JsonReader- MongoDB documentation
- MongoDB Extended JSON
-
getByteBuffer
public ByteBuf getByteBuffer()
Returns aByteBufthat wraps the byte array, with the proper byte order. Any changes made to the returned will be reflected in the underlying byte array owned by this instance.- Returns:
- a byte buffer that wraps the byte array owned by this instance.
-
decode
public <T> T decode(Codec<T> codec)
Decode this into a document.- Type Parameters:
T- the BSON type that the codec encodes/decodes- Parameters:
codec- the codec to facilitate the transformation- Returns:
- the decoded document
-
decode
public <T> T decode(Decoder<T> decoder)
Decode this into a document.- Type Parameters:
T- the BSON type that the codec encodes/decodes- Parameters:
decoder- the decoder to facilitate the transformation- Returns:
- the decoded document
- Since:
- 3.6
-
clear
public void clear()
-
append
public BsonDocument append(String key, BsonValue value)
Description copied from class:BsonDocumentPut the given key and value into this document, and return the document.- Overrides:
appendin classBsonDocument- Parameters:
key- the keyvalue- the value- Returns:
- this
-
isEmpty
public boolean isEmpty()
-
size
public int size()
-
values
public Collection<BsonValue> values()
-
getFirstKey
public String getFirstKey()
Description copied from class:BsonDocumentGets the first key in the document.- Overrides:
getFirstKeyin classBsonDocument- Returns:
- the first key in the document
-
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
-
toJson
public String toJson()
Description copied from class:BsonDocumentGets a JSON representation of this document using theJsonMode.STRICToutput mode, and otherwise the default settings ofJsonWriterSettings.Builder.- Overrides:
toJsonin classBsonDocument- Returns:
- a JSON representation of this document
- See Also:
BsonDocument.toJson(JsonWriterSettings),JsonWriterSettings
-
toJson
public String toJson(JsonWriterSettings settings)
Description copied from class:BsonDocumentGets a JSON representation of this document using the givenJsonWriterSettings.- Overrides:
toJsonin classBsonDocument- Parameters:
settings- the JSON writer settings- Returns:
- a JSON representation of this document
-
equals
public boolean equals(Object o)
-
hashCode
public int hashCode()
-
clone
public BsonDocument clone()
- Overrides:
clonein classBsonDocument
-
-