2015-09-21 49 views
2

我使用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中添加修剪方法?或者我必須寫定製二傳手?

回答

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(); 
    }