2016-04-12 27 views
0

Bunu denedim.lombok ile hem standart erişimcileri hem de akıcı erişim sağlayıcıları nasıl oluşturabilirim?

@lombok.Getter 
@lombok.Setter 
@lombok.Accessors(chain = true, fluent = true) 
private String prop; 

Ve @Accessor öncelik ve getProp aldı ve setProp oluşturulmaz.

Bunu nasıl üretebilirim?

public String getProp() { 
    return prop; 
} 
public String prop() { 
    //return prop; 
    return getProp(); // wow factor 
} 
public void setProp(String prop) { 
    this.prop = prop; 
} 
public Some prop(String prop) { 
    //this.prop = prop; 
    setProp(prop); // wow factor, again 
    return this; 
} 

cevap

4

Ne yazık ki bu imkansız. Kendi alıcılarını ve ayarlayıcılarını uygulamanız ve bunu başarmak için @Getter @Setter ve @Accessors (akıcı = doğru) annotaions eklemeniz gerekir. Sonuç olarak

@Getter 
@Setter 
@Accessors(fluent = true) 
public class SampleClass { 
    private int id; 

    public int getId() { 
     return id; 
    } 

    public void setId(int id) { 
     this.id = id; 
    } 
} 

sahip olacak sınıfı gibi:

public class SampleClass { 
    private int id; 

    public int getId() { 
     return id; 
    } 

    public void setId(int id) { 
     this.id = id; 
    } 

    public int id(){ 
     return id; 
    } 

    public void id(int id){ 
     this.id=id; 
    } 
} 
4

Korkarım ki yapamazsınız. doc itibaren

(vurgu olan madeni):

@Accessors açıklama lombok üretir ve alıcılar ve ayarlayıcılar için nasıl göründüğünü yapılandırmak için kullanılır.

Yani @Accessors o @Getter ve @Setter yapılandırmak için sadece bir yolu, bir şey üretmez.


Ama gerçekten istiyorsan

akıcı ve düzenli alıcı/ayarlayıcı, (el) düzenli bir tane ekleyin ve bunları akıcı olanları temsilci yapabilirsiniz.