[英]PMD error: AccessorMethodGeneration when overriding some method in Lombok Builder
我有以下 class 應該使用 Lombok @Builder
:
import lombok.Builder;
import lombok.Getter;
@Getter
@Builder(toBuilder = true)
public class Foo {
private String myName;
private int myAge;
public static class FooBuilder {
// I'm overriding this method to add some validation logic
public FooBuilder myName(String myName) {
// some simple logic to validate "myName"
this.myName= myName;
return this;
}
}
}
我想在設置之前添加一些簡單的邏輯來驗證myName
字段。 但我不想為myAge
做。 所以myAge
字段的 builder 和FooBuilder
構造函數將由 Lombok 生成。
這使得 PMD 拋出錯誤:
規則:AccessorMethodGeneration 優先級:3 避免自動生成的方法訪問私有字段和內部/外部類的方法。
我應該抑制這個錯誤還是有更好的方法來實現我想要的?
創建規則AccessorClassGeneration和AccessorMethodGeneration是為了幫助 Android (,) 開發。 當 DEX 格式存在限制時。 這些生成的類/方法計入當時可能的總類/方法(64k)。
如果您不是在開發舊的 Android 應用程序,那么您可以從您的規則集中完全刪除這些規則。 例如,今天有Multidex可能允許在您的應用程序中使用超過 64k 的方法。
此外,由於 Java 11,java 編譯器不再生成這些訪問器類和方法,請參閱JEP 181:基於嵌套的訪問控制。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.