java - Lombok - 如何创建自定义设置器并应用于java中的不同成员
问题描述
我想了解如何在 Lombok 中创建自定义设置器并将设置器应用于特定成员。我有一个有 100 个成员的类,对于其中的 50 个成员,我有一个自定义设置器,可以在设置值之前检查 X,另外 50 个有自定义设置器,可以在设置值之前检查 Y。可以做到吗?这是一个示例,2 个成员 2 个不同的设置器,此代码对我班的所有成员重复:
@JsonProperty("TAC_LAC_Start_UE1")
private Integer tacLacStartUe1;
@JsonProperty("TAC_LAC_Start_UE2")
private Integer tacLacStartUe2;
@Override
public void setTacLacStartUe1(Integer tacLacStartUe1) {
if (Objects.equals(getTacLacStartUe1(), tacLacStartUe1)) {
return;
}
this.tacLacStartUe1 = tacLacStartUe1;
if (DocKind.ORIG == docKind) {
((EventDocument) prepareDirtyDocument()).setTacLacStartUe1(tacLacStartUe1);
}
}
@Override
public Integer getTacLacStartUe2() {
return tacLacStartUe2;
}
@Override
public void setTacLacStartUe2(Integer tacLacStartUe2) {
if (Objects.equals(getTacLacStartUe2(), tacLacStartUe2)) {
return;
}
this.tacLacStartUe2 = tacLacStartUe2;
if (DocKind.ORIG == docKind) {
((EventDocument) prepareDirtyDocument()).setTacLacStartUe2(tacLacStartUe2);
}
}
解决方案
根据当前版本的文档(https://projectlombok.org/features/GetterSetter),它似乎不包括为 setter(或 getter)指定自定义检查的方法。我担心您将不得不手动编写每个 setter 代码。
这同样适用于实验性的 @Accessor功能。
推荐阅读
- ksh - 如何在使用 KSH 脚本开发的应用程序中将请求从 GET 转换为 POST?
- django-modeladmin - 从 ModelAdmin 操作访问相关模型字段以导出到 excel
- amazon-web-services - 如何在“ifelse”聚合中使用 sum 或 sumif
- c# - ASP.NET Core MVC 中的重定向 404 和 500 错误
- neo4j - 在neo4j中,我可以根据查询结果直接创建另一个数据库吗?
- javascript - 对 Vue 真的很陌生,你能帮我算一笔吗?
- typescript - Map - ts 中的嵌套泛型类型
- javascript - 防止从 iframe 滚动但仍然可以点击 javascript
- r - R rlang:dplyr::mutate 中的 call_args
- python - 从 Python 中的 GUI 表中读取数据