X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.scenegraph.profile%2Fsrc%2Forg%2Fsimantics%2Fscenegraph%2Fprofile%2Fcommon%2FObserverGroupValueListener.java;fp=bundles%2Forg.simantics.scenegraph.profile%2Fsrc%2Forg%2Fsimantics%2Fscenegraph%2Fprofile%2Fcommon%2FObserverGroupValueListener.java;h=1acdc05c96fe89a3134861b9d2a03e41657b5230;hb=969bd23cab98a79ca9101af33334000879fb60c5;hp=0000000000000000000000000000000000000000;hpb=866dba5cd5a3929bbeae85991796acb212338a08;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scenegraph.profile/src/org/simantics/scenegraph/profile/common/ObserverGroupValueListener.java b/bundles/org.simantics.scenegraph.profile/src/org/simantics/scenegraph/profile/common/ObserverGroupValueListener.java new file mode 100644 index 000000000..1acdc05c9 --- /dev/null +++ b/bundles/org.simantics.scenegraph.profile/src/org/simantics/scenegraph/profile/common/ObserverGroupValueListener.java @@ -0,0 +1,54 @@ +package org.simantics.scenegraph.profile.common; + +import org.simantics.db.common.utils.Logger; +import org.simantics.db.procedure.Listener; +import org.simantics.scenegraph.profile.Group; +import org.simantics.scenegraph.profile.Observer; + +/** + * @author Tuukka Lehtonen + */ +public abstract class ObserverGroupValueListener implements Listener { + + protected ObserverGroupListener listener; + protected Observer observer; + protected Group group; + protected Object data; + + public ObserverGroupValueListener(ObserverGroupListener listener, Observer observer, Group group, Object data) { + this.listener = listener; + this.observer = observer; + this.group = group; + this.data = data; + } + + @Override + public void exception(Throwable t) { + Logger.defaultLogError(t); + } + + @Override + public boolean isDisposed() { + return listener.isDisposed(); + } + + @Override + public int hashCode() { + return listener.hashCode() + 31 * data.hashCode(); +// return observer.hashCode() + 31 * group.hashCode() + 41*data.hashCode(); + } + + @Override + public boolean equals(Object object) { + if (this == object) + return true; + else if (object == null) + return false; + else if (getClass() != object.getClass()) + return false; + ObserverGroupValueListener other = (ObserverGroupValueListener) object; + return listener.equals(other.listener) && data.equals(other.data); +// return observer.equals(other.observer) && group.equals(other.group) && data.equals(other.data); + } + +}