Class

json.tools.Migration

Accessor

Related Doc: package Migration

Permalink

class Accessor[T, U] extends ObjectAccessor[T]

ObjectAccessor that automatically migrates JSON objects using a sequence of Migrations in order of their version numbers.

T

The base type this migrating accessor is for.

U

The version field type

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Accessor
  2. ObjectAccessor
  3. JSONAccessorProducer
  4. CreateJSON
  5. AnyRef
  6. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Accessor(migrations: Seq[Migration[U]], versionField: String, innerAccessor: ObjectAccessor[T])(implicit arg0: (U) ⇒ Ordered[U], verAcc: JSONAccessor[U])

    Permalink

    migrations

    Seq of Migrations to perform.

    versionField

    The field name that is used in checking the version of the object.

    innerAccessor

    The ObjectAccessor to use in serializing/de-serializing

    verAcc

    The implicit JSONAccessor for the version field type

Type Members

  1. type LocalType = T

    Permalink
    Definition Classes
    JSONAccessorProducer

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def canEqual(that: Any): Boolean

    Permalink
    Definition Classes
    ObjectAccessor
  6. def clazz: Class[_]

    Permalink
    Definition Classes
    AccessorJSONAccessorProducer
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def createJSON(obj: T): JObject

    Permalink
    Definition Classes
    AccessorCreateJSON
  9. def describe: JObject

    Permalink
    Definition Classes
    ObjectAccessorJSONAccessorProducer
  10. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  11. def equals(that: Any): Boolean

    Permalink
    Definition Classes
    ObjectAccessor → AnyRef → Any
  12. def fields: IndexedSeq[FieldAccessor[T, _]]

    Permalink

    Accessor for each named field.

    Accessor for each named field. Includes type accessor for field, defaults, annotations, etc.

    Definition Classes
    AccessorObjectAccessor
  13. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. def fromJSON(js: JValue): T

    Permalink
    Definition Classes
    AccessorJSONAccessorProducer
  15. def fromString(value: String): T

    Permalink

    This is a special override for optimized versions that work with raw String keys

    This is a special override for optimized versions that work with raw String keys

    Definition Classes
    JSONAccessorProducer
  16. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  17. def hashCode(): Int

    Permalink
    Definition Classes
    ObjectAccessor → AnyRef → Any
  18. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  19. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  20. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  21. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  22. final def referencedTypes: Seq[JSONAccessorProducer[_, _]]

    Permalink
    Definition Classes
    ObjectAccessorJSONAccessorProducer
  23. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  24. def toString(): String

    Permalink
    Definition Classes
    AccessorJSONAccessorProducer → AnyRef → Any
  25. def toString(value: T): String

    Permalink

    This is a special override for optimized versions that work with raw String keys

    This is a special override for optimized versions that work with raw String keys

    Definition Classes
    JSONAccessorProducer
  26. implicit val verAcc: JSONAccessor[U]

    Permalink

    The implicit JSONAccessor for the version field type

  27. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from ObjectAccessor[T]

Inherited from JSONAccessorProducer[T, JObject]

Inherited from CreateJSON[T, JObject]

Inherited from AnyRef

Inherited from Any

Ungrouped