1.组织一个结果对象的过程中,需要对该对象中的很多字段进行校验,这个时候我们可以将校验的单独抽出去。为了代码更简洁。
2.定义validator对象。声明这个对象(普通的java对象),构造函数定义好需要传入的值,准备回调的内部类定义。
3.validator里面写好validate方法,统一进行校验。
4.在validator类写个内部类
@Data
@NoArgsConstructor
public static class XXXTarget {
String xxCode;
Date reportTime;
Consumer<String> xxCodeNotExists;
Consumer<xxObject> xxCodeIsValid;
}
5.在组装的方法,写好对这个内部类的set方法。
param.setxxCodeIsValid(e->{ xx.setxxCode(e.getxxCode()); });
validator.validate(param);
6.在validate方法进行回调
Optional.ofNullable(param.xxCodeIsValid()).ifPresent(e -> e.accept(null));