123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359 |
- <html>
- <head>
- <title>AspectJ Documentation and Resources</title>
- </head>
- <body>
-
- <a name="top"></a>
- <h1>AspectJ Documentation and Resources</h1>
- <p/>
- AspectJ <sup><small>tm</small></sup>
- is a seamless aspect-oriented extension to
- Java<sup><small>tm</small></sup>.
- 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.
- 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.
- <p/>
-
- <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="quick5.pdf">Quick Reference (AspectJ 5)</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="runtime-api/index.html">API</a> and
- <a href="examples/">example code</a>.
- </td></tr>
- <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>
- and
- <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
- <a href="mailto:aspectj-users@eclipse.org">users</a> and
- <a href="mailto:aspectj-dev@eclipse.org">developers</a>.
- </td></tr>
- <tr><td><a href="#paths">paths</a> </td><td>for those new to AspectJ
- </td></tr>
- </table>
- <p/>
-
- <a name="documentation"></a>
- <h3>AspectJ documentation</h3>
- <table border="1">
- <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> </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> </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
- 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.
- <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
- 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>
- The appendices have reference information:
- 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
- <a href="progguide/implementation.html">Implementation Notes</a>
- describes how
- the current version is limited to code the compiler controls.</td>
- </tr>
-
- <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
- <a href="devguide/ajc-ref.html">ajc</a>, the command-line compiler;
- and the <a href="devguide/antTasks.html">Ant tasks</a>
- for building AspectJ programs.
- </td>
- </tr>
-
- <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
- 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>
- </tr>
-
- <tr> <td><a href="runtime-api/index.html">AspectJ API</a>
- </td>
- <td>API documentation for AspectJ runtime classes. <tt>JoinPoint</tt>
- shows the state automatically available at each join point.
- See also the <a href="weaver-api/index.html">Weaver API</a>
- </td> </tr>
-
- <tr> <td><a href="faq.html"> FAQ</a>
- </td>
- <td>Frequently-asked questions about the AspectJ language, tools, and project.
- </td> </tr>
-
- <tr> <td>README's
- </td>
- <td>Changes and porting guide for AspectJ
- <a href="README-1919.html">1.9.19</a>,
- <a href="README-199.html">1.9.9 and 1.9.9.1</a>,
- <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>,
- <a href="README-194.html">1.9.4</a>,
- <a href="README-193.html">1.9.3</a>,
- <a href="README-192.html">1.9.2</a>,
- <a href="README-191.html">1.9.1</a>,
- <a href="README-190.html">1.9.0</a>,
- <a href="README-1811.html">1.8.11</a>,
- <a href="README-1810.html">1.8.10</a>,
- <a href="README-189.html">1.8.9</a>,
- <a href="README-188.html">1.8.8</a>,
- <a href="README-187.html">1.8.7</a>,
- <a href="README-186.html">1.8.6</a>,
- <a href="README-185.html">1.8.5</a>,
- <a href="README-184.html">1.8.4</a>,
- <a href="README-183.html">1.8.3</a>,
- <a href="README-182.html">1.8.2</a>,
- <a href="README-181.html">1.8.1</a>,
- <a href="README-180.html">1.8.0</a>,
- <a href="README-174.html">1.7.4</a>,
- <a href="README-173.html">1.7.3</a>,
- <a href="README-172.html">1.7.2</a>,
- <a href="README-171.html">1.7.1</a>,
- <a href="README-170.html">1.7.0</a>,
- <a href="README-1612.html">1.6.12</a>,
- <a href="README-1611.html">1.6.11</a>,
- <a href="README-1610.html">1.6.10</a>,
- <a href="README-169.html">1.6.9</a>,
- <a href="README-168.html">1.6.8</a>,
- <a href="README-167.html">1.6.7</a>,
- <a href="README-166.html">1.6.6</a>,
- <a href="README-165.html">1.6.5</a>,
- <a href="README-164.html">1.6.4</a>,
- <a href="README-163.html">1.6.3</a>,
- <a href="README-162.html">1.6.2</a>,
- <a href="README-161.html">1.6.1</a>,
- <a href="README-160.html">1.6.0</a>,
- <a href="README-154.html">1.5.4</a>,
- <a href="README-153.html">1.5.3</a>,
- <a href="README-152.html">1.5.2</a>,
- <a href="README-151.html">1.5.1</a>,
- <a href="README-150.html">1.5.0</a>,
- <a href="README-121.html">1.2.1</a>,
- <a href="README-12.html">1.2.0</a>,
- <a href="README-11.html">1.1</a>, and
- <a href="porting.html">1.0</a>.
- </td> </tr>
-
-
- <tr> <td><a href="changes.html">Changes</a>
- </td>
- <td>Changes between the latest releases.
- </td> </tr>
-
- <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,
- and a game application where aspects handle display updating.
- </td> </tr>
-
- </table>
-
- <a name="distributions"></a>
- <h3>AspectJ distributions</h3>
- <table border="1">
- <tr> <th>Distributions</th><th>Description</th></tr>
- <tr> <td><a href="http://eclipse.org/aspectj">AspectJ</a>
- </td>
- <td>The AspectJ distribution contains binaries for the
- compiler, structure browser, and Ant taskdefs,
- as well as the documentation and examples.
- </td>
- </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
- <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
- <a href="faq.html#q:buildingsource">FAQ entry</a>.
- </td>
- </tr>
-
- <tr> <td><a href="http://eclipse.org/ajdt">AspectJ for Eclipse</a>
- </td>
- <td>AspectJ Development Environment support for
- Eclipse is available under Eclipse Public License v 1.0
- from the eclipse.org project site
- <a href="http://eclipse.org/ajdt">
- http://eclipse.org/ajdt</a>
- </td>
- </tr>
-
- <tr> <td><a href="https://jdeveloperaop.dev.java.net/">
- Support for the JDeveloper IDE</a>
- </td>
- <td>Support for programming in AspectJ using the JDeveloper IDE
- is available under the Apache Software License
- from the java.net project site
- <a href="https://jdeveloperaop.dev.java.net/">
- https://jdeveloperaop.dev.java.net/</a>
- </td>
- </tr>
-
- </table>
-
- <a name="resources"></a>
- <h3>Other AspectJ resources</h3>
- <table border="1">
- <tr> <th>Resources</th><th>Description</th>
- </tr>
- <tr> <td>Mail lists
- </td>
- <td>
- AspectJ users discuss tips and
- best practices for writing AspectJ programs on
- <a href="mailto:aspectj-users@eclipse.org">
- aspectj-users@eclipse.org</a>.
- AspectJ developers discuss issues with developing
- the AspectJ tools on
- <a href="mailto:aspectj-dev@eclipse.org">
- aspectj-dev@eclipse.org</a>.
- To get occasional emails about AspectJ releases
- and relevant events, subscribe to
- <tt>aspectj-announce@eclipse.org</tt>.
- 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
- <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>
- </td>
- <td>Use the Eclipse project's Bugzilla database
- to view and submit bugs against the AspectJ product components
- <a href="http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler">
- Compiler</a> (for the AspectJ compiler, ajc)
- <a href="http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=IDE">
- IDE</a> (for AJBrowser and AJDE bugs),
- <a href="http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Ant">
- Ant</a> (for the Ant tasks),
- and
- <a href="http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Docs">
- Docs</a> (for the documentation).
- 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
- <a href="faq.html#q:ajcbugs">
- 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.
- Use <a href="mailto:announce@aosd.net">announce@aosd.net</a>
- to get and publish notices about AOSD
- workshops, conferences, and technology releases.
- Use <a href="mailto:discuss@aosd.net">discuss@aosd.net</a>
- for general AOSD discussions.
- </td> </tr>
- </table>
-
- <p/>
- <a name="paths"></a>
- <h3>Suggested paths for those new to AspectJ</h3>
- <p/>
- 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,
- 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
- <a href="http://eclipse.org/ajdt">AJDT (AspectJ Development Tools)
- in Eclipse IDE</a>. IntelliJ IDEA also offers AspectJ and Spring AOP
- support.
- <p/>
- 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
- <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
- <a href="progguide/index.html">Programming Guide</a>
- 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>
- ), and
- <a href="faq.html#q:opensource">AspectJ as open-source</a>.
- </p>
- <p>
- Enjoy the language!
- </p>
- <p>
- The AspectJ Team
- </p>
-
- <hr/>
- <small>
- <a href="#top">Top</a>
- </small>
- </body> </html>
|