Accessorsとは?
lombok 0.11.0から導入されたexperimental機能 (1.16.2現在)。
普段のGetter/Setterと併用して、prefix, fluent, chainという3つのオプションを設定できる。
prefix
prefixオプションは、変数の前に付加している文字列をGetter/Setterから除去してくれる。
public class Hoge {
@Accessors(prefix = "m") @Getter @Setter
private String mName;
}
たとえば、Androidだとclass変数の前に "m" をつける習慣があるがこれを除去できる。
Hoge hoge = new Hoge();
hoge.setName("hoge");
hoge.getName();
chain
chainは setterの戻り値をInstanceに変更して、method chainを可能にする。
public class Hoge {
@Accessors(prefix = "m" chain = true) @Getter @Setter
private String mFirstName;
@Accessors(prefix = "m" chain = true) @Getter @Setter
private String mLastName;
}
Hoge hoge = new Hoge();
hoge.setFirstName("John").setLastName("Doe");
fluent
fluentはset/getというSetter/Getterのメソッドprefixを除去してくれる
public class Hoge {
@Accessors(prefix = "m" chain = true, fluent = true) @Getter @Setter
private String mFirstName;
@Accessors(prefix = "m" chain = true, fluent = true) @Getter @Setter
private String mLastName;
}
Hoge hoge = new Hoge();
hoge.firstName("John").lastName("Doe");
hoge.firstName(); // John