X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fpayment%2Ftransfer%2Fdomain%2FTransfer.java;h=cac0f1955795ebf3359539b4438a0ec6fc6169e6;hb=0d1ffab6d4ff4a1d401a4b0b16bc30e0746a9441;hp=5556a1be7c7ba982e9223869413a0a6c2c918730;hpb=6191849fee717b080118717c86df79fad12bafc8;p=demos%2Fkafka%2Fdemos-kafka-payment-system-transfer diff --git a/src/main/java/de/juplo/kafka/payment/transfer/domain/Transfer.java b/src/main/java/de/juplo/kafka/payment/transfer/domain/Transfer.java index 5556a1b..cac0f19 100644 --- a/src/main/java/de/juplo/kafka/payment/transfer/domain/Transfer.java +++ b/src/main/java/de/juplo/kafka/payment/transfer/domain/Transfer.java @@ -5,19 +5,29 @@ import lombok.Builder; import lombok.Data; import lombok.EqualsAndHashCode; +import java.util.LinkedList; +import java.util.List; + @Data @Builder -@EqualsAndHashCode(exclude = "state") +@EqualsAndHashCode(exclude = { "state", "messages" }) public class Transfer { public enum State { - SENT, - FAILED, - PENDING, - APPROVED, - REJECTED + CREATED(false), + INVALID(false), + CHECKED(false), + APPROVED(true), + REJECTED(true); + + public final boolean foreign; + + State(boolean foreign) + { + this.foreign = foreign; + } } private final long id; @@ -26,4 +36,19 @@ public class Transfer private final int amount; private State state; + + private final List messages = new LinkedList<>(); + + + public Transfer setState(State state) + { + this.state = state; + return this; + } + + public Transfer addMessage(String message) + { + messages.add(message); + return this; + } }