Можно ли добавить аннотации к статическим фабричным методам с помощью ломбков? - PullRequest
0 голосов
/ 12 ноября 2018

Если я создаю класс, подобный

@Value
@AllArgsConstructor(staticName = "of", onConstructor = @__(@JsonCreator))
public class Test {
    String value;
}

Свойства onConstructor добавляются в конструктор (что имеет смысл).Однако мне нужно добавить аннотации к заводскому методу.Возможно ли это?

Моя корневая проблема пытается заставить

{
    "test": 2018
}

десериализовать до:

SomeJavaClass:
 private final Test test

Это не работает из-за свойств ConstructorProperties.

1 Ответ

0 голосов
/ 13 ноября 2018

Поместить аннотацию в метод статической фабрики было бы наиболее разумно, если установлены оба параметра staticName и onConstructor. В этом случае обычный конструктор становится private и, таким образом, не может быть использован откуда-либо еще (кроме уродливых приемов отражения). Поэтому в большинстве случаев аннотации имеют смысл только для метода статической фабрики.

Однако, это не текущее поведение Lombok, и нет никакого способа настроить Lombok по-другому. Я предлагаю вам создать запрос на GitHub . Однако следует помнить, что функция onX является экспериментальной, поэтому этот запрос функции может быть отклонен или отложен.

...