Packages

abstract class Pickler[T] extends AnyRef

An abstract class for writing and reading Scala objects to and from a legible representation. The representation follows the following grammar:

Pickled = `true` | `false` | `null` | NumericLit | StringLit |
          Labelled | Pickled `,` Pickled
Labelled = StringLit `(` Pickled? `)`

All ...Lit classes are as in JSON. @see scala.tools.nsc.io.Lexer

Subclasses of Pickler each can write and read individual classes of values.

T

the type of values handled by this pickler. These Picklers build on the work of Andrew Kennedy. They are most closely inspired by Iulian Dragos' picklers for Scala to XML. See: https://code.google.com/p/gdata-scala-client/wiki/DevelopersGuide

Source
Pickler.scala
Linear Supertypes
Known Subclasses
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Pickler
  2. AnyRef
  3. Any
Implicitly
  1. by TildeDecorator
  2. by any2stringadd
  3. by StringFormat
  4. by Ensuring
  5. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new Pickler()

Abstract Value Members

  1. abstract def pickle(wr: Writer, x: T): Unit

    Writes value in pickled form

    Writes value in pickled form

    wr

    the writer to which pickled form is written

    x

    the value to write

  2. abstract def unpickle(rd: Lexer): Unpickled[T]

    Reads value from pickled form.

    Reads value from pickled form.

    rd

    the lexer from which lexemes are read

    returns

    An UnpickleSuccess value if the current input corresponds to the kind of value that is unpickled by the current subclass of Pickler, an UnpickleFailure value otherwise.

    Exceptions thrown

    Lexer.MalformedInput if input is invalid, or if an Unpickle

Concrete Value Members

  1. def asClass[U <: T](c: Class[U]): CondPickler[T]

    A conditional pickler handling values of some Scala class.

    A conditional pickler handling values of some Scala class. It adds the class name as a label to the representation of the current pickler and

    c

    the class of values handled by this pickler.

  2. def cond(p: (Any) => Boolean): CondPickler[T]

    A conditional pickler obtained from the current pickler.

    A conditional pickler obtained from the current pickler.

    p

    the condition to test to find out whether pickler can handle some Scala value.

  3. def labelled(label: String): Pickler[T]

    A pickler that adds a label to the current pickler, using the representation label ( <current pickler> )

    A pickler that adds a label to the current pickler, using the representation label ( <current pickler> )

    label

    the string to be added as a label.

  4. def wrapped[U](in: (T) => U)(out: (U) => T): Pickler[U]

    A pickler obtained from the current pickler by a pair of transformer functions

    A pickler obtained from the current pickler by a pair of transformer functions

    in

    the function that maps values handled by the current pickler to values handled by the wrapped pickler.

    out

    the function that maps values handled by the wrapped pickler to values handled by the current pickler.

  5. def ~[U](that: => Pickler[U]): Pickler[~[T, U]]

    A pickler representing a ~-pair of values as two consecutive pickled strings, separated by a comma.

    A pickler representing a ~-pair of values as two consecutive pickled strings, separated by a comma.

    that

    the second pickler which together with the current pickler makes up the pair this ~ that to be pickled.

Shadowed Implicit Value Members

  1. def ~[T](y: T): ~[Pickler[T], T]

    Infix method that forms a ~-pair.

    Infix method that forms a ~-pair.

    Implicit
    This member is added by an implicit conversion from Pickler[T] toTildeDecorator[Pickler[T]] performed by method TildeDecorator in scala.tools.nsc.interactive.Pickler.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (pickler: TildeDecorator[Pickler[T]]).~(y)
    Definition Classes
    TildeDecorator