private def handleToken()

in jackson/src/main/scala/com/twitter/finatra/jackson/serde/JodaDatetimeDeserializer.scala [39:61]


  private def handleToken(
    token: JsonToken,
    jp: JsonParser,
    ctxt: DeserializationContext
  ): DateTime = token match {
    case JsonToken.VALUE_NUMBER_INT =>
      val value: Long = jp.getLongValue
      parseFromLong(ctxt, value)
    case JsonToken.VALUE_STRING =>
      val value: String = jp.getText.trim
      if (value.isEmpty) {
        throw JsonMappingException.from(ctxt, "field cannot be empty")
      } else {
        // First, attempt to convert as a String value (for backwards-compatibility),
        // Long millis will fail and we then attempt to parse with value.toLong
        Try(this._format.createParser(ctxt).parseDateTime(value)) match {
          case Return(result) => result
          case _ => parseFromLong(ctxt, value.toLong)
        }
      }
    case _ =>
      this._handleNotNumberOrString(jp, ctxt)
  }