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;
    }

我想做三件事:

这可能吗?

我也喜欢使用@Builder 模式,我可以将前提条件与这种方法结合起来吗?

@lombok.NonNull标记所有字段并使用@RequiredArgsConstructor;应该这样做。