com.twitter.finatra.json.internal.caseclass.jackson

FinatraCaseClassDeserializer

class FinatraCaseClassDeserializer extends JsonDeserializer[AnyRef] with Logging

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()
Linear Supertypes
Logging, Logging, JsonDeserializer[AnyRef], AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. FinatraCaseClassDeserializer
  2. Logging
  3. Logging
  4. JsonDeserializer
  5. AnyRef
  6. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new FinatraCaseClassDeserializer(javaType: JavaType, config: DeserializationConfig, beanDesc: BeanDescription)

Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

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

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def debug(msg: ⇒ Any, t: ⇒ Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  9. def debug(msg: ⇒ Any): Unit

    Attributes
    protected
    Definition Classes
    Logging
  10. def debugFutureResult[T](msg: String)(func: ⇒ Future[T]): Future[T]

    Attributes
    protected
    Definition Classes
    Logging
  11. def debugResult[T](msg: String)(func: ⇒ T): T

    Attributes
    protected
    Definition Classes
    Logging
  12. def deserialize(jp: JsonParser, context: DeserializationContext): AnyRef

    Definition Classes
    FinatraCaseClassDeserializer → JsonDeserializer
  13. def deserialize(arg0: JsonParser, arg1: DeserializationContext, arg2: AnyRef): AnyRef

    Definition Classes
    JsonDeserializer
    Annotations
    @throws( ... ) @throws( classOf[java.io.IOException] )
  14. def deserializeWithType(arg0: JsonParser, arg1: DeserializationContext, arg2: TypeDeserializer): AnyRef

    Definition Classes
    JsonDeserializer
    Annotations
    @throws( ... ) @throws( classOf[java.io.IOException] )
  15. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  16. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  17. def error(msg: ⇒ Any, t: ⇒ Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  18. def error(msg: ⇒ Any): Unit

    Attributes
    protected
    Definition Classes
    Logging
  19. def errorResult[T](msg: String)(func: ⇒ T): T

    Attributes
    protected
    Definition Classes
    Logging
  20. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  21. def findBackReference(arg0: String): SettableBeanProperty

    Definition Classes
    JsonDeserializer
  22. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  23. def getDelegatee(): JsonDeserializer[_]

    Definition Classes
    JsonDeserializer
  24. def getEmptyValue(): AnyRef

    Definition Classes
    JsonDeserializer
  25. def getKnownPropertyNames(): Collection[AnyRef]

    Definition Classes
    JsonDeserializer
  26. def getNullValue(): AnyRef

    Definition Classes
    JsonDeserializer
  27. def getObjectIdReader(): ObjectIdReader

    Definition Classes
    JsonDeserializer
  28. def handledType(): Class[_]

    Definition Classes
    JsonDeserializer
  29. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  30. def info(msg: ⇒ Any, t: ⇒ Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  31. def info(msg: ⇒ Any): Unit

    Attributes
    protected
    Definition Classes
    Logging
  32. def infoResult[T](msg: String)(func: ⇒ T): T

    Attributes
    protected
    Definition Classes
    Logging
  33. def isCachable(): Boolean

    Definition Classes
    FinatraCaseClassDeserializer → JsonDeserializer
  34. def isDebugEnabled: Boolean

    Attributes
    protected
    Definition Classes
    Logging
  35. def isErrorEnabled: Boolean

    Attributes
    protected
    Definition Classes
    Logging
  36. def isInfoEnabled: Boolean

    Attributes
    protected
    Definition Classes
    Logging
  37. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  38. def isTraceEnabled: Boolean

    Attributes
    protected
    Definition Classes
    Logging
  39. def isWarnEnabled: Boolean

    Attributes
    protected
    Definition Classes
    Logging
  40. def logger: Logger

    Attributes
    protected
    Definition Classes
    Logging → Logging
  41. def loggerName: String

    Attributes
    protected
    Definition Classes
    Logging
  42. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  43. final def notify(): Unit

    Definition Classes
    AnyRef
  44. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  45. def replaceDelegatee(arg0: JsonDeserializer[_]): JsonDeserializer[_]

    Definition Classes
    JsonDeserializer
  46. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  47. def time[T](formatStr: String)(func: ⇒ T): T

    Attributes
    protected
    Definition Classes
    Logging
  48. def toString(): String

    Definition Classes
    AnyRef → Any
  49. def trace(msg: ⇒ Any, t: ⇒ Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  50. def trace(msg: ⇒ Any): Unit

    Attributes
    protected
    Definition Classes
    Logging
  51. def unwrappingDeserializer(arg0: NameTransformer): JsonDeserializer[AnyRef]

    Definition Classes
    JsonDeserializer
  52. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  55. def warn(msg: ⇒ Any, t: ⇒ Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  56. def warn(msg: ⇒ Any): Unit

    Attributes
    protected
    Definition Classes
    Logging
  57. def warnResult[T](msg: String)(func: ⇒ T): T

    Attributes
    protected
    Definition Classes
    Logging

Inherited from Logging

Inherited from Logging

Inherited from JsonDeserializer[AnyRef]

Inherited from AnyRef

Inherited from Any

Ungrouped