Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
AspectJ
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==History and contributors== [[Gregor Kiczales]] started and led the [[Xerox PARC]] team that eventually developed AspectJ. He coined the term ''crosscutting''. Fourth on the team, [[Chris Maeda]] coined the term ''aspect-oriented programming.'' [[Jim Hugunin]] and [[Erik Hilsdale]] ([[Xerox PARC]] team members 12 and 13) were the original compiler and weaver engineers, [[Mik Kersten]] implemented the IDE integration and started the [http://eclipse.org/ajdt Eclipse AJDT] project with [[Adrian Colyer]] and [[Andrew Clement]]. After Adrian Colyer, Andrew Clement took over as project lead and main contributor for AspectJ. AJDT has since been retired as a separate project and taken over into the Eclipse AspectJ umbrella project to streamline maintenance. However, both AspectJ and AJDT are still maintained in separate source repositories. In 2021, [[Alexander Kriegisch]] joined the project, first as a contributor, then as a committer and maintainer. Since March 2021, he is basically the sole maintainer. Since 2024, he also is formally the AspectJ and AJDT project lead. The [[AspectBench Compiler]] was developed and is maintained as a joint effort of the [[Programming Tools Group]] at the [[Oxford University Computing Laboratory]], the [[Sable Research Group]] at [[McGill University]], and the Institute for [[BRICS Institute|Basic Research in Computer Science (BRICS)]]. ===AspectWerkz=== AspectWerkz was a dynamic, lightweight and high-performance [[Aspect-oriented programming|AOP/AOSD]] framework for [[Java (programming language)|Java]]. It has been merged with the AspectJ project,<ref>{{Cite web |date=2006-07-12 |title=AspectJ and AspectWerkz to Join Forces |url=http://aspectwerkz.codehaus.org/index-merge.html|url-status=dead|archive-url=https://web.archive.org/web/20060712004603/http://aspectwerkz.codehaus.org/index-merge.html |access-date=2024-03-19 |website=Aspectwerkz|archive-date=July 12, 2006}}</ref> which supports AspectWerkz functionality since AspectJ 5. [[Jonas Boner]] and [[Alex Vasseur]] engineered the AspectWerkz project, and later contributed to the AspectJ project when it merged in the AspectWerkz annotation style and load-time weaving support. Unlike AspectJ prior to version 5, AspectWerkz did not add any new language constructs to Java, but instead supported declaration of aspects within [[Java annotation]]s. It utilizes bytecode modification to [[Aspect weaver|weave]] classes at project build-time, class load time, as well as [[Run time (program lifecycle phase)|runtime]]. It uses standardized {{clarify span|JVM level APIs|date=September 2013}}. Aspects can be defined using either Java annotations (introduced with Java 5), Java 1.3/1.4 custom [[doclet]] or a simple XML definition file. AspectWerkz provides an API to use the very same aspects for proxies, hence providing a transparent experience, allowing a smooth transition for users familiar with proxies. AspectWerkz is [[free software]]. The [[GNU Lesser General Public License|LGPL]]-style license allows the use of AspectWerkz 2.0 in both commercial and open source projects.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)