I propose to use Lombok Project (https://projectlombok.org) for FTGO app.
Huge amout of boilerplate code will be hidden and the code will be much more readable.
Here is Lombok-version of ValidateOrderByConsumer сommand:
@Data
@NoArgsConstructor(access = AccessLevel.PRIVATE)
@AllArgsConstructor
public class ValidateOrderByConsumer implements Command {
private long consumerId;
private long orderId;
private Money orderTotal;
}
And below is original version of ValidateOrderByConsumer сommand:
public class ValidateOrderByConsumer implements Command {
private long consumerId;
private long orderId;
private Money orderTotal;
private ValidateOrderByConsumer() {
}
@Override
public boolean equals(Object o) {
return EqualsBuilder.reflectionEquals(this, o);
}
@Override
public int hashCode() {
return HashCodeBuilder.reflectionHashCode(this);
}
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
public ValidateOrderByConsumer(long consumerId, long orderId, Money orderTotal) {
this.consumerId = consumerId;
this.orderId = orderId;
this.orderTotal = orderTotal;
}
public Long getOrderId() {
return orderId;
}
public long getConsumerId() {
return consumerId;
}
public void setConsumerId(long consumerId) {
this.consumerId = consumerId;
}
public void setOrderId(long orderId) {
this.orderId = orderId;
}
public Money getOrderTotal() {
return orderTotal;
}
public void setOrderTotal(Money orderTotal) {
this.orderTotal = orderTotal;
}
}
=======================================
Lombok could be added to the project by adding next lines into build.gradle in the root FTGO folder (below 'apply plugin: "java"'-line):
Hello,
I propose to use Lombok Project (https://projectlombok.org) for FTGO app. Huge amout of boilerplate code will be hidden and the code will be much more readable.
Here is Lombok-version of ValidateOrderByConsumer сommand:
@Data @NoArgsConstructor(access = AccessLevel.PRIVATE) @AllArgsConstructor public class ValidateOrderByConsumer implements Command { private long consumerId; private long orderId; private Money orderTotal; }
And below is original version of ValidateOrderByConsumer сommand:
public class ValidateOrderByConsumer implements Command {
private long consumerId; private long orderId; private Money orderTotal;
private ValidateOrderByConsumer() { }
@Override public boolean equals(Object o) { return EqualsBuilder.reflectionEquals(this, o); }
@Override public int hashCode() { return HashCodeBuilder.reflectionHashCode(this); }
@Override public String toString() { return ToStringBuilder.reflectionToString(this); }
public ValidateOrderByConsumer(long consumerId, long orderId, Money orderTotal) { this.consumerId = consumerId; this.orderId = orderId; this.orderTotal = orderTotal; }
public Long getOrderId() { return orderId; }
public long getConsumerId() { return consumerId; }
public void setConsumerId(long consumerId) { this.consumerId = consumerId; }
public void setOrderId(long orderId) { this.orderId = orderId; }
public Money getOrderTotal() { return orderTotal; }
public void setOrderTotal(Money orderTotal) { this.orderTotal = orderTotal; } }
=======================================
Lombok could be added to the project by adding next lines into build.gradle in the root FTGO folder (below 'apply plugin: "java"'-line):
apply plugin: "java" dependencies { compileOnly 'org.projectlombok:lombok:1.18.10' annotationProcessor 'org.projectlombok:lombok:1.18.10' }
Best regards, Andrew