Настройка ломбок для застройщика - PullRequest
2 голосов
/ 30 марта 2019

Я хочу избежать нескольких конструкторов, поэтому я хочу использовать шаблон проектирования , используя библиотеку lombok , это может быть проще, поэтому я хочу аннотировать классContractDTO с этой аннотацией библиотеки:

@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder(toBuilder = true)
class ContractDTO {

    private Integer id;  
    private String name;
    private Integer acquirerId;    
    private Integer terminalId;    
    private String merchantId;

}

, тогда ваш код может быть:

...
.map(g -> new ContractDTO().toBuilder()
        .name(g.getName())
        .merchantName(g.getMerchantId())
        .build()
)....

Но когда я пытаюсь скомпилировать код, я не могу найти символ [ОШИБКА]:Метод toBuilder ()

Возможно, мне нужно заранее сгенерировать код?

Ответы [ 2 ]

2 голосов
/ 30 марта 2019

Вы можете использовать это так:

 ContractDTO.builder()
    .name(g.getName())
    .merchantName(g.getMerchantId())
    .build();

Если мы хотим создать копии или почти копии объектов, мы можем добавить свойство toBuilder = true к аннотации @Builder. Это говорит Lombok добавить метод toBuilder () в наш класс. Когда мы вызываем метод toBuilder (), он возвращает построитель, инициализированный со свойствами экземпляра, для которого он вызывается.

0 голосов
/ 30 марта 2019

По умолчанию ваша IDE не может определить, что сгенерировал lombok, поэтому, чтобы избежать ошибок компиляции, которые появляются после того, как вы добавили некоторые аннотации, я предлагаю вам установить плагин lombok в вашу IDE, чтобы вы могли сгенерировать ваши классы и обнаружить вашей IDE в режиме реального времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...