Java + 龙目岛 + 番石榴 + 验证
Java + Lombok + Guava + Validation
我有这个 Pojo:
@Getter
@EqualsAndHashCode
public class Order {
public enum OrderType {
BUY, SELL
}
private Id id;
private Quantity quantity;
private Money price;
private OrderType orderType;
public Order(Id id, Quantity quantity, Money price, OrderType orderType) {
Preconditions.checkNotNull(id, "id can't be null");
Preconditions.checkNotNull(quantity, "quantity can't be null");
Preconditions.checkNotNull(price, "price can't be null");
Preconditions.checkNotNull(orderType, "orderType can't be null");
this.id = id;
this.quantity = quantity;
this.price = price;
this.orderType = orderType;
}
我想做三件事:
- 改用@AllArgsConstructor
- 并删除构造函数
- 但当然要保持先决条件
这可能吗?
我也喜欢使用@Builder 模式,我可以将前提条件与这种方法结合起来吗?
用@lombok.NonNull
标记所有字段并使用@RequiredArgsConstructor
;应该这样做。
我有这个 Pojo:
@Getter
@EqualsAndHashCode
public class Order {
public enum OrderType {
BUY, SELL
}
private Id id;
private Quantity quantity;
private Money price;
private OrderType orderType;
public Order(Id id, Quantity quantity, Money price, OrderType orderType) {
Preconditions.checkNotNull(id, "id can't be null");
Preconditions.checkNotNull(quantity, "quantity can't be null");
Preconditions.checkNotNull(price, "price can't be null");
Preconditions.checkNotNull(orderType, "orderType can't be null");
this.id = id;
this.quantity = quantity;
this.price = price;
this.orderType = orderType;
}
我想做三件事:
- 改用@AllArgsConstructor
- 并删除构造函数
- 但当然要保持先决条件
这可能吗?
我也喜欢使用@Builder 模式,我可以将前提条件与这种方法结合起来吗?
用@lombok.NonNull
标记所有字段并使用@RequiredArgsConstructor
;应该这样做。