|
|
@@ -0,0 +1,62 @@
|
|
|
+package net.ranides.assira.prototype;
|
|
|
+
|
|
|
+import net.ranides.assira.events.Event;
|
|
|
+
|
|
|
+public abstract class ActiveEvent implements Event {
|
|
|
+
|
|
|
+ private final ActiveObject source;
|
|
|
+
|
|
|
+ private final String property;
|
|
|
+
|
|
|
+ private final Object value;
|
|
|
+
|
|
|
+ public ActiveEvent(ActiveObject source, String property, Object value) {
|
|
|
+ this.source = source;
|
|
|
+ this.property = property;
|
|
|
+ this.value = value;
|
|
|
+ }
|
|
|
+
|
|
|
+ public ActiveObject source() {
|
|
|
+ return source;
|
|
|
+ }
|
|
|
+
|
|
|
+ public String property() {
|
|
|
+ return property;
|
|
|
+ }
|
|
|
+
|
|
|
+ public Object value() {
|
|
|
+ return value;
|
|
|
+ }
|
|
|
+
|
|
|
+ class Create extends ActiveEvent {
|
|
|
+
|
|
|
+ public Create(ActiveObject source, String property, Object value) {
|
|
|
+ super(source, property, value);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ class Update extends ActiveEvent {
|
|
|
+
|
|
|
+ private final Object previous;
|
|
|
+
|
|
|
+ public Update(ActiveObject source, String property, Object previous, Object value) {
|
|
|
+ super(source, property, value);
|
|
|
+ this.previous = previous;
|
|
|
+ }
|
|
|
+
|
|
|
+ public Object previous() {
|
|
|
+ return previous;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ class Delete extends ActiveEvent {
|
|
|
+
|
|
|
+ public Delete(ActiveObject source, String property, Object value) {
|
|
|
+ super(source, property, value);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+}
|