Package org.bson
Class LazyBSONObject
-
- org.bson.LazyBSONObject
-
- All Implemented Interfaces:
BSONObject
- Direct Known Subclasses:
LazyBSONList
,LazyDBObject
public class LazyBSONObject extends implements BSONObject
An immutableBSONObject
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
Constructors Constructor Description LazyBSONObject(byte[] bytes, int offset, LazyBSONCallback callback)
Construct an instance.LazyBSONObject(byte[] bytes, LazyBSONCallback callback)
Construct an instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description boolean
s)
Checks if this object contains a field with the given name.boolean
key)
Deprecated.<<,>>
entrySet()
Gets the entry set for all the key/value pairs in thisBSONObject
.boolean
o)
key)
Gets a field from this object by a given name.int
getBSONSize()
Gets the size in bytes of the BSON document.protected byte[]
getBytes()
Gets the raw bytes.protected int
getOffset()
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
os)
Pipe the raw bytes into the given output stream.key, v)
Always throwsUnsupportedOperationException
.void
m)
Always throwsUnsupportedOperationException
.void
putAll(BSONObject o)
Always throwsUnsupportedOperationException
.key)
Always throwsUnsupportedOperationException
.toMap()
Returns a map representing this BSONObject.
-
-
-
Constructor Detail
-
LazyBSONObject
public LazyBSONObject(byte[] bytes, LazyBSONCallback callback)
Construct an instance.- Parameters:
bytes
- the raw bytescallback
- the callback to use to construct nested values
-
LazyBSONObject
public LazyBSONObject(byte[] bytes, int offset, LazyBSONCallback callback)
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 Detail
-
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
public get( key)
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
-
containsKey
public boolean containsKey( key)
Deprecated.Description copied from interface:BSONObject
Deprecated- Specified by:
containsKey
in interfaceBSONObject
- Parameters:
key
- the key to check- Returns:
- True if the key is present
-
containsField
public boolean containsField( s)
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
public <> 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
public int pipe( os) throws
Pipe the raw bytes into the given output stream.- Parameters:
os
- the output stream- Returns:
- the number of bytes written
- Throws:
- any IOException thrown by the output stream
-
entrySet
public <<,>> 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()
- Overrides:
in class
-
equals
public boolean equals( o)
- Overrides:
in class
-
put
public put( key, v)
Always throwsUnsupportedOperationException
.- Specified by:
put
in interfaceBSONObject
- Parameters:
key
- Name to setv
- Corresponding value- Returns:
- will not return normally
- Throws:
- the object is read only
-
putAll
public void putAll(BSONObject o)
Always throwsUnsupportedOperationException
.- Specified by:
putAll
in interfaceBSONObject
- Parameters:
o
- the object- Throws:
- the object is read only
-
putAll
public void putAll( m)
Always throwsUnsupportedOperationException
.- Specified by:
putAll
in interfaceBSONObject
- Parameters:
m
- the map- Throws:
- the object is read only
-
removeField
public removeField( key)
Always throwsUnsupportedOperationException
.- Specified by:
removeField
in interfaceBSONObject
- Parameters:
key
- The name of the field to remove- Returns:
- will not return normally
- Throws:
- the object is read only
-
toMap
public toMap()
Description copied from interface:BSONObject
Returns a map representing this BSONObject.- Specified by:
toMap
in interfaceBSONObject
- Returns:
- the map
-
-