com.twitter.finatra.json.internal.caseclass

jackson

package jackson

Visibility
  1. Public
  2. All

Type Members

  1. case class CaseClassField(name: String, javaType: JavaType, parentClass: Class[_], defaultFuncOpt: Option[() ⇒ AnyRef], annotations: Seq[Annotation]) extends Logging with Product with Serializable

  2. class FinatraCaseClassDeserializer extends JsonDeserializer[AnyRef] with Logging

    Custom case class deserializer which overcomes limitations in jackson-scala-module.

    Custom case class deserializer which overcomes limitations in jackson-scala-module.

    Our improvements: - Throw a JsonException when 'non Option' fields are missing in the incoming json - Use default values when fields are missing in the incoming json - Properly deserialize a Seq[Long] (see https://github.com/FasterXML/jackson-module-scala/issues/62) - Support "wrapped values" using WrappedValue (needed since jackson-scala-module does not support @JsonCreator) - Support for field and method level validations

    NOTE: This class is inspired by Jerkson' CaseClassDeserializer which can be found here: https://github.com/codahale/jerkson/blob/master/src/main/scala/com/codahale/jerkson/deser/CaseClassDeserializer.scala

    Annotations
    @ThreadSafe()
  3. class FinatraCaseClassDeserializers extends Base

  4. case class ImmutableAnnotations(annotations: Seq[Annotation]) extends Annotations with Product with Serializable

Value Members

  1. object CaseClassField extends Serializable

  2. object FinatraCaseClassModule extends Module with JacksonModule

  3. object JacksonTypes

  4. object JacksonUtils

Ungrouped