Java 5でシームレスにアスペクトを実現 - AspectJ 5 公開
Eclipse.org, The AspectJ projectは20日(米国時間)、AspectJの最新版となるAspectJ 5 - AspectJ Version 1.5.0を公開した。AspectJ 5はCommon Public License version 1.0のもとでオープンソースソフトウェアとして公開されているアスペクト指向拡張。Javaに対してシームレスにアスペクト指向プログラミング環境を提供する。
AspectJ 5における新機能はいくつもあるが、なかでも代表的な変更は次のとおり。
アノテーション、Generic、Autoboxing/Unboxing、拡張for構文、列挙型などJava 5で導入された新しい言語機能などを含んだJava 5機能のサポート
Java 5にて導入されたGenericを使ったGeneric Aspectのサポート。Genericを使ってアブストラクトAspectが定義できるように拡張
Java 5にて導入されたアノテーションを使ったアソシエーションをジョイントポイントとして抽出するように機能を拡張。アノテーションを従来のジョイントポイントと同様に使うことができる
特記すべきは、AspectJ 5においてアノテーションを使ったアスペクトがサポートされた点にある。Java 5以前の環境ではアノテーションが提供されていなかったため、いくつかの方法を使ってアスペクトを実現する必要があった。Java 5からは言語の機能としてアノテーションが提供されるようになったため、AspectJ 5ではこの新しい機能を使ってアスペクトを実現させている。
また同日、AspectJ 5を使って動作するAspectJ Development Tools (AJDT) 1.3 for Eclipse 3.1も公開されている。AJDT 1.3はEclipseで動作するプラグイン。EclipseにおけるAspectJ 5を使った開発を支援する。
アスペクト指向は従来のプログラミング手法を補助する方法論のひとつとして最近注目されている。アスペクト指向に従って横断的な機能追加を行う方法は、本来目的としている処理を記述したソースコードはそのままに新しく機能を追加することができ、複雑さを軽減するものとして期待されている。
AspectJはJavaに対してアスペクト指向を実現するための代表的なアプリケーションのひとつ。AspectJ 5からJava 5で導入されたアノテーションの機能を使用するようになり、より自然にアスペクトを実現できるようになった。
関連ページ
The AspectJ project
http://eclipse.org/aspectj/