Size: a a a

Kotlin Community

2020 April 05

AE

Alexandr Emelyanov in Kotlin Community
Alex Wells
чем? Все, что мне нужно было сделать, это написать эти самые кастомные адаптеры в нескольких местах - сомневаюсь, что с jackson'ом было бы как-то проще
Тут равно так же
источник

AE

Alexandr Emelyanov in Kotlin Community
Apache DOG™
В необходимости компайлтайма
Речь о проверке? А где идёт в рантайме?
источник

AW

Alex Wells in Kotlin Community
Alexandr Emelyanov
Тут равно так же
class CustomDateSerializer extends StdSerializer<Date> {
  private static final long serialVersionUID = 1L;
  private static SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
  public CustomDateSerializer() {
     this(null);
  }
  public CustomDateSerializer(Class<Date> t) {
     super(t);
  }
  @Override
  public void serialize(Date value,
     JsonGenerator generator, SerializerProvider arg2) throws IOException {
     generator.writeString(formatter.format(value));
  }
}

оно?
источник

AE

Alexandr Emelyanov in Kotlin Community
Alex Wells
class CustomDateSerializer extends StdSerializer<Date> {
  private static final long serialVersionUID = 1L;
  private static SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
  public CustomDateSerializer() {
     this(null);
  }
  public CustomDateSerializer(Class<Date> t) {
     super(t);
  }
  @Override
  public void serialize(Date value,
     JsonGenerator generator, SerializerProvider arg2) throws IOException {
     generator.writeString(formatter.format(value));
  }
}

оно?
Оно, но пример перусложнен
источник

AW

Alex Wells in Kotlin Community
Alexandr Emelyanov
Оно, но пример перусложнен
окей, есть более адекватный пример? Толи этого в доках вообще нет, толи гугл их не индексирует, но нормальную доку я не нашел
источник

AW

Alex Wells in Kotlin Community
источник

AW

Alex Wells in Kotlin Community
в этом чуде разбиратся?)
источник

AN

Alexander Nozik in Kotlin Community
Apache DOG™
Транслятор SQL в целевой язык, транслятор целевого языка в что то другое
Та же сериализация, вид сбоку. Кстати, можно сделать на kotlinx-serization, я правда не совсем понимаю, зачем
источник

AN

Alexander Nozik in Kotlin Community
Опять же интересно послушать про кейсы, которые не покрываются сериализацией. У меня есть такой. Интересно еще
источник

AD

Apache DOG™ in Kotlin Community
Alexander Nozik
Опять же интересно послушать про кейсы, которые не покрываются сериализацией. У меня есть такой. Интересно еще
Компилятор сериализация - ну лан
источник

AD

Apache DOG™ in Kotlin Community
Зачем дальше с такими разговоры вести
источник

AD

Apache DOG™ in Kotlin Community
Тайпчек- сериализация, инланинг и прочее это все сериализация
источник

AD

Apache DOG™ in Kotlin Community
Где вы такие берётесь?
источник

AN

Alexander Nozik in Kotlin Community
Ладно, тут все ясно. Дальше действительно не интересно. Приходите, когда захотите обсудить, а не понакидывать. Ну и посмотрите на досуге на то, как работает сериализационный плагин.
источник

AN

Alexander Nozik in Kotlin Community
Где вы такие берётесь спрашивать не буду. И так знаю.
источник

AO

Alexey Otts in Kotlin Community
Apache DOG™
Гораздо, гораздо лучше. Сравнивал лично рефлекторную фигню и макросную фигню. Так вот - макросную фигню почти всегда можно рефакторить не сломав.
По уровню магии абсолютно одно и тоже, ты не знаешь что там внутри коробки тебе сделает макрос и всё это усугубляется тем что, не все простые смертные умеют читать макросы. С рефлексией ещё туды сюды можно разобраться.
Я конечно тоже сильно против рефлексии, но макросы в этом плане не сильно лучше увы
источник

AO

Alexey Otts in Kotlin Community
Я вот вот дополирую свою компайл тайм рефлексию для котлина, посмотрим насколько ситуация станет лучше
источник

AN

Alexander Nozik in Kotlin Community
Alexey Otts
Я вот вот дополирую свою компайл тайм рефлексию для котлина, посмотрим насколько ситуация станет лучше
А есть экзамплы? Было бы интересно
источник

AN

Alexander Nozik in Kotlin Community
И на чем пилите? На Arrow-meta?
источник

AO

Alexey Otts in Kotlin Community
Alexander Nozik
А есть экзамплы? Было бы интересно
Я пилю два варианта, первый вдохновлён magnolia, это для простых кейсов где не нужны супер оптимизации. Второй вариант позволит писать генераторы для кастомного кода. Всё это поверх капта.
Сразу предвкушая почему не компайлер плагин, потому что у него теже самые проблемы, что и у макросов в скале - я не вижу конечного кода. Каптом же мы генерим доп исходники.

Вот магнолия если что https://magnolia.work/opensource/magnolia
источник