如何基于POJO中的另一个值更改变量的值?

时间:2019-07-31 17:19:15

标签: java design-patterns

我有以下POJO类:

@Value
@Builder
@RequiredArgsConstructor
public class XYZ {

    @NonNull
    private final String a;

    @NonNull
    private final Map<Integer, ABC> items;

    @NonNull
    private final State state;

    public enum State {
        STARTED,
    INPROGRESS,
        STOPPED
    }
}

现在,在此基于地图的不同大小,我想更改状态字段的值。例如。当size为0时,状态应为STOPPED;当状态小于5且大于0时,则状态为INPROGRESS;如果状态大于5,则应开始状态。

做到这一点的最佳方法是什么?这个逻辑应该在此POJO内部还是应该在我显式更改map时进行显式检查。我该怎么做呢?有什么想法吗?

1 个答案:

答案 0 :(得分:0)