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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Object
arrayDone()
Called the end of the array, and returns the completed array.void
arrayStart()
Signals the start of a BSON array.void
arrayStart(String name)
Signals the start of a BSON array, with its field name.BSONCallback
createBSONCallback()
Factory method for BSONCallbacks.Object
get()
Returns the finished top-level Document.void
gotBinary(String name, byte type, byte[] data)
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
gotCode(String name, String code)
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
gotDate(String name, long millis)
Called when reading a field with aBsonType.DATE_TIME
value.void
gotDBRef(String name, String namespace, ObjectId id)
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
gotDouble(String name, double value)
Called when reading a field with aBsonType.DOUBLE
value.void
gotInt(String name, int value)
Called when reading a field with aBsonType.INT32
value.void
gotLong(String name, long value)
Called when reading a field with aBsonType.INT64
value.void
gotMaxKey(String name)
Called when reading a field with aBsonType.MAX_KEY
value.void
gotMinKey(String name)
Called when reading a field with aBsonType.MIN_KEY
value.void
gotNull(String name)
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
gotRegex(String name, String pattern, String flags)
Called when reading a field with aBsonType.REGULAR_EXPRESSION
value.void
gotString(String name, String value)
Called when reading a field with aBsonType.STRING
value.void
gotSymbol(String name, String value)
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
gotUUID(String name, long part1, long part2)
Called when reading a field with aUUID
value.Object
objectDone()
Called at the end of the document/array, and returns this object.void
objectStart()
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 Detail
-
objectStart
void objectStart()
Signals the start of a BSON document, which usually maps onto some Java object.- MongoDB documentation
- MongoDB Documents
-
objectStart
void objectStart(String name)
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
void arrayStart(String name)
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
void gotNull(String name)
Called when reading a BSON field that exists but has a null value.- Parameters:
name
- the name of the field- See Also:
BsonType.NULL
-
gotUndefined
void gotUndefined(String name)
Called when reading a field with aBsonType.UNDEFINED
value.- Parameters:
name
- the name of the field- See Also:
BsonType.UNDEFINED
-
gotMinKey
void gotMinKey(String name)
Called when reading a field with aBsonType.MIN_KEY
value.- Parameters:
name
- the name of the field
-
gotMaxKey
void gotMaxKey(String name)
Called when reading a field with aBsonType.MAX_KEY
value.- Parameters:
name
- the name of the field
-
gotBoolean
void gotBoolean(String name, boolean value)
Called when reading a field with aBsonType.BOOLEAN
value.- Parameters:
name
- the name of the fieldvalue
- the field's value
-
gotDouble
void gotDouble(String name, double value)
Called when reading a field with aBsonType.DOUBLE
value.- Parameters:
name
- the name of the fieldvalue
- the field's value
-
gotDecimal128
void gotDecimal128(String name, Decimal128 value)
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
void gotInt(String name, int value)
Called when reading a field with aBsonType.INT32
value.- Parameters:
name
- the name of the fieldvalue
- the field's value
-
gotLong
void gotLong(String name, long value)
Called when reading a field with aBsonType.INT64
value.- Parameters:
name
- the name of the fieldvalue
- the field's value
-
gotDate
void gotDate(String name, long millis)
Called when reading a field with aBsonType.DATE_TIME
value.- Parameters:
name
- the name of the fieldmillis
- the date and time in milliseconds
-
gotString
void gotString(String name, String value)
Called when reading a field with aBsonType.STRING
value.- Parameters:
name
- the name of the fieldvalue
- the field's value
-
gotSymbol
void gotSymbol(String name, String value)
Called when reading a field with aBsonType.SYMBOL
value.- Parameters:
name
- the name of the fieldvalue
- the field's value
-
gotRegex
void gotRegex(String name, String pattern, String flags)
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
void gotTimestamp(String name, int time, int increment)
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
void gotObjectId(String name, ObjectId id)
Called when reading a field with aBsonType.OBJECT_ID
value.- Parameters:
name
- the name of the fieldid
- the object ID
-
gotDBRef
void gotDBRef(String name, String namespace, ObjectId id)
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
void gotBinary(String name, byte type, byte[] data)
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
void gotUUID(String name, long part1, long part2)
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
void gotCode(String name, String code)
Called when reading a field with aBsonType.JAVASCRIPT
value.- Parameters:
name
- the name of the fieldcode
- the JavaScript code
-
gotCodeWScope
void gotCodeWScope(String name, String code, Object scope)
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
-
-