BaseCharRenderer

ujson.BaseCharRenderer
See theBaseCharRenderer companion object
class BaseCharRenderer[T <: Output](out: T, indent: Int, escapeUnicode: Boolean) extends JsVisitor[T, T]

A specialized JSON renderer that can render Chars (Chars or Bytes) directly to a java.io.Writer or java.io.OutputStream

Note that we use an internal CharBuilder to buffer the output internally before sending it to out in batches. This lets us benefit from the high performance and minimal overhead of CharBuilder in the fast path of pushing characters, and avoid the synchronization/polymorphism overhead of out on the fast path. Most outs would also have performance benefits from receiving data in batches, rather than char by char.

Attributes

Companion
object
Graph
Supertypes
trait JsVisitor[T, T]
trait Visitor[T, T]
class Object
trait Matchable
class Any
Known subtypes
class Renderer

Members list

Value members

Concrete methods

def flushBuffer(): Unit
def flushCharBuilder(): Unit
final def renderIndent(): Unit
def visitArray(length: Int, index: Int): ArrVisitor[T, T]

Value parameters

index

json source position at the start of the [ being visited

Attributes

Returns

a Visitor used for visiting the elements of the array

def visitFalse(index: Int): T

Value parameters

index

json source position at the start of the false being visited

Attributes

override def visitFloat32(d: Float, index: Int): T

Attributes

Definition Classes
JsVisitor -> Visitor
override def visitFloat64(d: Double, index: Int): T

Optional handler for raw double values; can be overriden for performance in cases where you're translating directly between numbers to avoid the overhead of stringifying and re-parsing your numbers (e.g. the WebJson transformer gets raw doubles from the underlying Json.parse).

Optional handler for raw double values; can be overriden for performance in cases where you're translating directly between numbers to avoid the overhead of stringifying and re-parsing your numbers (e.g. the WebJson transformer gets raw doubles from the underlying Json.parse).

Delegates to visitFloat64StringParts if not overriden

Value parameters

d

the input number

index

json source position at the start of the number being visited

Attributes

Definition Classes
JsVisitor -> Visitor
def visitFloat64StringParts(s: CharSequence, decIndex: Int, expIndex: Int, index: Int): T

Visit the number in its text representation.

Visit the number in its text representation.

Value parameters

decIndex

index of the ., relative to the start of the CharSequence, or -1 if omitted

expIndex

index of e or E relative to the start of the CharSequence, or -1 if omitted

index

json source position at the start of the number being visited

s

unparsed text representation of the number.

Attributes

override def visitInt32(i: Int, index: Int): T

Attributes

Definition Classes
JsVisitor -> Visitor
override def visitInt64(i: Long, index: Int): T

Attributes

Definition Classes
JsVisitor -> Visitor
def visitJsonableObject(length: Int, index: Int): ObjVisitor[T, T]
def visitNonNullString(s: CharSequence, index: Int): T
def visitNull(index: Int): T

Value parameters

index

json source position at the start of the null being visited

Attributes

def visitString(s: CharSequence, index: Int): T

Value parameters

index

json source position at the start of the string being visited

s

the text string being visited

Attributes

def visitTrue(index: Int): T

Value parameters

index

json source position at the start of the true being visited

Attributes

override def visitUInt64(i: Long, index: Int): T

Attributes

Definition Classes
JsVisitor -> Visitor

Inherited methods

def map[Z](f: T => Z): Visitor[T, Z]

Attributes

Inherited from:
Visitor
def mapNulls[Z](f: T => Z): Visitor[T, Z]

Attributes

Inherited from:
Visitor
def visitBinary(bytes: Array[Byte], offset: Int, len: Int, index: Int): J

Attributes

Inherited from:
JsVisitor
def visitChar(s: Char, index: Int): J

Attributes

Inherited from:
JsVisitor
def visitExt(tag: Byte, bytes: Array[Byte], offset: Int, len: Int, index: Int): J

Attributes

Inherited from:
JsVisitor
def visitFloat64ByteParts(s: Array[Byte], arrOffset: Int, arrLength: Int, decIndex: Int, expIndex: Int, index: Int): J

Attributes

Inherited from:
Visitor
def visitFloat64CharParts(s: Array[Char], arrOffset: Int, arrLength: Int, decIndex: Int, expIndex: Int, index: Int): J

Attributes

Inherited from:
Visitor
def visitFloat64String(s: String, index: Int): J

Convenience methods to help you compute the decimal-point-index and exponent-index of an arbitrary numeric string

Convenience methods to help you compute the decimal-point-index and exponent-index of an arbitrary numeric string

Value parameters

index

json source position at the start of the string being visited

s

the text string being visited

Attributes

Inherited from:
JsVisitor
def visitFloat64StringParts(s: CharSequence, decIndex: Int, expIndex: Int): J

Attributes

Inherited from:
JsVisitor
override def visitObject(length: Int, jsonableKeys: Boolean, index: Int): ObjVisitor[T, J]

Value parameters

index

json source position at the start of the { being visited

Attributes

Returns

a ObjVisitor used for visiting the keys/values of the object

Definition Classes
JsVisitor -> Visitor
Inherited from:
JsVisitor