Ver Fonte

Add ability to make an observer that automatically fires a signal to another observer.

Sam Jaffe há 8 anos atrás
pai
commit
2e61d5c08a

+ 10 - 0
src/main/lombok/org/leumasjaffe/observer/ObservableListener.java

@@ -20,4 +20,14 @@ public class ObservableListener<C, T extends Observable> {
 	public void notifySubscribers(Observable obs) {
 		this.impl.notifySubscribers(obs);
 	}
+	
+	public static <C extends Observable, T extends Observable> ObservableListener<C, T> cascade(T from, C to) {
+		ObservableListener<C, T> lis = new ObservableListener<C, T>(to, ObservableListener::cascadeImpl);
+		lis.setObserved(from);
+		return lis;
+	}
+	
+	private static void cascadeImpl(Observable to, Observable from) {
+		ObserverDispatch.notifySubscribers(to);
+	}
 }