aboutsummaryrefslogtreecommitdiffstats
path: root/docs/examples/observer/SubjectObserverProtocolImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'docs/examples/observer/SubjectObserverProtocolImpl.java')
-rw-r--r--docs/examples/observer/SubjectObserverProtocolImpl.java31
1 files changed, 31 insertions, 0 deletions
diff --git a/docs/examples/observer/SubjectObserverProtocolImpl.java b/docs/examples/observer/SubjectObserverProtocolImpl.java
new file mode 100644
index 000000000..2bc75918c
--- /dev/null
+++ b/docs/examples/observer/SubjectObserverProtocolImpl.java
@@ -0,0 +1,31 @@
+/*
+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.
+*/
+
+package observer;
+
+import java.util.Vector;
+
+aspect SubjectObserverProtocolImpl extends SubjectObserverProtocol {
+
+ declare parents: Button implements Subject;
+ public Object Button.getData() { return this; }
+
+ declare parents: ColorLabel implements Observer;
+ public void ColorLabel.update() {
+ colorCycle();
+ }
+
+ pointcut stateChanges(Subject s):
+ target(s) &&
+ call(void Button.click());
+
+}