abstract class JacksonMigration extends AnyRef
Data migration of old formats to current format can
be implemented in a concrete subclass and configured to
be used by the JacksonSerializer for a changed class.
It is used when deserializing data of older version than the JacksonMigration#currentVersion. You implement the transformation of the JSON structure in the JacksonMigration#transform method. If you have changed the class name you should override JacksonMigration#transformClassName and return current class name.
- Alphabetic
- By Inheritance
- JacksonMigration
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new JacksonMigration()
Abstract Value Members
- abstract def currentVersion: Int
Define current version, that is, the value used when serializing new data.
Define current version, that is, the value used when serializing new data. The first version, when no migration was used, is always 1.
- abstract def transform(fromVersion: Int, json: JsonNode): JsonNode
Implement the transformation of the old JSON structure to the new JSON structure.
Implement the transformation of the old JSON structure to the new JSON structure. The
JsonNodeis mutable so you can add and remove fields, or change values. Note that you have to cast to specific sub-classes such asObjectNodeandArrayNodeto get access to mutators.- fromVersion
the version of the old data
- json
the old JSON data
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(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def supportedForwardVersion: Int
Define the supported forward version this migration can read (must be greater or equal than
currentVersion).Define the supported forward version this migration can read (must be greater or equal than
currentVersion). If this value is different from currentVersion a JacksonMigration may be required to downcast the received payload to the current schema. - final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def transformClassName(fromVersion: Int, className: String): String
Override this method if you have changed the class name.
Override this method if you have changed the class name. Return current class name.
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])