Javaは言語仕様上の制約により、ボイラープレートコード(自明だが省略できないお決まりのコード断片)がいくつかあります。例えば、メンバ変数を読み書きするだけのgetterメソッドやsetterメソッドがこれにあたります。Lombokを使えば、これらJava特有の冗長なコードを、見やすく簡潔なものにすることができます。本記事ではLombokを利用して、ボイラープレートコードをシンプルに記述する方法について解説します。
はじめに
今や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;
}
}
この記事は参考になりましたか?
- この記事の著者
-
五座 淳一(株式会社DTS)(ゴザ ジュンイチ)
株式会社DTS 金融企画部所属。主に大規模・金融機関向けシステム開発のアーキテクト担当しています。ウォーターフォール型の開発に、CIなどアジャイル開発のプラクティスを取り入れ、開発プロセスの改善を試みています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア


