-package org.simantics.db.layer0.request.external;\r
-\r
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;\r
-import org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener;\r
-import org.eclipse.core.runtime.preferences.IEclipsePreferences.PreferenceChangeEvent;\r
-import org.eclipse.core.runtime.preferences.InstanceScope;\r
-import org.simantics.db.ReadGraph;\r
-import org.simantics.db.common.request.ParametrizedPrimitiveRead;\r
-import org.simantics.db.procedure.Listener;\r
-import org.simantics.utils.datastructures.Pair;\r
-\r
-/**\r
- * @author Antti Villberg\r
- * @since 1.22.0\r
- */\r
-public class EclipsePreferencePrimitiveRead extends ParametrizedPrimitiveRead<Pair<String,String>,String> implements IPreferenceChangeListener {\r
-\r
- private Listener<String> listener;\r
-\r
- public EclipsePreferencePrimitiveRead(String plugin, String key) {\r
- super(Pair.make(plugin, key));\r
- }\r
-\r
- @Override\r
- public void register(ReadGraph graph, Listener<String> procedure) {\r
- IEclipsePreferences preferenceNode = resolvePreferenceNode();\r
- if (!procedure.isDisposed() && preferenceNode != null) {\r
- preferenceNode.addPreferenceChangeListener(this);\r
- }\r
- listener = procedure;\r
- String value = preferenceNode != null ? preferenceNode.get(parameter.second, null) : null;\r
- procedure.execute(value);\r
- }\r
-\r
- @Override\r
- public void preferenceChange(PreferenceChangeEvent event) {\r
- if (parameter.second.equals(event.getKey())) {\r
- IEclipsePreferences preferenceNode = resolvePreferenceNode();\r
- String value = preferenceNode != null ? preferenceNode.get(parameter.second, null) : null;\r
- listener.execute(value);\r
- }\r
- }\r
-\r
- @Override\r
- public void unregistered() {\r
- IEclipsePreferences preferenceNode = resolvePreferenceNode();\r
- if (preferenceNode != null) {\r
- preferenceNode.removePreferenceChangeListener(this);\r
- }\r
- listener = null;\r
- }\r
-\r
- private IEclipsePreferences resolvePreferenceNode() {\r
- IEclipsePreferences preferenceNode = InstanceScope.INSTANCE.getNode( parameter.first );\r
- return preferenceNode;\r
- }\r
-\r
-}\r
+package org.simantics.db.layer0.request.external;
+
+import org.eclipse.core.runtime.preferences.IEclipsePreferences;
+import org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener;
+import org.eclipse.core.runtime.preferences.IEclipsePreferences.PreferenceChangeEvent;
+import org.eclipse.core.runtime.preferences.InstanceScope;
+import org.simantics.db.ReadGraph;
+import org.simantics.db.common.request.ParametrizedPrimitiveRead;
+import org.simantics.db.procedure.Listener;
+import org.simantics.utils.datastructures.Pair;
+
+/**
+ * @author Antti Villberg
+ * @since 1.22.0
+ */
+public class EclipsePreferencePrimitiveRead extends ParametrizedPrimitiveRead<Pair<String,String>,String> implements IPreferenceChangeListener {
+
+ private Listener<String> listener;
+
+ public EclipsePreferencePrimitiveRead(String plugin, String key) {
+ super(Pair.make(plugin, key));
+ }
+
+ @Override
+ public void register(ReadGraph graph, Listener<String> procedure) {
+ IEclipsePreferences preferenceNode = resolvePreferenceNode();
+ if (!procedure.isDisposed() && preferenceNode != null) {
+ preferenceNode.addPreferenceChangeListener(this);
+ }
+ listener = procedure;
+ String value = preferenceNode != null ? preferenceNode.get(parameter.second, null) : null;
+ procedure.execute(value);
+ }
+
+ @Override
+ public void preferenceChange(PreferenceChangeEvent event) {
+ if (parameter.second.equals(event.getKey())) {
+ IEclipsePreferences preferenceNode = resolvePreferenceNode();
+ String value = preferenceNode != null ? preferenceNode.get(parameter.second, null) : null;
+ listener.execute(value);
+ }
+ }
+
+ @Override
+ public void unregistered() {
+ IEclipsePreferences preferenceNode = resolvePreferenceNode();
+ if (preferenceNode != null) {
+ preferenceNode.removePreferenceChangeListener(this);
+ }
+ listener = null;
+ }
+
+ private IEclipsePreferences resolvePreferenceNode() {
+ IEclipsePreferences preferenceNode = InstanceScope.INSTANCE.getNode( parameter.first );
+ return preferenceNode;
+ }
+
+}