|
|
@@ -1,18 +1,18 @@ |
|
|
|
<html> |
|
|
|
<html> |
|
|
|
<head> |
|
|
|
<title>AspectJ Documentation and Resources</title> |
|
|
|
</head> |
|
|
|
<body> |
|
|
|
<body> |
|
|
|
|
|
|
|
<a name="top"></a> |
|
|
|
<h1>AspectJ Documentation and Resources</h1> |
|
|
|
<p/> |
|
|
|
<p/> |
|
|
|
AspectJ <sup><small>tm</small></sup> |
|
|
|
is a seamless aspect-oriented extension to |
|
|
|
is a seamless aspect-oriented extension to |
|
|
|
Java<sup><small>tm</small></sup>. |
|
|
|
The compiler and development tools are available under |
|
|
|
The compiler and development tools are available under |
|
|
|
an open-source license, require Java 1.3 to run, and produce |
|
|
|
code that runs in JDK 1.1 and later VM's. |
|
|
|
code that runs in JDK 1.1 and later VM's. |
|
|
|
For the latest materials, see |
|
|
|
<a href="http://eclipse.org/aspectj">http://eclipse.org/aspectj</a>. |
|
|
|
Not all of these materials have been updated for AspectJ 5. |
|
|
@@ -21,28 +21,28 @@ |
|
|
|
<table> |
|
|
|
<tr><td><u>Section</u></td><td><u>Contents</u></td></tr> |
|
|
|
<tr><td><a href="#documentation">docs</a></td><td> |
|
|
|
<a href="faq.html">FAQ</a>, |
|
|
|
<a href="faq.html">FAQ</a>, |
|
|
|
<a href="quick5.pdf">Quick Reference (AspectJ 5)</a>, |
|
|
|
<a href="quick.pdf">Quick Reference (1.2.1)</a>, |
|
|
|
<a href="quick.pdf">Quick Reference (1.2.1)</a>, |
|
|
|
<a href="adk15notebook/index.html">AspectJ 5 Developer's Notebook</a>, |
|
|
|
<a href="progguide/index.html">programming</a>, |
|
|
|
<a href="devguide/index.html">development</a> and |
|
|
|
<a href="pdguide/index.html">problem diagnosis</a> guides, |
|
|
|
<a href="progguide/index.html">programming</a>, |
|
|
|
<a href="devguide/index.html">development</a> and |
|
|
|
<a href="pdguide/index.html">problem diagnosis</a> guides, |
|
|
|
<a href="runtime-api/index.html">API</a> and |
|
|
|
<a href="examples/">example code</a>. |
|
|
|
</td></tr> |
|
|
|
<tr><td><a href="#distributions">distributions</a></td><td> |
|
|
|
<tr><td><a href="#distributions">distributions</a></td><td> |
|
|
|
<a href="http://eclipse.org/aspectj">AspectJ</a>; |
|
|
|
development environment support for |
|
|
|
<a href="http://eclipse.org/ajdt">Eclipse</a> |
|
|
|
development environment support for |
|
|
|
<a href="http://eclipse.org/ajdt">Eclipse</a> |
|
|
|
and |
|
|
|
<a href="https://jdeveloperaop.dev.java.net/">JDeveloper</a>. |
|
|
|
<a href="https://jdeveloperaop.dev.java.net/">JDeveloper</a>. |
|
|
|
</td></tr> |
|
|
|
<tr><td><a href="#resources">resources</a></td><td> |
|
|
|
<a href="http://aosd.net">aosd.net</a>; |
|
|
|
<a href="http://eclipse.org/aspectj">AspectJ project</a> |
|
|
|
the bug <a href="http://bugs.eclipse.org/bugs">db</a>, |
|
|
|
and mailing lists for |
|
|
|
and mailing lists for |
|
|
|
<a href="mailto:aspectj-users@eclipse.org">users</a> and |
|
|
|
<a href="mailto:aspectj-dev@eclipse.org">developers</a>. |
|
|
|
</td></tr> |
|
|
@@ -54,37 +54,37 @@ |
|
|
|
<a name="documentation"></a> |
|
|
|
<h3>AspectJ documentation</h3> |
|
|
|
<table border="1"> |
|
|
|
<tr> <th>Documentation</th><th>Description</th> |
|
|
|
<tr> <th>Documentation</th><th>Description</th> |
|
|
|
</tr> |
|
|
|
|
|
|
|
|
|
|
|
<tr> <td><a href="quick5.pdf"> AspectJ 5 Quick Reference</a> |
|
|
|
</td> |
|
|
|
<td>This is a four-page quick reference for the AspectJ 5 language. |
|
|
|
<td>This is a four-page quick reference for the AspectJ 5 language. |
|
|
|
</td> </tr> |
|
|
|
|
|
|
|
<tr> <td><a href="quick.pdf"> AspectJ Quick Reference</a> |
|
|
|
</td> |
|
|
|
<td>This is a two-page quick reference for the AspectJ language. |
|
|
|
<td>This is a two-page quick reference for the AspectJ language. |
|
|
|
</td> </tr> |
|
|
|
|
|
|
|
<tr> <td><a href="adk15notebook/index.html">AspectJ 5 Developer's Notebook</a> |
|
|
|
(printable <a href="adk15notebook/printable.html">html</a>) |
|
|
|
</td> |
|
|
|
<td>This describes the changes to the AspectJ language and tools introduced |
|
|
|
in the AspectJ 5 Development Kit. These changes are additive, and are not yet |
|
|
|
in the AspectJ 5 Development Kit. These changes are additive, and are not yet |
|
|
|
reflected in the programming guide or quick reference.</td> |
|
|
|
</tr> |
|
|
|
|
|
|
|
<tr> <td><a href="progguide/index.html">Programming Guide</a> |
|
|
|
(printable <a href="progguide/printable.html">html</a>) |
|
|
|
</td> |
|
|
|
<td>This introduces AOP and the AspectJ language. |
|
|
|
<td>This introduces AOP and the AspectJ language. |
|
|
|
<a href="progguide/starting.html">Getting Started</a> |
|
|
|
describes basic semantics, and shows development- and production-time applications. |
|
|
|
<a href="progguide/language.html">The AspectJ Language</a> |
|
|
|
describes join points, pointcuts, advice, and introduction, all features new to AOP. |
|
|
|
<a href="progguide/examples.html">Examples</a> walks you through the |
|
|
|
describes join points, pointcuts, advice, and introduction, all features new to AOP. |
|
|
|
<a href="progguide/examples.html">Examples</a> walks you through the |
|
|
|
examples included with the documentation, and there are two short |
|
|
|
chapters on useful <a href="progguide/idioms.html">Idioms</a> and a |
|
|
|
few <a href="progguide/pitfalls.html">Pitfalls</a> |
|
|
@@ -92,7 +92,7 @@ |
|
|
|
the <a href="progguide/quick.html">Quick Reference</a> |
|
|
|
summarizes AspectJ syntax, |
|
|
|
the <a href="progguide/semantics.html">Language Semantics</a> |
|
|
|
best describes AspectJ usage, and |
|
|
|
best describes AspectJ usage, and |
|
|
|
<a href="progguide/implementation.html">Implementation Notes</a> |
|
|
|
describes how |
|
|
|
the current version is limited to code the compiler controls.</td> |
|
|
@@ -100,13 +100,13 @@ |
|
|
|
|
|
|
|
<tr> <td><a href="devguide/index.html">Development Environment Guide</a> |
|
|
|
<br/> |
|
|
|
|
|
|
|
|
|
|
|
(printable <a href="devguide/printable.html">html</a>) |
|
|
|
</td> |
|
|
|
<td>This is a guide to |
|
|
|
<td>This is a guide to |
|
|
|
<a href="devguide/ajc-ref.html">ajc</a>, the command-line compiler; |
|
|
|
<a href="devguide/ajbrowser.html">ajbrowser</a>, the stand-alone |
|
|
|
GUI for compiling and viewing crosscutting structure; |
|
|
|
GUI for compiling and viewing crosscutting structure; |
|
|
|
and the <a href="devguide/antTasks.html">Ant tasks</a> |
|
|
|
for building AspectJ programs. |
|
|
|
</td> |
|
|
@@ -114,10 +114,10 @@ |
|
|
|
|
|
|
|
<tr> <td><a href="pdguide/index.html">Problem Diagnosis Guide</a> |
|
|
|
<br/> |
|
|
|
|
|
|
|
|
|
|
|
(printable <a href="pdguide/printable.html">html</a>) |
|
|
|
</td> |
|
|
|
<td>This has a guide to |
|
|
|
<td>This has a guide to |
|
|
|
the various features available such as messages and trace to help you both solve problems |
|
|
|
with you own programs and report bugs to the AspectJ team. |
|
|
|
</td> |
|
|
@@ -137,7 +137,8 @@ |
|
|
|
|
|
|
|
<tr> <td>README's |
|
|
|
</td> |
|
|
|
<td>Changes and porting guide for AspectJ |
|
|
|
<td>Changes and porting guide for AspectJ |
|
|
|
<a href="README-198.html">1.9.8</a>, |
|
|
|
<a href="README-197.html">1.9.7</a>, |
|
|
|
<a href="README-196.html">1.9.6</a>, |
|
|
|
<a href="README-195.html">1.9.5</a>, |
|
|
@@ -196,7 +197,7 @@ |
|
|
|
<tr> <td><a href="examples/">Examples</a> |
|
|
|
</td> |
|
|
|
<td>AspectJ code to demonstrate some language features and implement |
|
|
|
JavaBean properties, the Observer pattern, a tracing library, |
|
|
|
JavaBean properties, the Observer pattern, a tracing library, |
|
|
|
and a game application where aspects handle display updating. |
|
|
|
</td> </tr> |
|
|
|
|
|
|
@@ -215,8 +216,8 @@ |
|
|
|
</tr> |
|
|
|
<tr> <td><a href="http://eclipse.org/aspectj">AspectJ</a> source code |
|
|
|
</td> |
|
|
|
<td>Source code for AspectJ is available |
|
|
|
under the open-source |
|
|
|
<td>Source code for AspectJ is available |
|
|
|
under the open-source |
|
|
|
<a href="https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt">Eclipse Public License v 2.0</a> |
|
|
|
license from the Git |
|
|
|
repositories for the AspectJ project. See the |
|
|
@@ -250,9 +251,9 @@ |
|
|
|
<a name="resources"></a> |
|
|
|
<h3>Other AspectJ resources</h3> |
|
|
|
<table border="1"> |
|
|
|
<tr> <th>Resources</th><th>Description</th> |
|
|
|
<tr> <th>Resources</th><th>Description</th> |
|
|
|
</tr> |
|
|
|
<tr> <td>Mail lists |
|
|
|
<tr> <td>Mail lists |
|
|
|
</td> |
|
|
|
<td> |
|
|
|
AspectJ users discuss tips and |
|
|
@@ -262,14 +263,14 @@ |
|
|
|
AspectJ developers discuss issues with developing |
|
|
|
the AspectJ tools on |
|
|
|
<a href="mailto:aspectj-dev@eclipse.org"> |
|
|
|
aspectj-dev@eclipse.org</a>. |
|
|
|
aspectj-dev@eclipse.org</a>. |
|
|
|
To get occasional emails about AspectJ releases |
|
|
|
and relevant events, subscribe to |
|
|
|
and relevant events, subscribe to |
|
|
|
<tt>aspectj-announce@eclipse.org</tt>. |
|
|
|
To view list archives or subscribe to the list, go to |
|
|
|
To view list archives or subscribe to the list, go to |
|
|
|
<a href="http://eclipse.org/aspectj"> |
|
|
|
the AspectJ home page</a>. |
|
|
|
To find archived emails, use the Eclipse site |
|
|
|
To find archived emails, use the Eclipse site |
|
|
|
<a href="http://www.eclipse.org/search/search.cgi">search page</a>. |
|
|
|
</td></tr> |
|
|
|
<tr> <td><a href="http://bugs.eclipse.org/bugs">Bug database</a> |
|
|
@@ -288,15 +289,15 @@ |
|
|
|
Bugs all users should know about are |
|
|
|
<a href="http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&keywords=info"> |
|
|
|
flagged with the "info" keyword</a>. |
|
|
|
See the |
|
|
|
See the |
|
|
|
<a href="faq.html#q:ajcbugs"> |
|
|
|
FAQ entry</a> for instructions on submitting compiler bugs. |
|
|
|
FAQ entry</a> for instructions on submitting compiler bugs. |
|
|
|
</td> </tr> |
|
|
|
|
|
|
|
<tr> <td> <a href="http://aosd.net">http://aosd.net</a> - the AOSD web site |
|
|
|
</td> |
|
|
|
<td>This site has discussion and announcements related to |
|
|
|
aspect-oriented software development (AOSD) in general. |
|
|
|
aspect-oriented software development (AOSD) in general. |
|
|
|
Use <a href="mailto:announce@aosd.net">announce@aosd.net</a> |
|
|
|
to get and publish notices about AOSD |
|
|
|
workshops, conferences, and technology releases. |
|
|
@@ -309,39 +310,39 @@ |
|
|
|
<a name="paths"></a> |
|
|
|
<h3>Suggested paths for those new to AspectJ</h3> |
|
|
|
<p/> |
|
|
|
To learn the AspectJ language, read the |
|
|
|
To learn the AspectJ language, read the |
|
|
|
<a href="progguide/index.html">Programming Guide</a>, |
|
|
|
keeping the <a href="progguide/semantics.html">Semantics appendix</a> |
|
|
|
nearby as the best reference for AspectJ usage. |
|
|
|
Focus initially on the join point model and |
|
|
|
pointcuts, concepts AOP adds to OOP. |
|
|
|
To read about how the <a href="examples/">examples</a> work, |
|
|
|
To read about how the <a href="examples/">examples</a> work, |
|
|
|
see the <a href="progguide/examples.html">Examples </a> section |
|
|
|
in the <a href="progguide/index.html">Programming Guide</a>. |
|
|
|
View and navigate the crosscutting structure using |
|
|
|
View and navigate the crosscutting structure using |
|
|
|
<a href="http://eclipse.org/ajdt">AJDT</a>; if you can't use Eclipse, try |
|
|
|
the <code>ajbrowser</code> structure viewer, as described in |
|
|
|
the <a href="devguide/ajbrowser.html">AspectJ Browser</a> section of |
|
|
|
the <a href="devguide/index.html">Development Environment Guide</a>. |
|
|
|
<p/> |
|
|
|
To start using AspectJ with your own code, |
|
|
|
To start using AspectJ with your own code, |
|
|
|
modify the example aspects to apply to your classes. |
|
|
|
As you learn, |
|
|
|
use the compiler's <code>-Xlint</code> flags to catch some common |
|
|
|
mistakes. (Understand that the |
|
|
|
use the compiler's <code>-Xlint</code> flags to catch some common |
|
|
|
mistakes. (Understand that the |
|
|
|
<a href="progguide/implementation.html">current implementation</a> |
|
|
|
is limited to code the compiler controls.) |
|
|
|
<p> |
|
|
|
To plan how to adopt AspectJ into a project, read the |
|
|
|
To plan how to adopt AspectJ into a project, read the |
|
|
|
<a href="progguide/index.html">Programming Guide</a> |
|
|
|
on development- and production-time aspects |
|
|
|
and the <a href="faq.html">FAQ</a> entries for |
|
|
|
on development- and production-time aspects |
|
|
|
and the <a href="faq.html">FAQ</a> entries for |
|
|
|
<a href="faq.html#q:startUsingAJ">How should I start using AspectJ?</a>, |
|
|
|
<a href="faq.html#adoption">Deciding to adopt AspectJ</a>, |
|
|
|
the Development tools sections |
|
|
|
(<a href="faq.html#q:integrateWithDevTools">one</a>, |
|
|
|
<a href="faq.html#devtools">two</a>, |
|
|
|
<a href="faq.html#ltw">Load-time weaving</a> |
|
|
|
<a href="faq.html#devtools">two</a>, |
|
|
|
<a href="faq.html#ltw">Load-time weaving</a> |
|
|
|
), and |
|
|
|
<a href="faq.html#q:opensource">AspectJ as open-source</a>. |
|
|
|
</p> |