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
ConstructorDescriptionLazyBSONObject
(byte[] bytes, int offset, LazyBSONCallback callback) Construct an instance.LazyBSONObject
(byte[] bytes, LazyBSONCallback callback) Construct an instance. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Checks if this object contains a field with the given name.entrySet()
Gets the entry set for all the key/value pairs in thisBSONObject
.boolean
Gets a field from this object by a given name.int
Gets the size in bytes of the BSON document.protected byte[]
getBytes()
Gets the raw bytes.protected int
Gets the offset into the raw bytes representing the start of the documentint
hashCode()
boolean
isEmpty()
Gets whether this is an emptyBSONObject
.keySet()
Returns this object's fields' namesint
pipe
(OutputStream os) Pipe the raw bytes into the given output stream.Always throwsUnsupportedOperationException
.void
Always throwsUnsupportedOperationException
.void
putAll
(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:BSONObject
Gets a field from this object by a given name.- Specified by:
get
in interfaceBSONObject
- Parameters:
key
- The name of the field fetch- Returns:
- The field, if found
-
containsField
Description copied from interface:BSONObject
Checks if this object contains a field with the given name.- Specified by:
containsField
in interfaceBSONObject
- Parameters:
s
- Field name for which to check- Returns:
- True if the field is present
-
keySet
Description copied from interface:BSONObject
Returns this object's fields' names- Specified by:
keySet
in 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:
put
in 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:
putAll
in interfaceBSONObject
- Parameters:
o
- the object- Throws:
UnsupportedOperationException
- the object is read only
-
putAll
Always throwsUnsupportedOperationException
.- Specified by:
putAll
in interfaceBSONObject
- Parameters:
m
- the map- Throws:
UnsupportedOperationException
- the object is read only
-
removeField
Always throwsUnsupportedOperationException
.- Specified by:
removeField
in 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:BSONObject
Returns a map representing this BSONObject.- Specified by:
toMap
in interfaceBSONObject
- Returns:
- the map
-