将trim方法添加到Lombok中的setter

时间:2015-09-21 19:00:24

标签: java setter lombok

我使用Project Lombok为String字段生成getter / setter。该字段(例如密码)具有验证注释。

@Size(min = 6,max = 100, message = "The password must be between 6 and 100 characters") 
private String password;

我想在setter中添加trim方法,以便不计算长度中的空白区域。

public void setPassword(String password) {
    this.password = password.trim();
}

如何在Lombok setter中添加trim方法?或者我必须写自定义setter?

1 个答案:

答案 0 :(得分:2)

在这种情况下,您必须编写自定义setter。如果你使用的是Immutable等价物(Wither),你可以将trim()放在构造函数中,只需将@Wither添加到方法中,这也适用于通过@Builder生成的构建器。这是一种更安全的方法,可确保始终修剪密码。

  @Wither
  @Size(min = 6,max = 100, message = "The password must be between 6 and 100 characters") 
  private final String password; //guaranteed to be trimmed


  public MyClass(final String password){  
    this.password=  password.trim();
  }