Leaf

com.rallyhealth.weepickle.v1.core.Types.TaggedFromTo.Leaf
class Leaf[T](c: ClassTag[_], val tagName: String, tag: String, r: CaseW[T] & To[T]) extends TaggedFromTo[T]

Attributes

Graph
Supertypes
trait TaggedFromTo[T]
trait TaggedFrom[T]
trait TaggedTo[T]
trait Tagged
trait SimpleTo[T]
trait SimpleVisitor[Any, T]
trait FromTo[T]
trait To[T]
trait Visitor[Any, T]
trait AutoCloseable
trait From[T]
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

def findFrom(v: Any): (String, CaseW[T])
def findTo(s: String): To[T]

Inherited methods

def bimap[In](f: In => T, g: T => In): FromTo[In]

Attributes

Inherited from:
FromTo
override def close(): Unit

==Responsibility== Generally, whoever creates the visitor should be responsible for closing it, i.e. not intermediate transform(v: Visitor) methods themselves.

==Responsibility== Generally, whoever creates the visitor should be responsible for closing it, i.e. not intermediate transform(v: Visitor) methods themselves.

==Self Closing== Given that common usage is most often single-valued (e.g. "{}"), rather than multi-valued (e.g. "{} {} {}"), Visitors may self-close (e.g. visitor.map{v => Try(v.close); v)} after a single value to prevent resource leaks, but are encouraged to expose both forms (i.e. single/multiple), if supportable.

==Multiple close() calls/Idempotency== Visitors are encouraged to respond gracefully if close() is called multiple times. If an underlying resource would throw if already closed, this may mean adding a private var isClosed: Boolean field to prevent multiple calls.

Attributes

Definition Classes
Visitor -> AutoCloseable
Inherited from:
Visitor
def comap[U](f: U => T): MapFrom[U, In]

Attributes

Inherited from:
From
def comapNulls[U](f: U => T): MapFromNulls[U, In]

Attributes

Inherited from:
From
override def expectedMsg: String

Attributes

Definition Classes
Inherited from:
TaggedTo
override def map[Z](f: T => Z): To[Z]

Attributes

Definition Classes
To -> Visitor
Inherited from:
To
override def mapNulls[Z](f: T => Z): To[Z]

Attributes

Definition Classes
To -> Visitor
Inherited from:
To
override def narrow[K]: FromTo[K]

Attributes

Definition Classes
FromTo -> To -> From
Inherited from:
FromTo
def transform[Out](in: T, out: Visitor[_, Out]): Out

Attributes

Inherited from:
From
override def transform0[Out](in: T, out: Visitor[_, Out]): Out

Attributes

Definition Classes
Inherited from:
TaggedFrom
override def visitArray(length: Int): ArrVisitor[Any, T]

Attributes

Returns

a Visitor used for visiting the elements of the array

Definition Classes
Inherited from:
TaggedFromTo
def visitBinary(bytes: Array[Byte], offset: Int, len: Int): J

Raw bytes.

Raw bytes.

Attributes

Inherited from:
SimpleVisitor
def visitChar(c: Char): J

Attributes

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

MsgPack extension type.

MsgPack extension type.

Attributes

Inherited from:
SimpleVisitor
def visitFalse(): J

Attributes

Inherited from:
SimpleVisitor
def visitFloat32(d: Float): J

Attributes

Inherited from:
SimpleVisitor
def visitFloat64(d: Double): 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. 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

Attributes

Inherited from:
SimpleVisitor
def visitFloat64String(s: String): 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

s

the text string being visited

Attributes

Inherited from:
SimpleVisitor
def visitFloat64StringParts(cs: CharSequence, decIndex: Int, expIndex: Int): J

Visit the number in its text representation.

Visit the number in its text representation.

Value parameters

cs

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 or E relative to the start of the CharSequence, or -1 if omitted

Attributes

Inherited from:
SimpleVisitor
def visitInt32(i: Int): J

Attributes

Inherited from:
SimpleVisitor
def visitInt64(l: Long): J

Attributes

Inherited from:
SimpleVisitor
def visitNull(): J

Attributes

Inherited from:
SimpleVisitor
override def visitObject(length: Int): ObjVisitor[Any, T]

Attributes

Returns

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

Definition Classes
Inherited from:
TaggedFromTo
def visitString(cs: CharSequence): J

Value parameters

cs

the text string being visited

Attributes

Inherited from:
SimpleVisitor
def visitTimestamp(instant: Instant): J

Attributes

Inherited from:
SimpleVisitor
def visitTrue(): J

Attributes

Inherited from:
SimpleVisitor
def visitUInt64(ul: Long): J

Attributes

Inherited from:
SimpleVisitor

Concrete fields

override val tagName: String

Name of the object key used to identify the subclass tag. Tos will fast path if this is the first field of the object. Otherwise, Tos will have to buffer the content and find the tag later. While naming, consider that some implementations (e.g. vpack) may sort object keys, so symbol prefixes work well for ensuring the tag is the first property.

Name of the object key used to identify the subclass tag. Tos will fast path if this is the first field of the object. Otherwise, Tos will have to buffer the content and find the tag later. While naming, consider that some implementations (e.g. vpack) may sort object keys, so symbol prefixes work well for ensuring the tag is the first property.

Attributes