package eu.dnetlib.miscutils.observer;

/**
 * This class delegates an observation event from the java.util.Observable producer to the real consumer which is not a
 * java.util.Observer (as expected by java.util.Observable) but instead a miscutils Observer.
 * 
 * @author marko
 * 
 */
class DelegationObserver<R extends Observer<Observable<? extends R>>> implements java.util.Observer {
	/**
	 * 
	 */
	private transient final Observable<? extends R> observable;
	private transient final R observer;

	DelegationObserver(final Observable<? extends R> observable, final R observer) {
		this.observable = observable;
		this.observer = observer;
	}

	public void update(final java.util.Observable ignored, final Object arg) {
		observer.update(observable, arg);
	}
}