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

FinatraCaseClassDeserializer

Related Doc: package jackson

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: Any): Boolean

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

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

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

    Definition Classes
    Any
  5. def clone(): AnyRef

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Definition Classes
    JsonDeserializer
  22. def getEmptyValue(): AnyRef

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

    Definition Classes
    JsonDeserializer
  24. def getNullValue(): AnyRef

    Definition Classes
    JsonDeserializer
  25. def getObjectIdReader(): ObjectIdReader

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

    Definition Classes
    JsonDeserializer
  27. def hashCode(): Int

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

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

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

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

    Definition Classes
    FinatraCaseClassDeserializer → JsonDeserializer
  32. def isDebugEnabled: Boolean

    Attributes
    protected
    Definition Classes
    Logging
  33. def isErrorEnabled: Boolean

    Attributes
    protected
    Definition Classes
    Logging
  34. def isInfoEnabled: Boolean

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

    Definition Classes
    Any
  36. def isTraceEnabled: Boolean

    Attributes
    protected
    Definition Classes
    Logging
  37. def isWarnEnabled: Boolean

    Attributes
    protected
    Definition Classes
    Logging
  38. def logger: Logger

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Attributes
    protected
    Definition Classes
    Logging
  55. 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