1 package org.simantics.scenegraph.profile.common;
3 import org.simantics.db.common.utils.Logger;
4 import org.simantics.db.procedure.Listener;
5 import org.simantics.scenegraph.profile.Group;
6 import org.simantics.scenegraph.profile.Observer;
9 * @author Tuukka Lehtonen
11 public abstract class ObserverGroupValueListener<T> implements Listener<T> {
13 protected ObserverGroupListener listener;
14 protected Observer observer;
15 protected Group group;
16 protected Object data;
18 public ObserverGroupValueListener(ObserverGroupListener listener, Observer observer, Group group, Object data) {
19 this.listener = listener;
20 this.observer = observer;
26 public void exception(Throwable t) {
27 Logger.defaultLogError(t);
31 public boolean isDisposed() {
32 return listener.isDisposed();
36 public int hashCode() {
37 return listener.hashCode() + 31 * data.hashCode();
38 // return observer.hashCode() + 31 * group.hashCode() + 41*data.hashCode();
42 public boolean equals(Object object) {
45 else if (object == null)
47 else if (getClass() != object.getClass())
49 ObserverGroupValueListener<?> other = (ObserverGroupValueListener<?>) object;
50 return listener.equals(other.listener) && data.equals(other.data);
51 // return observer.equals(other.observer) && group.equals(other.group) && data.equals(other.data);