aboutsummaryrefslogtreecommitdiffstats
path: root/docs/dist/doc/examples/coordination/Selfex.java
diff options
context:
space:
mode:
authorwisberg <wisberg>2002-12-16 23:28:22 +0000
committerwisberg <wisberg>2002-12-16 23:28:22 +0000
commit6338556123543cf33fc42ee6f3af4e5768805adc (patch)
tree6e9b0e661fba1a0d1932b5c085bded83ea15130e /docs/dist/doc/examples/coordination/Selfex.java
parentab18cfd453a41c8b728e8485809ef87c218ecf72 (diff)
downloadaspectj-6338556123543cf33fc42ee6f3af4e5768805adc.tar.gz
aspectj-6338556123543cf33fc42ee6f3af4e5768805adc.zip
moved examples under doc per Erik
Diffstat (limited to 'docs/dist/doc/examples/coordination/Selfex.java')
-rw-r--r--docs/dist/doc/examples/coordination/Selfex.java55
1 files changed, 55 insertions, 0 deletions
diff --git a/docs/dist/doc/examples/coordination/Selfex.java b/docs/dist/doc/examples/coordination/Selfex.java
new file mode 100644
index 000000000..ff73afd61
--- /dev/null
+++ b/docs/dist/doc/examples/coordination/Selfex.java
@@ -0,0 +1,55 @@
+/* -*- Mode: Java; -*-
+
+Copyright (c) Xerox Corporation 1998-2002. All rights reserved.
+
+Use and copying of this software and preparation of derivative works based
+upon this software are permitted. Any distribution of this software or
+derivative works must comply with all applicable United States export control
+laws.
+
+This software is made available AS IS, and Xerox Corporation makes no warranty
+about the software, its performance or its conformity to any specification.
+
+|<--- this code is formatted to fit into 80 columns --->|
+|<--- this code is formatted to fit into 80 columns --->|
+|<--- this code is formatted to fit into 80 columns --->|
+
+*/
+
+package coordination;
+
+
+import java.lang.String;
+
+class Selfex implements Exclusion {
+ String methodName;
+ Thread thread;
+ int count = 0;
+
+ Selfex (String _methodName) {
+ methodName = _methodName;
+ }
+
+ public boolean testExclusion (String _methodName) {
+ if (count == 0)
+ return(true);
+ return (thread == Thread.currentThread());
+ }
+
+ public void enterExclusion (String _methodName) {
+ count++;
+ thread = Thread.currentThread(); // note that if count wasn't 0
+ // we aren't changing thread
+ }
+
+ public void exitExclusion (String _methodName) {
+ count--;
+ if (count == 0) // not stricly necessary, but...
+ thread = null;
+ }
+
+ public void printNames() {
+ System.out.println("Selfex name: " + methodName);
+ }
+
+}