Giriş
Şu satırı dahil ederiz
import lombok.ToString;
Normalde getter() metodları kullanarak toString kodunu üretir. Yani şöyledir. Eğer alanları direkt kullanmak istersek doNotUseGetters = false yapılır
public String toString() {
return "Foo(bar=" + this.getBar() + ... ")";
}
Buradaki en önemli sıkıntı eğer alan null ise toString() metodunda bunu görmek. Lombok bunu bir türlü düzeltmedi. Feature request: @ToString allows skipping null-value fields isteği hala açık.
Böyle bir durum varsa mecburen StringBuilder kullanarak elle yazmak veya IDE ile ürettirmek gerekir.
Örnek
Şöyle yaparız.
Şöyle yaparız.
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ToString
@Validated
public class ParentPojo<T> implements Serializable{
@NotNull
private String cNumber;
@NotNull
private String statusCode;
@NotNull T child;
}
callSuper AlanıEğer sınıfın atası varsa onun da toString() metodunun çağrılmasını sağlar
doNotUseGetters Alanı
String oluşturmak için direkt üye alan veya getter() metodu kullanabilir. Hangisini istediğimizi belirtiriz. Varsayılan yöntem getter() metodun kullanılması
Hiç yorum yok:
Yorum Gönder