はじめに
今やJava開発に必要不可欠となったものの一つに、IDEの存在があります。例えばEclipseではメンバ変数さえ定義すれば、getter/setterの自動生成や、equalsメソッドやhashCodeメソッド、toStringメソッドなどの自動生成などさまざまな場面でコーディングを強力にサポートしてくれます。
これは大変便利な機能ですが、裏を返せばJavaの言語仕様はボイラープレートコード(決まりきったコード)が豊富に存在することを意味します。つまり、本質的なロジック以外の冗長なコードが多いということであり、決して読みやすいコードとは言えません。
その後のメンテナンスも考えれば、IDEの自動生成がボイラープレートコードに対する完全な解決策とはなっていないことは確かです。
Lombokとは
LombokはMITライセンスで作られた、Java特有のボイラープレートコードを解消するためのライブラリです。
LombokではEclipseのような自動生成ではなく、アノテーションを付与することによりボイラープレートコードを実装したのと同じ効果を得ることができます。
インストール
Lombokを使った開発は、Javacによる直接コンパイルはもちろんのこと、EclipseやNetBeansなどの開発環境に対応しています。今回はEclipseを利用した開発を説明致します。
- Project LombokのサイトよりLombok.jarをダウンロードします(2013年8月現在、最新版は0.12.0です)。
- Lombok.jarをダブルクリックし、インストーラを起動します。
- お使いのIDEチェックし、Install/Updateボタンを押下します。
- Eclipseを起動し、Lombokを使いたいプロジェクト選択します。
- プロジェクトの参照ライブラリにLombok.jarを追加します。
アクセスメソッド
まずは、2つのメンバ変数をもつ会員クラスを例に挙げます。
Lombokを利用しない通常のJavaの場合、2つのメンバ変数、idとnameに対する、他のクラスからアクセスためのgetterメソッドやsetterメソッドが必要になるため、下記のようにコードが肥大化しているのが分かります。
public class Member { private String id; private String name; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }