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 BsonDocument
append(String key, BsonValue value)
Put the given key and value into this document, and return the document.void
clear()
BsonDocument
clone()
boolean
containsKey(Object key)
boolean
containsValue(Object value)
<T> T
decode(Codec<T> codec)
Decode this into a document.<T> T
decode(Decoder<T> decoder)
Decode this into a document.Set<Map.Entry<String,BsonValue>>
entrySet()
boolean
equals(Object o)
BsonValue
get(Object key)
ByteBuf
getByteBuffer()
Returns aByteBuf
that wraps the byte array, with the proper byte order.String
getFirstKey()
Gets the first key in the document.int
hashCode()
boolean
isEmpty()
Set<String>
keySet()
static RawBsonDocument
parse(String json)
Parses a string in MongoDB Extended JSON format to aRawBsonDocument
BsonValue
put(String key, BsonValue value)
void
putAll(Map<? extends String,? extends BsonValue> m)
BsonValue
remove(Object key)
int
size()
String
toJson()
Gets a JSON representation of this document using theJsonMode.STRICT
output mode, and otherwise the default settings ofJsonWriterSettings.Builder
.String
toJson(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 class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, 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
RawBsonDocument
object - Since:
- 3.3
- See Also:
JsonReader
- MongoDB documentation
- MongoDB Extended JSON
-
getByteBuffer
public ByteBuf getByteBuffer()
Returns aByteBuf
that 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:BsonDocument
Put the given key and value into this document, and return the document.- Overrides:
append
in 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:BsonDocument
Gets the first key in the document.- Overrides:
getFirstKey
in classBsonDocument
- Returns:
- the first key in the document
-
containsKey
public boolean containsKey(Object key)
- Specified by:
containsKey
in interfaceMap<String,BsonValue>
- Overrides:
containsKey
in classBsonDocument
-
containsValue
public boolean containsValue(Object value)
- Specified by:
containsValue
in interfaceMap<String,BsonValue>
- Overrides:
containsValue
in classBsonDocument
-
toJson
public String toJson()
Description copied from class:BsonDocument
Gets a JSON representation of this document using theJsonMode.STRICT
output mode, and otherwise the default settings ofJsonWriterSettings.Builder
.- Overrides:
toJson
in classBsonDocument
- Returns:
- a JSON representation of this document
- See Also:
BsonDocument.toJson(JsonWriterSettings)
,JsonWriterSettings
-
toJson
public String toJson(JsonWriterSettings settings)
Description copied from class:BsonDocument
Gets a JSON representation of this document using the givenJsonWriterSettings
.- Overrides:
toJson
in 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:
clone
in classBsonDocument
-
-