More AspectJ + @

Attribute or annotation or tag or @ の情報を利用して、AspectJソースコードを生成するヤツの続き。


以前に書いたもの(ArchJavaTraits)に加えて、次のようなものも実装できるかも、と思い中:

  • Role
  • Rule
  • Virtual Class
  • Delegation

具体的に、実装可能かどうか(&役に立つかどうか)は不明だけど、試してみようと思い中。それに、これだけ似たようなことをやれば、共通性とかも見えてくると思う。

参考:
Rule 関係ではインスピレーションのネタ元は、

Maja D'Hondt and Viviane Jonckers.
Hybrid Aspects for Weaving Object-Oriented Functionality and Rule-Based Knowledge.
Proceedings of the Third International Conference on Aspect-Oriented Software Development (AOSD 2004)

DL: http://codehaus.org/~jboner/papers/

Virtual Class 関連では:

Klaus Ostermann.
Dynamically Composable Collaborations with Delegation Layers.
ECOOP 2002 - Object-Oriented Programming, LNCS 2374, pages 90-110.

DL: http://www.st.informatik.tu-darmstadt.de/public/Publications.jsp

AspectJ で Virtual Class をシミュレートしようという試みについては、僕の

AspectJ Tips: Virtual Class
http://www.ncfreak.com/asato/doc/aspectj-virtualclass.html

Role と Delegation 関係では、特になし(あるかもしれないけど、どれが関連するのか不明)。