]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scenegraph.profile/src/org/simantics/scenegraph/profile/common/ObserverGroupValueListener.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.scenegraph.profile / src / org / simantics / scenegraph / profile / common / ObserverGroupValueListener.java
1 package org.simantics.scenegraph.profile.common;
2
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;
7
8 /**
9  * @author Tuukka Lehtonen
10  */
11 public abstract class ObserverGroupValueListener<T> implements Listener<T> {
12
13     protected ObserverGroupListener listener;
14     protected Observer              observer;
15     protected Group                 group;
16     protected Object                data;
17
18     public ObserverGroupValueListener(ObserverGroupListener listener, Observer observer, Group group, Object data) {
19         this.listener = listener;
20         this.observer = observer;
21         this.group = group;
22         this.data = data;
23     }
24
25     @Override
26     public void exception(Throwable t) {
27         Logger.defaultLogError(t);
28     }
29
30     @Override
31     public boolean isDisposed() {
32         return listener.isDisposed();
33     }
34
35     @Override
36     public int hashCode() {
37         return listener.hashCode() + 31 * data.hashCode();
38 //        return observer.hashCode() + 31 * group.hashCode() + 41*data.hashCode();
39     }
40
41     @Override
42     public boolean equals(Object object) {
43         if (this == object)
44             return true;
45         else if (object == null)
46             return false;
47         else if (getClass() != object.getClass())
48             return false;
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);
52     }
53
54 }