Class

unicorn.json

BsonSerializer

Related Doc: package json

Permalink

class BsonSerializer extends BaseJsonSerializer with Logging

JSON Serializer in BSON format as defined by http://bsonspec.org/spec.html. This is not fully compatible with BSON spec, where the root must be a document/JsObject. In contrast, the root can be any JsValue in our implementation. Correspondingly, the root will always has the type byte as the first byte.

Not Multi-threading safe. Each thread should have its own BsonSerializer instance. Data size limit to 16MB by default.

ByteBuffer must use BIG ENDIAN to ensure the correct byte string comparison for integers and floating numbers.

Linear Supertypes
Logging, BaseJsonSerializer, JsonSerializer, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. BsonSerializer
  2. Logging
  3. BaseJsonSerializer
  4. JsonSerializer
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new BsonSerializer(buffer: ByteBuffer = ..., charset: Charset = utf8, root: String = "$", pathDelimiter: String = ".")

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. val BINARY_SUBTYPE_BINARY_OLD: Byte

    Permalink
    Definition Classes
    BaseJsonSerializer
  5. val BINARY_SUBTYPE_FUNCTION: Byte

    Permalink
    Definition Classes
    BaseJsonSerializer
  6. val BINARY_SUBTYPE_GENERIC: Byte

    Permalink

    Binary subtypes

    Binary subtypes

    Definition Classes
    BaseJsonSerializer
  7. val BINARY_SUBTYPE_MD5: Byte

    Permalink
    Definition Classes
    BaseJsonSerializer
  8. val BINARY_SUBTYPE_USER_DEFINED: Byte

    Permalink
    Definition Classes
    BaseJsonSerializer
  9. val BINARY_SUBTYPE_UUID: Byte

    Permalink
    Definition Classes
    BaseJsonSerializer
  10. val BINARY_SUBTYPE_UUID_OLD: Byte

    Permalink
    Definition Classes
    BaseJsonSerializer
  11. val END_OF_DOCUMENT: Byte

    Permalink

    End of document

    End of document

    Definition Classes
    BaseJsonSerializer
  12. val END_OF_STRING: Byte

    Permalink

    End of string

    End of string

    Definition Classes
    BaseJsonSerializer
  13. val FALSE: Byte

    Permalink
    Definition Classes
    BaseJsonSerializer
  14. val TRUE: Byte

    Permalink
    Definition Classes
    BaseJsonSerializer
  15. val TYPE_ARRAY: Byte

    Permalink
    Definition Classes
    BaseJsonSerializer
  16. val TYPE_BINARY: Byte

    Permalink
    Definition Classes
    BaseJsonSerializer
  17. val TYPE_BOOLEAN: Byte

    Permalink
    Definition Classes
    BaseJsonSerializer
  18. val TYPE_DATETIME: Byte

    Permalink
    Definition Classes
    BaseJsonSerializer
  19. val TYPE_DBPOINTER: Byte

    Permalink
    Definition Classes
    BaseJsonSerializer
  20. val TYPE_DOCUMENT: Byte

    Permalink
    Definition Classes
    BaseJsonSerializer
  21. val TYPE_DOUBLE: Byte

    Permalink

    Type markers

    Type markers

    Definition Classes
    BaseJsonSerializer
  22. val TYPE_INT32: Byte

    Permalink
    Definition Classes
    BaseJsonSerializer
  23. val TYPE_INT64: Byte

    Permalink
    Definition Classes
    BaseJsonSerializer
  24. val TYPE_JAVASCRIPT: Byte

    Permalink
    Definition Classes
    BaseJsonSerializer
  25. val TYPE_JAVASCRIPT_WITH_SCOPE: Byte

    Permalink
    Definition Classes
    BaseJsonSerializer
  26. val TYPE_MAXKEY: Byte

    Permalink
    Definition Classes
    BaseJsonSerializer
  27. val TYPE_MINKEY: Byte

    Permalink
    Definition Classes
    BaseJsonSerializer
  28. val TYPE_NULL: Byte

    Permalink
    Definition Classes
    BaseJsonSerializer
  29. val TYPE_OBJECTID: Byte

    Permalink
    Definition Classes
    BaseJsonSerializer
  30. val TYPE_REGEX: Byte

    Permalink
    Definition Classes
    BaseJsonSerializer
  31. val TYPE_STRING: Byte

    Permalink
    Definition Classes
    BaseJsonSerializer
  32. val TYPE_SYMBOL: Byte

    Permalink
    Definition Classes
    BaseJsonSerializer
  33. val TYPE_TIMESTAMP: Byte

    Permalink
    Definition Classes
    BaseJsonSerializer
  34. val TYPE_UNDEFINED: Byte

    Permalink
    Definition Classes
    BaseJsonSerializer
  35. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  36. def binary(buffer: ByteBuffer): JsValue

    Permalink
    Definition Classes
    BaseJsonSerializer
  37. def boolean(buffer: ByteBuffer): JsBoolean

    Permalink
    Definition Classes
    BaseJsonSerializer
  38. val charset: Charset

    Permalink

    string encoder/decoder

    string encoder/decoder

    Definition Classes
    BsonSerializerJsonSerializer
  39. def clear: Unit

    Permalink

    Clears the object buffer.

  40. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  41. def cstring(buffer: ByteBuffer): String

    Permalink
    Definition Classes
    BaseJsonSerializer
  42. def date(buffer: ByteBuffer): JsDate

    Permalink
    Definition Classes
    BaseJsonSerializer
  43. def deserialize(buffer: ByteBuffer): JsValue

    Permalink
  44. def deserialize(buffer: ByteBuffer, json: JsObject): JsObject

    Permalink
  45. def deserialize(bytes: Array[Byte]): JsValue

    Permalink
  46. def deserialize(values: Map[String, Array[Byte]], rootJsonPath: String): JsValue

    Permalink

    Deserialize a JSON value from the given root JSONPath.

    Deserialize a JSON value from the given root JSONPath.

    Definition Classes
    BsonSerializerJsonSerializer
  47. def double(buffer: ByteBuffer): JsDouble

    Permalink
    Definition Classes
    BaseJsonSerializer
  48. def ename(buffer: ByteBuffer): String

    Permalink
    Definition Classes
    BaseJsonSerializer
  49. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  50. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  51. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  52. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  53. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  54. def int(buffer: ByteBuffer): JsInt

    Permalink
    Definition Classes
    BaseJsonSerializer
  55. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  56. lazy val log: Logger

    Permalink
    Definition Classes
    Logging
  57. def long(buffer: ByteBuffer): JsLong

    Permalink
    Definition Classes
    BaseJsonSerializer
  58. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  59. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  60. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  61. val null: Array[Byte]

    Permalink

    Byte array of null.

    Byte array of null.

    Definition Classes
    BaseJsonSerializerJsonSerializer
  62. def objectId(buffer: ByteBuffer): JsValue

    Permalink
    Definition Classes
    BaseJsonSerializer
  63. val pathDelimiter: String

    Permalink

    The delimiter in the path to an embedded object or in an array.

    The delimiter in the path to an embedded object or in an array. In general, we follow the dot notation as in MongoDB (even for array elements).

    Definition Classes
    BsonSerializerJsonSerializer
  64. def put(json: JsValue): Unit

    Permalink

    Serializes a JSON value into the object buffer.

  65. val root: String

    Permalink

    The path to the root of a JsValue.

    The path to the root of a JsValue.

    Definition Classes
    BsonSerializerJsonSerializer
  66. def serialize(buffer: ByteBuffer, json: JsArray, ename: Option[String]): Unit

    Permalink
  67. def serialize(buffer: ByteBuffer, json: JsObject, ename: Option[String]): Unit

    Permalink
  68. def serialize(json: JsValue, rootJsonPath: String): Map[String, Array[Byte]]

    Permalink

    Serializes a JSON value to a list of key/value pairs, where key is the JSONPath of element.

    Serializes a JSON value to a list of key/value pairs, where key is the JSONPath of element.

    Definition Classes
    BsonSerializerJsonSerializer
  69. def serialize(buffer: ByteBuffer, json: JsBinary, ename: Option[String]): Unit

    Permalink
    Definition Classes
    BaseJsonSerializer
  70. def serialize(buffer: ByteBuffer, json: JsUUID, ename: Option[String]): Unit

    Permalink
    Definition Classes
    BaseJsonSerializer
  71. def serialize(buffer: ByteBuffer, json: JsObjectId, ename: Option[String]): Unit

    Permalink
    Definition Classes
    BaseJsonSerializer
  72. def serialize(buffer: ByteBuffer, json: JsDate, ename: Option[String]): Unit

    Permalink
    Definition Classes
    BaseJsonSerializer
  73. def serialize(buffer: ByteBuffer, json: JsString, ename: Option[String]): Unit

    Permalink
    Definition Classes
    BaseJsonSerializer
  74. def serialize(buffer: ByteBuffer, json: JsDouble, ename: Option[String]): Unit

    Permalink
    Definition Classes
    BaseJsonSerializer
  75. def serialize(buffer: ByteBuffer, json: JsLong, ename: Option[String]): Unit

    Permalink
    Definition Classes
    BaseJsonSerializer
  76. def serialize(buffer: ByteBuffer, json: JsInt, ename: Option[String]): Unit

    Permalink
    Definition Classes
    BaseJsonSerializer
  77. def serialize(buffer: ByteBuffer, json: JsBoolean, ename: Option[String]): Unit

    Permalink
    Definition Classes
    BaseJsonSerializer
  78. def serialize(buffer: ByteBuffer, string: String): Unit

    Permalink
    Definition Classes
    BaseJsonSerializer
  79. def serialize(buffer: ByteBuffer, string: Option[String]): Unit

    Permalink
    Definition Classes
    BaseJsonSerializer
  80. def str2Bytes(s: String): Array[Byte]

    Permalink

    Serialize a string to bytes.

    Serialize a string to bytes.

    Definition Classes
    JsonSerializer
  81. def str2Path(path: String): String

    Permalink

    Returns the json path of a dot notation path as in MongoDB.

    Returns the json path of a dot notation path as in MongoDB.

    Definition Classes
    JsonSerializer
  82. def str2PathBytes(path: String): Array[Byte]

    Permalink

    Returns the byte array of json path

    Returns the byte array of json path

    Definition Classes
    JsonSerializer
  83. def string(buffer: ByteBuffer): JsString

    Permalink
    Definition Classes
    BaseJsonSerializer
  84. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  85. def toBytes: Array[Byte]

    Permalink

    Returns the object buffer content as a byte array.

  86. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  87. val undefined: Array[Byte]

    Permalink

    Encoding of "undefined"

    Encoding of "undefined"

    Definition Classes
    BaseJsonSerializerJsonSerializer
  88. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  89. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  90. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Logging

Inherited from BaseJsonSerializer

Inherited from JsonSerializer

Inherited from AnyRef

Inherited from Any

Ungrouped