<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://soft.vub.ac.be/ajtraining/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://soft.vub.ac.be/ajtraining/feed.php">
        <title>AspectJ 5 Training</title>
        <description></description>
        <link>http://soft.vub.ac.be/ajtraining/</link>
        <image rdf:resource="http://soft.vub.ac.be/ajtraining/_media/wiki:dokuwiki-128.png" />
       <dc:date>2026-04-23T10:57:59+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://soft.vub.ac.be/ajtraining/start?rev=1475833011&amp;do=diff"/>
                <rdf:li rdf:resource="http://soft.vub.ac.be/ajtraining/sidebar?rev=1475708432&amp;do=diff"/>
                <rdf:li rdf:resource="http://soft.vub.ac.be/ajtraining/basics:tabs?rev=1233589006&amp;do=diff"/>
                <rdf:li rdf:resource="http://soft.vub.ac.be/ajtraining/tracing:ex1?rev=1223390798&amp;do=diff"/>
                <rdf:li rdf:resource="http://soft.vub.ac.be/ajtraining/tracing:intro?rev=1223382486&amp;do=diff"/>
                <rdf:li rdf:resource="http://soft.vub.ac.be/ajtraining/caching:ex3?rev=1223382444&amp;do=diff"/>
                <rdf:li rdf:resource="http://soft.vub.ac.be/ajtraining/caching:ex2?rev=1223382338&amp;do=diff"/>
                <rdf:li rdf:resource="http://soft.vub.ac.be/ajtraining/caching:ex4?rev=1223382220&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://soft.vub.ac.be/ajtraining/_media/wiki:dokuwiki-128.png">
        <title>AspectJ 5 Training</title>
        <link>http://soft.vub.ac.be/ajtraining/</link>
        <url>http://soft.vub.ac.be/ajtraining/_media/wiki:dokuwiki-128.png</url>
    </image>
    <item rdf:about="http://soft.vub.ac.be/ajtraining/start?rev=1475833011&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-10-07T09:36:51+00:00</dc:date>
        <dc:creator>svdewate (svdewate@undisclosed.example.com)</dc:creator>
        <title>start</title>
        <link>http://soft.vub.ac.be/ajtraining/start?rev=1475833011&amp;do=diff</link>
        <description>AspectJ and AspectJ 5 &quot;hands-on&quot; Training Session

	*  Course material for the Aspect-Oriented Software Development course

Overview

	*  Development Environment
	*  The Basics
	*  Invariant Checking
	*  Tracing
	*  Authentication
	*  Caching</description>
    </item>
    <item rdf:about="http://soft.vub.ac.be/ajtraining/sidebar?rev=1475708432&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-10-05T23:00:32+00:00</dc:date>
        <dc:creator>svdewate (svdewate@undisclosed.example.com)</dc:creator>
        <title>sidebar</title>
        <link>http://soft.vub.ac.be/ajtraining/sidebar?rev=1475708432&amp;do=diff</link>
        <description>Training

	*  S1:IDE
	*  S1:Basics
	*  S1:Invariants
	*  S2:Tracing
	*  S2:Authentication
	*  S3:Caching

AspectJ

	*  Prog Guide
	*  AspectJ 5
	*  [Quick Ref]
	*  Runtime API
	*  Website
	*  Dev Tools
	*  Eclipse.org</description>
    </item>
    <item rdf:about="http://soft.vub.ac.be/ajtraining/basics:tabs?rev=1233589006&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-02-02T15:36:46+00:00</dc:date>
        <dc:creator>bdefrain (bdefrain@undisclosed.example.com)</dc:creator>
        <title>tabs</title>
        <link>http://soft.vub.ac.be/ajtraining/basics:tabs?rev=1233589006&amp;do=diff</link>
        <description>Intro
Ex1
Ex2
Ex3
Ex4
Ex5
Ex6
Ex7</description>
    </item>
    <item rdf:about="http://soft.vub.ac.be/ajtraining/tracing:ex1?rev=1223390798&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-10-07T14:46:38+00:00</dc:date>
        <dc:creator>bdefrain (bdefrain@undisclosed.example.com)</dc:creator>
        <title>ex1</title>
        <link>http://soft.vub.ac.be/ajtraining/tracing:ex1?rev=1223390798&amp;do=diff</link>
        <description>Intro
Ex1
Ex2
Ex3

Tracing: Simple output

Task: Pass the suite tests.SimpleTraceOutput.

Write an aspect to log the execution of all public methods in the figures package (not its subpackages). Write a message into the log panel with the static write(String) method from the</description>
    </item>
    <item rdf:about="http://soft.vub.ac.be/ajtraining/tracing:intro?rev=1223382486&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-10-07T12:28:06+00:00</dc:date>
        <dc:creator>bdefrain (bdefrain@undisclosed.example.com)</dc:creator>
        <title>intro</title>
        <link>http://soft.vub.ac.be/ajtraining/tracing:intro?rev=1223382486&amp;do=diff</link>
        <description>Intro
Ex1
Ex2
Ex3

Tracing: Intro

Tracing and logging is the “Hello world” of aspect-oriented programming. In these exercises, we will develop some tracing behavior using aspects.

Set-up &amp; Running

You can reuse the AspectJ project with the figure editor application you have created during the previous track. If you haven&#039;t got such a project yet, consult the</description>
    </item>
    <item rdf:about="http://soft.vub.ac.be/ajtraining/caching:ex3?rev=1223382444&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-10-07T12:27:24+00:00</dc:date>
        <dc:creator>bdefrain (bdefrain@undisclosed.example.com)</dc:creator>
        <title>ex3</title>
        <link>http://soft.vub.ac.be/ajtraining/caching:ex3?rev=1223382444&amp;do=diff</link>
        <description>Intro
Ex1
Ex2
Ex3
Ex4

Caching: Invalidate (part I)

Task: Pass tests.Invalidation1.

While caching in this way does save computation, it will lead to incorrect bounding boxes if a Group is ever moved. Write another separate aspect that invalidates (i.e. clears) the cache whenever the</description>
    </item>
    <item rdf:about="http://soft.vub.ac.be/ajtraining/caching:ex2?rev=1223382338&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-10-07T12:25:38+00:00</dc:date>
        <dc:creator>bdefrain (bdefrain@undisclosed.example.com)</dc:creator>
        <title>ex2</title>
        <link>http://soft.vub.ac.be/ajtraining/caching:ex2?rev=1223382338&amp;do=diff</link>
        <description>Intro
Ex1
Ex2
Ex3
Ex4

Caching: Constant cache

Using inter-type declarations

Task: Pass tests.BoundsConstantCache.

Instead of making the (very) conservative approximation of getBounds() from the previous part, write an aspect instead that remembers the return value from the first time</description>
    </item>
    <item rdf:about="http://soft.vub.ac.be/ajtraining/caching:ex4?rev=1223382220&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2008-10-07T12:23:40+00:00</dc:date>
        <dc:creator>bdefrain (bdefrain@undisclosed.example.com)</dc:creator>
        <title>ex4</title>
        <link>http://soft.vub.ac.be/ajtraining/caching:ex4?rev=1223382220&amp;do=diff</link>
        <description>Intro
Ex1
Ex2
Ex3
Ex4

Caching: Invalidate (part II)

Task: Pass tests.Invalidation2a and pass tests.Invalidation2b.

Of course, the previous aspect didn&#039;t really solve the problem. What if a Point that is part of a Group moves? Whenever either of the fields of a Point</description>
    </item>
</rdf:RDF>
