JAC: A Flexible Solution for Aspect-Oriented Programming in Java

  • Authors:
  • Renaud Pawlak;Lionel Seinturier;Laurence Duchien;Gerard Florin

  • Affiliations:
  • -;-;-;-

  • Venue:
  • REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper presents JAC (Java Aspect Components), a framework for aspect-oriented programming in Java. Unlike language such as AspectJ which are mostly class-based,JAC is object-based and does not require any language extensions to Java. It uses the Javassist class load-time MOP. An aspect program in JAC is a set of aspect objects that can be dynamically deployed and undeployed on top of running application objects. Aspect objects may define three kinds of aspect methods: wrapping methods (that wrap application methods and provide the ability to run code before and after the wrapped methods), role methods (that add new functionalities to application objects), and exception handlers. The aspects composition issue is handled through a well-defined wrapping controller that specifies for each wrapped object at wrap-time, runtime or both, the execution order of aspect objects.