Introduced different Events for the creation and the state-changes
[demos/kafka/demos-kafka-payment-system-transfer] / src / main / java / de / juplo / kafka / payment / transfer / adapter / NewTransferEvent.java
1 package de.juplo.kafka.payment.transfer.adapter;
2
3 import de.juplo.kafka.payment.transfer.domain.Transfer;
4 import lombok.Builder;
5 import lombok.Data;
6 import lombok.EqualsAndHashCode;
7
8
9 @Data
10 @EqualsAndHashCode
11 @Builder
12 public class NewTransferEvent
13 {
14   private Long id;
15   private Long payer;
16   private Long payee;
17   private Integer amount;
18
19   public Transfer toTransfer()
20   {
21     return
22         Transfer
23             .builder()
24             .id(id)
25             .payer(payer)
26             .payee(payee)
27             .amount(amount)
28             .build();
29   }
30
31   public static NewTransferEvent ofTransfer(Transfer transfer)
32   {
33     return
34         NewTransferEvent
35             .builder()
36             .id(transfer.getId())
37             .payer(transfer.getPayer())
38             .payee(transfer.getPayee())
39             .amount(transfer.getAmount())
40             .build();
41   }
42 }