projects
/
demos
/
kafka
/
demos-kafka-payment-system-transfer
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
TransferRepository does not need any synchronization
[demos/kafka/demos-kafka-payment-system-transfer]
/
src
/
main
/
java
/
de
/
juplo
/
kafka
/
payment
/
transfer
/
domain
/
Transfer.java
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
..
82891b7
100644
(file)
--- 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 lombok.Data;
import lombok.EqualsAndHashCode;
+import java.util.LinkedList;
+import java.util.List;
+
@Data
@Builder
@Data
@Builder
-@EqualsAndHashCode(exclude =
"state"
)
+@EqualsAndHashCode(exclude =
{ "state", "messages" }
)
public class Transfer
{
public enum State
{
public class Transfer
{
public enum State
{
- SENT,
- FAILED,
- PENDING,
- APPROVED,
- REJECTED
+ RECEIVED(false),
+ INVALID(false),
+ CHECKED(false),
+ APPROVED(true),
+ REJECTED(true);
+
+ public final boolean foreign;
+
+ State(boolean foreign)
+ {
+ this.foreign = foreign;
+ }
}
private final long id;
}
private final long id;
@@
-26,4
+36,19
@@
public class Transfer
private final int amount;
private State state;
private final int amount;
private State state;
+
+ private final List<String> messages = new LinkedList<>();
+
+
+ public Transfer setState(State state)
+ {
+ this.state = state;
+ return this;
+ }
+
+ public Transfer addMessage(String message)
+ {
+ messages.add(message);
+ return this;
+ }
}
}