pulbic enum OrderStatus {
PAID("결제완료", true),
COMFIRM("주문확인", true),
DELIVERY("배송중", false),
DONE("배송완료", false);
private String desc;
private boolean ableToCancel;
public static final Set<OrderStatus> ABLE_TO_CANCEL_STATUSES;
static {
Set<OrderStatus> statuses = EnumSet.nonOf(OrderStatus.class);
for (OrderStatus status : OrderStatus.values()) {
if (status.ableToCancel) {
statuses.add(status);
}
}
ABLE_TO_CANCEL_STATUSES = Collections.UnmodifiableSet(statuses);
}
public OrderStatus(String desc, boolean ableToCancel) {
this.desc = desc;
this.ableToCancel = ableToCancel;
}
}