class
ColumnarJsonSerializer extends BaseJsonSerializer
Instance Constructors
-
new
ColumnarJsonSerializer(buffer: ByteBuffer = ..., charset: Charset = utf8, root: String = "$", pathDelimiter: String = ".")
Value Members
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
final
def
==(arg0: Any): Boolean
-
val
BINARY_SUBTYPE_BINARY_OLD: Byte
-
val
BINARY_SUBTYPE_FUNCTION: Byte
-
val
BINARY_SUBTYPE_GENERIC: Byte
-
val
BINARY_SUBTYPE_MD5: Byte
-
val
BINARY_SUBTYPE_USER_DEFINED: Byte
-
val
BINARY_SUBTYPE_UUID: Byte
-
val
BINARY_SUBTYPE_UUID_OLD: Byte
-
val
END_OF_DOCUMENT: Byte
-
val
END_OF_STRING: Byte
-
val
FALSE: Byte
-
val
TRUE: Byte
-
val
TYPE_ARRAY: Byte
-
val
TYPE_BINARY: Byte
-
val
TYPE_BOOLEAN: Byte
-
val
TYPE_DATETIME: Byte
-
val
TYPE_DBPOINTER: Byte
-
val
TYPE_DOCUMENT: Byte
-
val
TYPE_DOUBLE: Byte
-
val
TYPE_INT32: Byte
-
val
TYPE_INT64: Byte
-
val
TYPE_JAVASCRIPT: Byte
-
val
TYPE_JAVASCRIPT_WITH_SCOPE: Byte
-
val
TYPE_MAXKEY: Byte
-
val
TYPE_MINKEY: Byte
-
val
TYPE_NULL: Byte
-
val
TYPE_OBJECTID: Byte
-
val
TYPE_REGEX: Byte
-
val
TYPE_STRING: Byte
-
val
TYPE_SYMBOL: Byte
-
val
TYPE_TIMESTAMP: Byte
-
val
TYPE_UNDEFINED: Byte
-
final
def
asInstanceOf[T0]: T0
-
def
binary(buffer: ByteBuffer): JsValue
-
def
boolean(buffer: ByteBuffer): JsBoolean
-
val
charset: Charset
-
def
clone(): AnyRef
-
def
cstring(buffer: ByteBuffer): String
-
def
date(buffer: ByteBuffer): JsDate
-
def
deserialize(values: Map[String, Array[Byte]], rootJsonPath: String): JsValue
-
def
double(buffer: ByteBuffer): JsDouble
-
def
ename(buffer: ByteBuffer): String
-
final
def
eq(arg0: AnyRef): Boolean
-
def
equals(arg0: Any): Boolean
-
def
finalize(): Unit
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
def
int(buffer: ByteBuffer): JsInt
-
final
def
isInstanceOf[T0]: Boolean
-
def
long(buffer: ByteBuffer): JsLong
-
final
def
ne(arg0: AnyRef): Boolean
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
val
null: Array[Byte]
-
def
objectId(buffer: ByteBuffer): JsValue
-
val
pathDelimiter: String
-
val
root: String
-
def
serialize(json: JsValue, jsonPath: String): Map[String, Array[Byte]]
-
def
serialize(json: JsCounter): Array[Byte]
-
def
serialize(json: JsBinary): Array[Byte]
-
def
serialize(json: JsUUID): Array[Byte]
-
def
serialize(json: JsObjectId): Array[Byte]
-
def
serialize(json: JsDate): Array[Byte]
-
def
serialize(json: JsString): Array[Byte]
-
def
serialize(json: JsDouble): Array[Byte]
-
def
serialize(json: JsLong): Array[Byte]
-
def
serialize(json: JsInt): Array[Byte]
-
def
serialize(json: JsBoolean): Array[Byte]
-
def
serialize(string: String): Array[Byte]
-
def
serialize(buffer: ByteBuffer, json: JsBinary, ename: Option[String]): Unit
-
def
serialize(buffer: ByteBuffer, json: JsUUID, ename: Option[String]): Unit
-
def
serialize(buffer: ByteBuffer, json: JsObjectId, ename: Option[String]): Unit
-
def
serialize(buffer: ByteBuffer, json: JsDate, ename: Option[String]): Unit
-
def
serialize(buffer: ByteBuffer, json: JsString, ename: Option[String]): Unit
-
def
serialize(buffer: ByteBuffer, json: JsDouble, ename: Option[String]): Unit
-
def
serialize(buffer: ByteBuffer, json: JsLong, ename: Option[String]): Unit
-
def
serialize(buffer: ByteBuffer, json: JsInt, ename: Option[String]): Unit
-
def
serialize(buffer: ByteBuffer, json: JsBoolean, ename: Option[String]): Unit
-
def
serialize(buffer: ByteBuffer, string: String): Unit
-
def
serialize(buffer: ByteBuffer, string: Option[String]): Unit
-
def
str2Bytes(s: String): Array[Byte]
-
def
str2Path(path: String): String
-
def
str2PathBytes(path: String): Array[Byte]
-
def
string(buffer: ByteBuffer): JsString
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
val
undefined: Array[Byte]
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
Inherited from AnyRef
Inherited from Any
This JSON Serializer recursively encodes each field to a byte string, which can be saved separately to a column in BigTable. The JsonPath of field can be used as the column name.
Not Multi-threading safe. Each thread should have its own ColumnarJsonSerializer instance.
ByteBuffer must use BIG ENDIAN to ensure the correct byte string comparison for integers and floating numbers.