Package org.bson
Interface BSONCallback
- All Known Implementing Classes:
BasicBSONCallback
,EmptyBSONCallback
,LazyBSONCallback
public interface BSONCallback
A callback interface for describing the structure of a BSON document. Implementations of this define how to turn BSON read from MongoDB
into Java objects.
See the BSON Spec.
-
Method Summary
Modifier and TypeMethodDescriptionCalled the end of the array, and returns the completed array.void
Signals the start of a BSON array.void
arrayStart
(String name) Signals the start of a BSON array, with its field name.Factory method for BSONCallbacks.get()
Returns the finished top-level Document.void
Called when reading a field with aBsonType.BINARY
value.void
gotBoolean
(String name, boolean value) Called when reading a field with aBsonType.BOOLEAN
value.void
Called when reading a field with aBsonType.JAVASCRIPT
value.void
gotCodeWScope
(String name, String code, Object scope) Called when reading a field with aBsonType.JAVASCRIPT_WITH_SCOPE
value.void
Called when reading a field with aBsonType.DATE_TIME
value.void
Invoked whenBSONDecoder
encountered aBsonType.DB_POINTER
type field in a byte sequence.void
gotDecimal128
(String name, Decimal128 value) Called when reading a field with aBsonType.DECIMAL128
value.void
Called when reading a field with aBsonType.DOUBLE
value.void
Called when reading a field with aBsonType.INT32
value.void
Called when reading a field with aBsonType.INT64
value.void
Called when reading a field with aBsonType.MAX_KEY
value.void
Called when reading a field with aBsonType.MIN_KEY
value.void
Called when reading a BSON field that exists but has a null value.void
gotObjectId
(String name, ObjectId id) Called when reading a field with aBsonType.OBJECT_ID
value.void
Called when reading a field with aBsonType.REGULAR_EXPRESSION
value.void
Called when reading a field with aBsonType.STRING
value.void
Called when reading a field with aBsonType.SYMBOL
value.void
gotTimestamp
(String name, int time, int increment) Called when reading a field with aBsonType.TIMESTAMP
value.void
gotUndefined
(String name) Called when reading a field with aBsonType.UNDEFINED
value.void
Called when reading a field with aUUID
value.Called at the end of the document/array, and returns this object.void
Signals the start of a BSON document, which usually maps onto some Java object.void
objectStart
(String name) Signals the start of a BSON document, which usually maps onto some Java object.void
reset()
Resets the callback, clearing all state.
-
Method Details
-
objectStart
void objectStart()Signals the start of a BSON document, which usually maps onto some Java object.- MongoDB documentation
- MongoDB Documents
-
objectStart
Signals the start of a BSON document, which usually maps onto some Java object.- Parameters:
name
- the field name of the document.- MongoDB documentation
- MongoDB Documents
-
objectDone
Object objectDone()Called at the end of the document/array, and returns this object.- Returns:
- the Object that has been read from this section of the document.
-
reset
void reset()Resets the callback, clearing all state. -
get
Object get()Returns the finished top-level Document.- Returns:
- the top level document read from the database.
-
createBSONCallback
BSONCallback createBSONCallback()Factory method for BSONCallbacks.- Returns:
- a new BSONCallback.
-
arrayStart
void arrayStart()Signals the start of a BSON array.- MongoDB documentation
- Arrays
-
arrayStart
Signals the start of a BSON array, with its field name.- Parameters:
name
- the name of this array field- MongoDB documentation
- Arrays
-
arrayDone
Object arrayDone()Called the end of the array, and returns the completed array.- Returns:
- an Object representing the array that has been read from this section of the document.
-
gotNull
Called when reading a BSON field that exists but has a null value.- Parameters:
name
- the name of the field- See Also:
-
gotUndefined
Called when reading a field with aBsonType.UNDEFINED
value.- Parameters:
name
- the name of the field- See Also:
-
gotMinKey
Called when reading a field with aBsonType.MIN_KEY
value.- Parameters:
name
- the name of the field
-
gotMaxKey
Called when reading a field with aBsonType.MAX_KEY
value.- Parameters:
name
- the name of the field
-
gotBoolean
Called when reading a field with aBsonType.BOOLEAN
value.- Parameters:
name
- the name of the fieldvalue
- the field's value
-
gotDouble
Called when reading a field with aBsonType.DOUBLE
value.- Parameters:
name
- the name of the fieldvalue
- the field's value
-
gotDecimal128
Called when reading a field with aBsonType.DECIMAL128
value.- Parameters:
name
- the field namevalue
- the Decimal128 field value- Since:
- 3.4
- Since server release
- 3.4
-
gotInt
Called when reading a field with aBsonType.INT32
value.- Parameters:
name
- the name of the fieldvalue
- the field's value
-
gotLong
Called when reading a field with aBsonType.INT64
value.- Parameters:
name
- the name of the fieldvalue
- the field's value
-
gotDate
Called when reading a field with aBsonType.DATE_TIME
value.- Parameters:
name
- the name of the fieldmillis
- the date and time in milliseconds
-
gotString
Called when reading a field with aBsonType.STRING
value.- Parameters:
name
- the name of the fieldvalue
- the field's value
-
gotSymbol
Called when reading a field with aBsonType.SYMBOL
value.- Parameters:
name
- the name of the fieldvalue
- the field's value
-
gotRegex
Called when reading a field with aBsonType.REGULAR_EXPRESSION
value.- Parameters:
name
- the name of the fieldpattern
- the regex patternflags
- the optional flags for the regular expression- MongoDB documentation
- $regex
-
gotTimestamp
Called when reading a field with aBsonType.TIMESTAMP
value.- Parameters:
name
- the name of the fieldtime
- the time in seconds since epochincrement
- an incrementing ordinal for operations within a given second- MongoDB documentation
- Timestamps
-
gotObjectId
Called when reading a field with aBsonType.OBJECT_ID
value.- Parameters:
name
- the name of the fieldid
- the object ID
-
gotDBRef
Invoked whenBSONDecoder
encountered aBsonType.DB_POINTER
type field in a byte sequence.- Parameters:
name
- the name of the fieldnamespace
- the namespace to which reference is pointing toid
- the if of the object to which reference is pointing to
-
gotBinary
Called when reading a field with aBsonType.BINARY
value. Note that binary values have a subtype, which may determine how the value is processed.- Parameters:
name
- the name of the fieldtype
- one of the binary subtypes:BsonBinarySubType
data
- the field's value
-
gotUUID
Called when reading a field with aUUID
value. This is a binary value of subtypeBsonBinarySubType.UUID_LEGACY
- Parameters:
name
- the name of the fieldpart1
- the first part of the UUIDpart2
- the second part of the UUID
-
gotCode
Called when reading a field with aBsonType.JAVASCRIPT
value.- Parameters:
name
- the name of the fieldcode
- the JavaScript code
-
gotCodeWScope
Called when reading a field with aBsonType.JAVASCRIPT_WITH_SCOPE
value.- Parameters:
name
- the name of the fieldcode
- the JavaScript codescope
- a document representing the scope for the code
-