123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219 |
- [[top]]
- == AspectJ Documentation and Resources
-
- AspectJ^TM^ is a seamless aspect-oriented extension to
- Java^TM^. The compiler and development tools are available
- under an open-source license, require Java 8 to run, and produce code
- that runs in JDK 1.3 and later VM's. For the latest materials, see
- https://eclipse.org/aspectj. Not all of these materials have been updated
- for AspectJ 5.
-
- [cols=",",]
- |===
- |+++Section+++ |+++Contents+++
-
- |xref:#documentation[Documentation] |xref:faq/faq.adoc#faq[FAQ], xref:quickref/quick5.pdf[Quick
- Reference (AspectJ 5)], xref:quickref/quick.pdf[Quick Reference (1.2.1)],
- xref:adk15notebook/index.adoc[AspectJ 5 Developer's Notebook],
- xref:progguide/index.adoc[programming],
- xref:devguide/index.adoc[development] and
- xref:pdguide/index.adoc[problem diagnosis] guides,
- link:runtime-api/index.html[API] and link:https://github.com/eclipse-aspectj/aspectj/tree/master/docs/examples[example code].
-
- |xref:#distributions[Distributions]
- |https://eclipse.org/aspectj[AspectJ]; development environment support
- for https://eclipse.org/ajdt[Eclipse].
-
- |xref:#resources[Other resources] |https://eclipse.org/aspectj[AspectJ project], the bug
- https://bugs.eclipse.org/bugs[db], and mailing lists for
- mailto:aspectj-users@eclipse.org[users] and
- mailto:aspectj-dev@eclipse.org[developers].
-
- |xref:#paths[Learning paths] |for those new to AspectJ
- |===
-
- [[documentation]]
- === AspectJ documentation
-
- [width="100%",cols="50%,50%",options="header",]
- |===
- |Documentation |Description
- |xref:quickref/quick5.pdf[AspectJ 5 Quick Reference] |This is a four-page quick
- reference for the AspectJ 5 language.
-
- |xref:quickref/quick.pdf[AspectJ Quick Reference] |This is a two-page quick
- reference for the AspectJ language.
-
- |xref:adk15notebook/index.adoc[AspectJ 5 Developer's Notebook] +
- (xref:adk15notebook/adk15notebook.adoc[single page]) |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.
-
- |xref:progguide/index.adoc[Programming Guide] +
- (xref:progguide/progguide.adoc[single page]) |This introduces AOP and the
- AspectJ language. xref:progguide/gettingstarted.adoc[Getting Started]
- describes basic semantics, and shows development- and production-time
- applications. xref:progguide/language.adoc[The AspectJ Language]
- describes join points, pointcuts, advice, and introduction, all features
- new to AOP. xref:progguide/examples.adoc[Examples] walks you through the
- examples included with the documentation, and there are two short
- chapters on useful xref:progguide/idioms.adoc[Idioms] and a few
- xref:progguide/pitfalls.html[Pitfalls] The appendices have reference
- information: the xref:progguide/quickreference.adoc[Quick Reference] summarizes
- AspectJ syntax, the xref:progguide/semantics.adoc[Language Semantics]
- best describes AspectJ usage, and
- xref:progguide/implementation.adoc[Implementation Notes] describes how
- the current version is limited to code the compiler controls.
-
- |xref:devguide/index.adoc[Development Environment Guide] +
- (xref:devguide/devguide.adoc[single page]) |This is a guide to
- xref:devguide/ajc.adoc[ajc], the command-line compiler;
- and the
- xref:devguide/antsupport.adoc[Ant tasks] for building AspectJ programs.
-
- |xref:pdguide/index.adoc[Problem Diagnosis Guide] +
- (xref:pdguide/pdguide.adoc[single page]) |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.
-
- |xref:runtime-api/index.html[AspectJ API] |API documentation for AspectJ
- runtime classes. JoinPoint shows the state automatically available at
- each join point. See also the xref:weaver-api/index.html[Weaver API]
-
- |xref:faq/faq.adoc#faq[FAQ] |Frequently-asked questions about the AspectJ
- language, tools, and project.
-
- |README's |Changes and porting guide for AspectJ
- xref:dist/doc/README-1.9.21.adoc[1.9.21],
- xref:dist/doc/README-1.9.20.adoc[1.9.20 and 1.9.20.1], xref:dist/doc/README-1.9.19.adoc[1.9.19],
- xref:dist/doc/README-1.9.9.adoc[1.9.9 and 1.9.9.1], xref:dist/doc/README-1.9.8.adoc[1.9.8],
- xref:dist/doc/README-1.9.7.adoc[1.9.7], xref:dist/doc/README-1.9.6.adoc[1.9.6],
- xref:dist/doc/README-1.9.5.adoc[1.9.5], xref:dist/doc/README-1.9.4.adoc[1.9.4],
- xref:dist/doc/README-1.9.3.adoc[1.9.3], xref:dist/doc/README-1.9.2.adoc[1.9.2],
- xref:dist/doc/README-1.9.1.adoc[1.9.1], xref:dist/doc/README-1.9.0.adoc[1.9.0],
- xref:dist/doc/README-1.8.11.adoc[1.8.11], xref:dist/doc/README-1.8.10.adoc[1.8.10],
- xref:dist/doc/README-1.8.9.adoc[1.8.9], xref:dist/doc/README-1.8.8.adoc[1.8.8],
- xref:dist/doc/README-1.8.7.adoc[1.8.7], xref:dist/doc/README-1.8.6.adoc[1.8.6],
- xref:dist/doc/README-1.8.5.adoc[1.8.5], xref:dist/doc/README-1.8.4.adoc[1.8.4],
- xref:dist/doc/README-1.8.3.adoc[1.8.3], xref:dist/doc/README-1.8.2.adoc[1.8.2],
- xref:dist/doc/README-1.8.1.adoc[1.8.1], xref:dist/doc/README-1.8.0.adoc[1.8.0],
- xref:dist/doc/README-1.7.4.adoc[1.7.4], xref:dist/doc/README-1.7.3.adoc[1.7.3],
- xref:dist/doc/README-1.7.2.adoc[1.7.2], xref:dist/doc/README-1.7.1.adoc[1.7.1],
- xref:dist/doc/README-1.7.0.adoc[1.7.0], xref:dist/doc/README-1.6.12.adoc[1.6.12],
- xref:dist/doc/README-1.6.11.adoc[1.6.11], xref:dist/doc/README-1.6.10.adoc[1.6.10],
- xref:dist/doc/README-1.6.9.adoc[1.6.9], xref:dist/doc/README-1.6.8.adoc[1.6.8],
- xref:dist/doc/README-1.6.7.adoc[1.6.7], xref:dist/doc/README-1.6.6.adoc[1.6.6],
- xref:dist/doc/README-1.6.5.adoc[1.6.5], xref:dist/doc/README-1.6.4.adoc[1.6.4],
- xref:dist/doc/README-1.6.3.adoc[1.6.3], xref:dist/doc/README-1.6.2.adoc[1.6.2],
- xref:dist/doc/README-1.6.1.adoc[1.6.1], xref:dist/doc/README-1.6.0.adoc[1.6.0],
- xref:dist/doc/README-1.5.4.adoc[1.5.4], xref:dist/doc/README-1.5.3.adoc[1.5.3],
- xref:dist/doc/README-1.5.2.adoc[1.5.2], xref:dist/doc/README-1.5.1.adoc[1.5.1],
- xref:dist/doc/README-1.5.0.adoc[1.5.0], xref:dist/doc/README-1.2.1.adoc[1.2.1],
- xref:dist/doc/README-1.2.adoc[1.2.0], xref:dist/doc/README-1.1.adoc[1.1],
- xref:dist/doc/porting.adoc[1.0].
-
- |xref:dist/doc/changes.adoc[Changes] |Changes between historical releases up to 1.6.0.
-
- |link:https://github.com/eclipse-aspectj/aspectj/tree/master/docs/examples[Examples] |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.
-
- | xref:developer/index.adoc[AspectJ Design Overview] +
- (xref:developer/design-overview.adoc[single page]) |Introductory information about
- AspectJ language design, developer guides, module structure
- |===
-
- [[distributions]]
-
- === AspectJ distributions
-
- [cols=",",options="header",]
- |===
- |Distributions |Description
- |https://eclipse.org/aspectj[AspectJ] |The AspectJ distribution contains
- binaries for the compiler, structure browser, and Ant taskdefs, as well
- as the documentation and examples.
-
- |https://eclipse.org/aspectj[AspectJ] source code |Source code for
- AspectJ is available under the open-source
- https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt[Eclipse Public
- License v 2.0] license from the Git repositories for the AspectJ
- project. See the xref:faq/faq.adoc#buildingsource[FAQ entry].
-
- |https://eclipse.org/ajdt[AspectJ for Eclipse] |AspectJ Development
- Environment support for Eclipse is available under Eclipse Public
- License v 1.0 from the eclipse.org project site https://eclipse.org/ajdt
- |===
-
- [[resources]]
-
- === Other AspectJ resources
-
- [cols=",",options="header",]
- |===
- |Resources |Description
- |Mail lists |AspectJ users discuss tips and best practices for writing
- AspectJ programs on aspectj-users@eclipse.org. AspectJ developers
- discuss issues with developing the AspectJ tools on
- aspectj-dev@eclipse.org. To get occasional emails about AspectJ releases
- and relevant events, subscribe to aspectj-announce@eclipse.org. To view
- list archives or subscribe to the list, go to
- https://eclipse.org/aspectj[the AspectJ home page]. To find archived
- emails, use the Eclipse site
- https://www.eclipse.org/search/search.cgi[search page].
-
- |https://bugs.eclipse.org/bugs[Bug database] |Use the Eclipse project's
- Bugzilla database to view and submit bugs against the AspectJ product
- components
- https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler[Compiler]
- (for the AspectJ compiler, ajc)
- https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=IDE[IDE]
- (for AJDE bugs),
- https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Ant[Ant]
- (for the Ant tasks), and
- https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Docs[Docs]
- (for the documentation). Bugs all users should know about are
- https://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&keywords=info[flagged
- with the "info" keyword]. See the xref:faq/faq.adoc#ajcbugs[FAQ entry] for
- instructions on submitting compiler bugs.
-
- |===
-
- [[paths]]
- === Suggested learning paths for those new to AspectJ
-
- To learn the AspectJ language, read the
- xref:progguide/index.adoc[Programming Guide], keeping the
- xref:progguide/semantics.adoc[Semantics appendix] 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
- link:https://github.com/eclipse-aspectj/aspectj/tree/master/docs/examples[examples] work, see the
- xref:progguide/examples.adoc[Examples] section in the
- xref:progguide/index.adoc[Programming Guide]. View and navigate the
- crosscutting structure using https://eclipse.org/ajdt[AJDT].
-
- To start using AspectJ with your own code, modify the example aspects to
- apply to your classes. As you learn, use the compiler's `-Xlint` flags
- to catch some common mistakes. (Understand that the
- xref:progguide/implementation.adoc[current implementation] is limited to
- code the compiler controls.)
-
- To plan how to adopt AspectJ into a project, read the
- xref:progguide/index.adoc[Programming Guide] on development- and
- production-time aspects and the FAQ entries for
- xref:faq/faq.adoc#howToStartUsing[How should I start using AspectJ?],
- xref:faq/faq.adoc#adoption[Deciding to adopt AspectJ], the Development tools
- sections (xref:faq/faq.adoc#integrateWithDevTools[How does AspectJ integrate with existing Java development tools?],
- xref:faq/faq.adoc#devtools[Integrating AspectJ into your development environment], xref:faq/faq.adoc#ltw[Load-time weaving]), and
- xref:faq/faq.adoc#opensource[AspectJ as open-source].
-
- Enjoy the language!
-
- The AspectJ Team
-
- '''''
-
- [.small]#xref:#top[Top]#
|