Package

com.twitter.finatra.json.internal.caseclass

jackson

Permalink

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], deserializer: Option[JsonDeserializer[AnyRef]]) extends Logging with Product with Serializable

    Permalink
  2. class FinatraCaseClassDeserializer extends JsonDeserializer[AnyRef] with Logging

    Permalink

    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

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

    Permalink

Value Members

  1. object CaseClassField extends Serializable

    Permalink
  2. object FinatraCaseClassModule extends Module with JacksonModule

    Permalink
  3. object JacksonTypes

    Permalink
  4. object JacksonUtils

    Permalink

Ungrouped