Package org.bson
Class LazyBSONObject
java.lang.Object
org.bson.LazyBSONObject
- All Implemented Interfaces:
BSONObject
- Direct Known Subclasses:
LazyBSONList
An immutable
BSONObject backed by a byte buffer that lazily provides keys and values on request. This is useful for transferring
BSON documents between servers when you don't want to pay the performance penalty of encoding or decoding them fully.-
Constructor Summary
ConstructorsConstructorDescriptionLazyBSONObject(byte[] bytes, int offset, LazyBSONCallback callback) Construct an instance.LazyBSONObject(byte[] bytes, LazyBSONCallback callback) Construct an instance. -
Method Summary
Modifier and TypeMethodDescriptionbooleanChecks if this object contains a field with the given name.entrySet()Gets the entry set for all the key/value pairs in thisBSONObject.booleanGets a field from this object by a given name.intGets the size in bytes of the BSON document.protected byte[]getBytes()Gets the raw bytes.protected intGets the offset into the raw bytes representing the start of the documentinthashCode()booleanisEmpty()Gets whether this is an emptyBSONObject.keySet()Returns this object's fields' namesintpipe(OutputStream os) Pipe the raw bytes into the given output stream.Always throwsUnsupportedOperationException.voidAlways throwsUnsupportedOperationException.voidputAll(BSONObject o) Always throwsUnsupportedOperationException.removeField(String key) Always throwsUnsupportedOperationException.toMap()Returns a map representing this BSONObject.
-
Constructor Details
-
LazyBSONObject
Construct an instance.- Parameters:
bytes- the raw bytescallback- the callback to use to construct nested values
-
LazyBSONObject
Construct an instance.- Parameters:
bytes- the raw bytesoffset- the offset into the raw bytes representing the start of the documentcallback- the callback to use to construct nested values
-
-
Method Details
-
getOffset
protected int getOffset()Gets the offset into the raw bytes representing the start of the document- Returns:
- the offset
-
getBytes
protected byte[] getBytes()Gets the raw bytes.- Returns:
- the raw bytes
-
get
Description copied from interface:BSONObjectGets a field from this object by a given name.- Specified by:
getin interfaceBSONObject- Parameters:
key- The name of the field fetch- Returns:
- The field, if found
-
containsField
Description copied from interface:BSONObjectChecks if this object contains a field with the given name.- Specified by:
containsFieldin interfaceBSONObject- Parameters:
s- Field name for which to check- Returns:
- True if the field is present
-
keySet
Description copied from interface:BSONObjectReturns this object's fields' names- Specified by:
keySetin interfaceBSONObject- Returns:
- The names of the fields in this object
-
isEmpty
public boolean isEmpty()Gets whether this is an emptyBSONObject.- Returns:
- true if this has no keys
-
getBSONSize
public int getBSONSize()Gets the size in bytes of the BSON document.- Returns:
- the size in bytes
-
pipe
Pipe the raw bytes into the given output stream.- Parameters:
os- the output stream- Returns:
- the number of bytes written
- Throws:
IOException- any IOException thrown by the output stream
-
entrySet
Gets the entry set for all the key/value pairs in thisBSONObject. The returned set is immutable.- Returns:
- then entry set
-
hashCode
public int hashCode() -
equals
-
put
Always throwsUnsupportedOperationException.- Specified by:
putin interfaceBSONObject- Parameters:
key- Name to setv- Corresponding value- Returns:
- will not return normally
- Throws:
UnsupportedOperationException- the object is read only
-
putAll
Always throwsUnsupportedOperationException.- Specified by:
putAllin interfaceBSONObject- Parameters:
o- the object- Throws:
UnsupportedOperationException- the object is read only
-
putAll
Always throwsUnsupportedOperationException.- Specified by:
putAllin interfaceBSONObject- Parameters:
m- the map- Throws:
UnsupportedOperationException- the object is read only
-
removeField
Always throwsUnsupportedOperationException.- Specified by:
removeFieldin interfaceBSONObject- Parameters:
key- The name of the field to remove- Returns:
- will not return normally
- Throws:
UnsupportedOperationException- the object is read only
-
toMap
Description copied from interface:BSONObjectReturns a map representing this BSONObject.- Specified by:
toMapin interfaceBSONObject- Returns:
- the map
-