Я использую класс case, который - среди других параметров - создается с шестнадцатеричным значением BigInt. Я использую класс case для десериализации сообщений JSON через Jerkson/Jackson. Красота использования Jackson заключается в том, что de/serialization работает из коробки для классов классов на основе их подписи (я думаю).scala определяющий класс с дополнительным параметром для типа
Теперь значение BigInt в шестнадцатеричном кодировании должно быть создано с дополнительным параметром radix: BigInt (hexValue, 16). Однако мои сообщения JSON не содержат такого параметра. Я ищу решение для определения этого radix в моем определении класса case, чтобы Джексон продолжал использовать класс без конфигурации. Что-то вроде:
case class MyClass(name: String, hexValue: BigInt(hexValue, 16))
Я понимаю, что альтернативные подходы могли бы быть: а) определить JSON де/сериализации явно или б) определить свой собственный класс-обертку BigInt. Однако я ищу более элегантное решение «scala-ish» - если оно есть.
Примечание: Int не является достаточным, он должен быть BigInt.