diff options
Diffstat (limited to 'docs/modules/ROOT/examples/ltw')
-rw-r--r-- | docs/modules/ROOT/examples/ltw/HelloWorld.java | 16 | ||||
-rw-r--r-- | docs/modules/ROOT/examples/ltw/README | 42 | ||||
-rw-r--r-- | docs/modules/ROOT/examples/ltw/Tracing.aj | 23 |
3 files changed, 81 insertions, 0 deletions
diff --git a/docs/modules/ROOT/examples/ltw/HelloWorld.java b/docs/modules/ROOT/examples/ltw/HelloWorld.java new file mode 100644 index 000000000..1d44b8b82 --- /dev/null +++ b/docs/modules/ROOT/examples/ltw/HelloWorld.java @@ -0,0 +1,16 @@ +/* + * Copyright (c) 2004 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v 2.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt + * + * Contributors: + * Matthew Webster initial implementation + */ +public class HelloWorld { + + public static void main (String[] args) { + System.out.println("Hello World!"); + } +} diff --git a/docs/modules/ROOT/examples/ltw/README b/docs/modules/ROOT/examples/ltw/README new file mode 100644 index 000000000..43868a2e2 --- /dev/null +++ b/docs/modules/ROOT/examples/ltw/README @@ -0,0 +1,42 @@ + +For users of JDK 1.4 the bin directory of your AspectJ distribution +contains a script "aj" to perform load-time weaving. Java classes on +the CLASSPATH are loaded and woven with aspects also on the CLASSPATH +which are declared in an aop.xml file. This file is either created by +the user or generated by the compiler. Alternatively aspects can be +loaded from an explicitly defined ASPECTPATH. + +For users of JDK 1.5 the bin directory of your AspectJ distribution +contains a script "aj5" to perform load-time weaving using an agent. +This uses an aop.xml as described above. + +--To compile the HelloWorld program-- + + ajc -outjar hello.jar HelloWorld.java + +--To compile the Tracing aspect-- + + ajc -outjar tracing.jar -outxml Tracing.aj + +--To run the example-- + + set CLASSPATH to include hello.jar + + aj HelloWorld + +--To run the example with tracing-- + + set CLASSPATH to include "tracing.jar" + + aj HelloWorld + +--To run the example with tracing using ASPECTPATH-- + + set ASPECTPATH=tracing.jar + + aj HelloWorld + +--To run the example with tracing using an agent-- + + aj5 HelloWorld + diff --git a/docs/modules/ROOT/examples/ltw/Tracing.aj b/docs/modules/ROOT/examples/ltw/Tracing.aj new file mode 100644 index 000000000..de20c5403 --- /dev/null +++ b/docs/modules/ROOT/examples/ltw/Tracing.aj @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2004 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v 2.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt + * + * Contributors: + * Matthew Webster initial implementation + */ +public aspect Tracing { + + private pointcut mainMethod () : + execution(public static void main(String[])); + + before () : mainMethod() { + System.out.println("> " + thisJoinPoint); + } + + after () : mainMethod() { + System.out.println("< " + thisJoinPoint); + } +} |