Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Chen2012-04-05 10:27:48 +0000
committerWilliam Chen2012-04-05 10:27:48 +0000
commit5b8190a7ffd2cb1b67c55d0e37874808abd11ea2 (patch)
tree1bcb3224dce5d64b3fbbc7e113370277460b899f /target_explorer/plugins/org.eclipse.tcf.te.core
parente63f37ee09138e0b0a9b95564d57e10f67a33fc0 (diff)
downloadorg.eclipse.tcf-5b8190a7ffd2cb1b67c55d0e37874808abd11ea2.tar.gz
org.eclipse.tcf-5b8190a7ffd2cb1b67c55d0e37874808abd11ea2.tar.xz
org.eclipse.tcf-5b8190a7ffd2cb1b67c55d0e37874808abd11ea2.zip
Target Explorer: Move PropertyChangeProvider to org.eclipse.tcf.te.core.
Diffstat (limited to 'target_explorer/plugins/org.eclipse.tcf.te.core')
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.core/META-INF/MANIFEST.MF1
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.core/src/org/eclipse/tcf/te/core/utils/PropertyChangeProvider.java69
2 files changed, 70 insertions, 0 deletions
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.core/META-INF/MANIFEST.MF b/target_explorer/plugins/org.eclipse.tcf.te.core/META-INF/MANIFEST.MF
index 45917ff31..a2ac7cf8e 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.core/META-INF/MANIFEST.MF
+++ b/target_explorer/plugins/org.eclipse.tcf.te.core/META-INF/MANIFEST.MF
@@ -21,4 +21,5 @@ Export-Package: org.eclipse.tcf.te.core.activator;x-internal:=true,
org.eclipse.tcf.te.core.interfaces,
org.eclipse.tcf.te.core.nls;x-internal:=true,
org.eclipse.tcf.te.core.nodes.interfaces.wire,
+ org.eclipse.tcf.te.core.utils,
org.eclipse.tcf.te.core.utils.text
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.core/src/org/eclipse/tcf/te/core/utils/PropertyChangeProvider.java b/target_explorer/plugins/org.eclipse.tcf.te.core/src/org/eclipse/tcf/te/core/utils/PropertyChangeProvider.java
new file mode 100644
index 000000000..520f8f7e6
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.core/src/org/eclipse/tcf/te/core/utils/PropertyChangeProvider.java
@@ -0,0 +1,69 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Wind River Systems - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.tcf.te.core.utils;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.core.runtime.PlatformObject;
+import org.eclipse.tcf.te.core.interfaces.IPropertyChangeProvider;
+
+/**
+ * The base property change provider implementation. Classes that want to implement
+ * IPropertyChangeProvider should extend this class to facilitate the implementation.
+ */
+public class PropertyChangeProvider extends PlatformObject implements IPropertyChangeProvider {
+
+ /**
+ * The property change listeners added to this node.
+ */
+ private List<PropertyChangeListener> propertyChangeListeners = Collections.synchronizedList(new ArrayList<PropertyChangeListener>());
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.tcf.te.ui.interfaces.IViewerInput#firePropertyChange(org.eclipse.jface.util.PropertyChangeEvent)
+ */
+ @Override
+ public void firePropertyChange(PropertyChangeEvent event) {
+ synchronized (propertyChangeListeners) {
+ for(PropertyChangeListener listener : propertyChangeListeners) {
+ listener.propertyChange(event);
+ }
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.tcf.te.ui.interfaces.IViewerInput#addPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener)
+ */
+ @Override
+ public void addPropertyChangeListener(PropertyChangeListener listener) {
+ Assert.isNotNull(listener);
+ if(!propertyChangeListeners.contains(listener)) {
+ propertyChangeListeners.add(listener);
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.tcf.te.ui.interfaces.IViewerInput#removePropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener)
+ */
+ @Override
+ public void removePropertyChangeListener(PropertyChangeListener listener) {
+ Assert.isNotNull(listener);
+ if(propertyChangeListeners.contains(listener)) {
+ propertyChangeListeners.remove(listener);
+ }
+ }
+}

Back to the top