trait Visitor[-T, +J] extends AnyRef
Standard set of hooks uPickle uses to traverse over a structured data. A superset of the JSON, MessagePack, and Scala object hierarchies, since it needs to support efficiently processing all of them.
Note that some parameters are un-set (-1) when not available; e.g.
visitArray
's length
is not set when parsing JSON input (since it cannot
be known up front) and the various index
parameters are not set when
traversing Scala object hierarchies.
When expecting to deal with a subset of the methods; it is common to
forward the ones you don't care about to the ones you do; e.g. JSON visitors
would forward all visitFloat32
/visitInt
/etc. methods to visitFloat64
- T
???
- J
the result of visiting elements (e.g. a json AST or side-effecting writer)
- Alphabetic
- By Inheritance
- Visitor
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
visitArray(length: Int, index: Int): ArrVisitor[T, J]
- index
json source position at the start of the
[
being visited- returns
a Visitor used for visiting the elements of the array
- abstract def visitBinary(bytes: Array[Byte], offset: Int, len: Int, index: Int): J
- abstract def visitChar(s: Char, index: Int): J
- abstract def visitExt(tag: Byte, bytes: Array[Byte], offset: Int, len: Int, index: Int): J
-
abstract
def
visitFalse(index: Int): J
- index
json source position at the start of the
false
being visited
- abstract def visitFloat32(d: Float, index: Int): J
-
abstract
def
visitFloat64(d: Double, index: Int): J
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.
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- d
the input number
- index
json source position at the start of the number being visited
-
abstract
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
- s
the text string being visited
- index
json source position at the start of the string being visited
-
abstract
def
visitFloat64StringParts(s: CharSequence, decIndex: Int, expIndex: Int, index: Int): J
Visit the number in its text representation.
Visit the number in its text representation.
- s
unparsed text representation of the number.
- decIndex
index of the
.
, relative to the start of the CharSequence, or -1 if omitted- expIndex
index of
e
orE
relative to the start of the CharSequence, or -1 if omitted- index
json source position at the start of the number being visited
- abstract def visitInt32(i: Int, index: Int): J
- abstract def visitInt64(i: Long, index: Int): J
-
abstract
def
visitNull(index: Int): J
- index
json source position at the start of the
null
being visited
-
abstract
def
visitObject(length: Int, jsonableKeys: Boolean, index: Int): ObjVisitor[T, J]
- index
json source position at the start of the
{
being visited- returns
a ObjVisitor used for visiting the keys/values of the object
-
abstract
def
visitString(s: CharSequence, index: Int): J
- s
the text string being visited
- index
json source position at the start of the string being visited
-
abstract
def
visitTrue(index: Int): J
- index
json source position at the start of the
true
being visited
- abstract def visitUInt64(i: Long, index: Int): J
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def map[Z](f: (J) ⇒ Z): Visitor[T, Z]
- def mapNulls[Z](f: (J) ⇒ Z): Visitor[T, Z]
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()