Package org.bson

Class BasicBSONCallback

java.lang.Object
org.bson.BasicBSONCallback
All Implemented Interfaces:
BSONCallback

public class BasicBSONCallback extends Object implements BSONCallback
An implementation of BsonCallback that creates an instance of BSONObject.
  • Constructor Details

    • BasicBSONCallback

      public BasicBSONCallback()
      Creates a new instance.
  • Method Details

    • get

      public Object get()
      Description copied from interface: BSONCallback
      Returns the finished top-level Document.
      Specified by:
      get in interface BSONCallback
      Returns:
      the top level document read from the database.
    • create

      public BSONObject create()
      Factory method for creating a new BSONObject.
      Returns:
      a new BasicBSONObject.
    • createList

      protected BSONObject createList()
      Factory method for creating a new BSON List.
      Returns:
      a new BasicBSONList.
    • createBSONCallback

      public BSONCallback createBSONCallback()
      Description copied from interface: BSONCallback
      Factory method for BSONCallbacks.
      Specified by:
      createBSONCallback in interface BSONCallback
      Returns:
      a new BSONCallback.
    • create

      public BSONObject create(boolean array, List<String> path)
      Helper method to create either a BSON Object or a BSON List depending upon whether the array parameter is true or not.
      Parameters:
      array - set to true to create a new BSON List, otherwise will create a new BSONObject
      path - a list of field names to navigate to this field in the document
      Returns:
      the new BSONObject
    • objectStart

      public void objectStart()
      Description copied from interface: BSONCallback
      Signals the start of a BSON document, which usually maps onto some Java object.
      Specified by:
      objectStart in interface BSONCallback
    • objectStart

      public void objectStart(String name)
      Description copied from interface: BSONCallback
      Signals the start of a BSON document, which usually maps onto some Java object.
      Specified by:
      objectStart in interface BSONCallback
      Parameters:
      name - the field name of the document.
    • objectDone

      public Object objectDone()
      Description copied from interface: BSONCallback
      Called at the end of the document/array, and returns this object.
      Specified by:
      objectDone in interface BSONCallback
      Returns:
      the Object that has been read from this section of the document.
    • arrayStart

      public void arrayStart()
      Description copied from interface: BSONCallback
      Signals the start of a BSON array.
      Specified by:
      arrayStart in interface BSONCallback
    • arrayStart

      public void arrayStart(String name)
      Description copied from interface: BSONCallback
      Signals the start of a BSON array, with its field name.
      Specified by:
      arrayStart in interface BSONCallback
      Parameters:
      name - the name of this array field
    • arrayDone

      public Object arrayDone()
      Description copied from interface: BSONCallback
      Called the end of the array, and returns the completed array.
      Specified by:
      arrayDone in interface BSONCallback
      Returns:
      an Object representing the array that has been read from this section of the document.
    • gotNull

      public void gotNull(String name)
      Description copied from interface: BSONCallback
      Called when reading a BSON field that exists but has a null value.
      Specified by:
      gotNull in interface BSONCallback
      Parameters:
      name - the name of the field
      See Also:
    • gotUndefined

      public void gotUndefined(String name)
      Description copied from interface: BSONCallback
      Called when reading a field with a BsonType.UNDEFINED value.
      Specified by:
      gotUndefined in interface BSONCallback
      Parameters:
      name - the name of the field
      See Also:
    • gotMinKey

      public void gotMinKey(String name)
      Description copied from interface: BSONCallback
      Called when reading a field with a BsonType.MIN_KEY value.
      Specified by:
      gotMinKey in interface BSONCallback
      Parameters:
      name - the name of the field
    • gotMaxKey

      public void gotMaxKey(String name)
      Description copied from interface: BSONCallback
      Called when reading a field with a BsonType.MAX_KEY value.
      Specified by:
      gotMaxKey in interface BSONCallback
      Parameters:
      name - the name of the field
    • gotBoolean

      public void gotBoolean(String name, boolean value)
      Description copied from interface: BSONCallback
      Called when reading a field with a BsonType.BOOLEAN value.
      Specified by:
      gotBoolean in interface BSONCallback
      Parameters:
      name - the name of the field
      value - the field's value
    • gotDouble

      public void gotDouble(String name, double value)
      Description copied from interface: BSONCallback
      Called when reading a field with a BsonType.DOUBLE value.
      Specified by:
      gotDouble in interface BSONCallback
      Parameters:
      name - the name of the field
      value - the field's value
    • gotInt

      public void gotInt(String name, int value)
      Description copied from interface: BSONCallback
      Called when reading a field with a BsonType.INT32 value.
      Specified by:
      gotInt in interface BSONCallback
      Parameters:
      name - the name of the field
      value - the field's value
    • gotLong

      public void gotLong(String name, long value)
      Description copied from interface: BSONCallback
      Called when reading a field with a BsonType.INT64 value.
      Specified by:
      gotLong in interface BSONCallback
      Parameters:
      name - the name of the field
      value - the field's value
    • gotDecimal128

      public void gotDecimal128(String name, Decimal128 value)
      Description copied from interface: BSONCallback
      Called when reading a field with a BsonType.DECIMAL128 value.
      Specified by:
      gotDecimal128 in interface BSONCallback
      Parameters:
      name - the field name
      value - the Decimal128 field value
    • gotDate

      public void gotDate(String name, long millis)
      Description copied from interface: BSONCallback
      Called when reading a field with a BsonType.DATE_TIME value.
      Specified by:
      gotDate in interface BSONCallback
      Parameters:
      name - the name of the field
      millis - the date and time in milliseconds
    • gotRegex

      public void gotRegex(String name, String pattern, String flags)
      Description copied from interface: BSONCallback
      Called when reading a field with a BsonType.REGULAR_EXPRESSION value.
      Specified by:
      gotRegex in interface BSONCallback
      Parameters:
      name - the name of the field
      pattern - the regex pattern
      flags - the optional flags for the regular expression
    • gotString

      public void gotString(String name, String value)
      Description copied from interface: BSONCallback
      Called when reading a field with a BsonType.STRING value.
      Specified by:
      gotString in interface BSONCallback
      Parameters:
      name - the name of the field
      value - the field's value
    • gotSymbol

      public void gotSymbol(String name, String value)
      Description copied from interface: BSONCallback
      Called when reading a field with a BsonType.SYMBOL value.
      Specified by:
      gotSymbol in interface BSONCallback
      Parameters:
      name - the name of the field
      value - the field's value
    • gotTimestamp

      public void gotTimestamp(String name, int time, int increment)
      Description copied from interface: BSONCallback
      Called when reading a field with a BsonType.TIMESTAMP value.
      Specified by:
      gotTimestamp in interface BSONCallback
      Parameters:
      name - the name of the field
      time - the time in seconds since epoch
      increment - an incrementing ordinal for operations within a given second
    • gotObjectId

      public void gotObjectId(String name, ObjectId id)
      Description copied from interface: BSONCallback
      Called when reading a field with a BsonType.OBJECT_ID value.
      Specified by:
      gotObjectId in interface BSONCallback
      Parameters:
      name - the name of the field
      id - the object ID
    • gotDBRef

      public void gotDBRef(String name, String namespace, ObjectId id)
      Description copied from interface: BSONCallback
      Invoked when BSONDecoder encountered a BsonType.DB_POINTER type field in a byte sequence.
      Specified by:
      gotDBRef in interface BSONCallback
      Parameters:
      name - the name of the field
      namespace - the namespace to which reference is pointing to
      id - the if of the object to which reference is pointing to
    • gotBinary

      public void gotBinary(String name, byte type, byte[] data)
      Description copied from interface: BSONCallback
      Called when reading a field with a BsonType.BINARY value. Note that binary values have a subtype, which may determine how the value is processed.
      Specified by:
      gotBinary in interface BSONCallback
      Parameters:
      name - the name of the field
      type - one of the binary subtypes: BsonBinarySubType
      data - the field's value
    • gotUUID

      public void gotUUID(String name, long part1, long part2)
      Description copied from interface: BSONCallback
      Called when reading a field with a UUID value. This is a binary value of subtype BsonBinarySubType.UUID_LEGACY
      Specified by:
      gotUUID in interface BSONCallback
      Parameters:
      name - the name of the field
      part1 - the first part of the UUID
      part2 - the second part of the UUID
    • gotCode

      public void gotCode(String name, String code)
      Description copied from interface: BSONCallback
      Called when reading a field with a BsonType.JAVASCRIPT value.
      Specified by:
      gotCode in interface BSONCallback
      Parameters:
      name - the name of the field
      code - the JavaScript code
    • gotCodeWScope

      public void gotCodeWScope(String name, String code, Object scope)
      Description copied from interface: BSONCallback
      Called when reading a field with a BsonType.JAVASCRIPT_WITH_SCOPE value.
      Specified by:
      gotCodeWScope in interface BSONCallback
      Parameters:
      name - the name of the field
      code - the JavaScript code
      scope - a document representing the scope for the code
    • _put

      protected void _put(String name, Object value)
      Puts a new value into the document.
      Parameters:
      name - the name of the field
      value - the value
    • cur

      protected BSONObject cur()
      Gets the current value
      Returns:
      the current value
    • curName

      protected String curName()
      Gets the name of the current field
      Returns:
      the name of the current field.
    • setRoot

      protected void setRoot(Object root)
      Sets the root document for this position
      Parameters:
      root - the new root document
    • isStackEmpty

      protected boolean isStackEmpty()
      Returns whether this is the top level or not
      Returns:
      true if there's nothing on the stack, and this is the top level of the document.
    • reset

      public void reset()
      Description copied from interface: BSONCallback
      Resets the callback, clearing all state.
      Specified by:
      reset in interface BSONCallback