refactored Cache Tree to common plugin
diff --git a/ECP2/org.eclipse.emf.ecp.common/src/org/eclipse/emf/ecp/common/cachetree/CachedTreeNode.java b/ECP2/org.eclipse.emf.ecp.common/src/org/eclipse/emf/ecp/common/cachetree/CachedTreeNode.java
index b29c23f..5dcb048 100644
--- a/ECP2/org.eclipse.emf.ecp.common/src/org/eclipse/emf/ecp/common/cachetree/CachedTreeNode.java
+++ b/ECP2/org.eclipse.emf.ecp.common/src/org/eclipse/emf/ecp/common/cachetree/CachedTreeNode.java
@@ -1,140 +1,140 @@
-/*******************************************************************************
- * Copyright (c) 2011-2012 EclipseSource Muenchen GmbH 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:
- *
- *******************************************************************************/
-package org.eclipse.emf.ecp.common.cachetree;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * A node within an {@link AbstractCachedTree}.
- *
- * @param <T> the type of the value stored by this node
- *
- * @author emueller
- * @author Tobias Verhoeven
- */
-public abstract class CachedTreeNode<T> {
-
- private T ownValue;
- private T cachedChildrenValue;
- private Map<Object, T> cache;
- private Object parent;
-
- /**
- * Constructor.
- *
- * @param initialValue the initial value
- */
- public CachedTreeNode(T initialValue) {
- this.ownValue = initialValue;
- cache = new HashMap<Object, T>();
- }
-
- /**
- * Recomputes the cached value of this node.
- */
- protected abstract void update();
-
- /**
- * Puts a value into the cache.
- *
- * @param key
- * the (child) object that contains the given value
- * @param value
- * an additional value that will be considered for the computation of the
- * actual value that results to a {@link #update()} call
- */
- public void putIntoCache(Object key, T value) {
- cache.put(key, value);
- update();
- }
-
- /**
- * Removes a (child) object from the cache.
- *
- * @param key
- * the object to be removed
- */
- public void removeFromCache(Object key) {
- cache.remove(key);
- update();
- }
-
- /**
- * Returns the value of this node.
- *
- * @return the value stored within this node
- */
- public T getOwnValue() {
- return ownValue;
- }
-
- /**
- * Sets the value of this node.
- *
- * @param newValue
- * the new value to be associated with this node
- */
- public void setOwnValue(T newValue) {
- this.ownValue = newValue;
- }
-
- /**
- * Returns the cached values that are stored in the children nodes.
- *
- * @return a set of values stored in the children nodes of this node
- */
- public Collection<T> values() {
- return cache.values();
- }
-
- /**
- * Returns the most severe cached value of all children.
- *
- * @return the childValue
- */
- public T getChildValue() {
- return cachedChildrenValue;
- }
-
- /**
- * Sets the the most severe cached value of all children.
- *
- * @param childValue the childValue to set
- */
- protected void setChildValue(T childValue) {
- this.cachedChildrenValue = childValue;
- }
-
- /**
- * Returns the value that this node should represent.
- * This value is also passed to parents in case of changes to the tree.
- *
- * @return the display value
- */
- public abstract T getDisplayValue();
-
- /**
- * @return the parent object, this is not the parent tree node.
- */
- public Object getParent() {
- return parent;
- }
-
- /**
- * @param parent the parent to set, this is not the parent tree node.
- */
- public void setParent(Object parent) {
- this.parent = parent;
- }
-}
+/*******************************************************************************
+ * Copyright (c) 2011-2012 EclipseSource Muenchen GmbH 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:
+ *
+ *******************************************************************************/
+package org.eclipse.emf.ecp.common.cachetree;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * A node within an {@link AbstractCachedTree}.
+ *
+ * @param <T> the type of the value stored by this node
+ *
+ * @author emueller
+ * @author Tobias Verhoeven
+ */
+public abstract class CachedTreeNode<T> {
+
+ private T ownValue;
+ private T cachedChildrenValue;
+ private Map<Object, T> cache;
+ private Object parent;
+
+ /**
+ * Constructor.
+ *
+ * @param initialValue the initial value
+ */
+ public CachedTreeNode(T initialValue) {
+ this.ownValue = initialValue;
+ cache = new HashMap<Object, T>();
+ }
+
+ /**
+ * Recomputes the cached value of this node.
+ */
+ protected abstract void update();
+
+ /**
+ * Puts a value into the cache.
+ *
+ * @param key
+ * the (child) object that contains the given value
+ * @param value
+ * an additional value that will be considered for the computation of the
+ * actual value that results to a {@link #update()} call
+ */
+ public void putIntoCache(Object key, T value) {
+ cache.put(key, value);
+ update();
+ }
+
+ /**
+ * Removes a (child) object from the cache.
+ *
+ * @param key
+ * the object to be removed
+ */
+ public void removeFromCache(Object key) {
+ cache.remove(key);
+ update();
+ }
+
+ /**
+ * Returns the value of this node.
+ *
+ * @return the value stored within this node
+ */
+ public T getOwnValue() {
+ return ownValue;
+ }
+
+ /**
+ * Sets the value of this node.
+ *
+ * @param newValue
+ * the new value to be associated with this node
+ */
+ public void setOwnValue(T newValue) {
+ this.ownValue = newValue;
+ }
+
+ /**
+ * Returns the cached values that are stored in the children nodes.
+ *
+ * @return a set of values stored in the children nodes of this node
+ */
+ public Collection<T> values() {
+ return cache.values();
+ }
+
+ /**
+ * Returns the most severe cached value of all children.
+ *
+ * @return the childValue
+ */
+ public T getChildValue() {
+ return cachedChildrenValue;
+ }
+
+ /**
+ * Sets the the most severe cached value of all children.
+ *
+ * @param childValue the childValue to set
+ */
+ protected void setChildValue(T childValue) {
+ this.cachedChildrenValue = childValue;
+ }
+
+ /**
+ * Returns the value that this node should represent.
+ * This value is also passed to parents in case of changes to the tree.
+ *
+ * @return the display value
+ */
+ public abstract T getDisplayValue();
+
+ /**
+ * @return the parent object, this is not the parent tree node.
+ */
+ public Object getParent() {
+ return parent;
+ }
+
+ /**
+ * @param parent the parent to set, this is not the parent tree node.
+ */
+ public void setParent(Object parent) {
+ this.parent = parent;
+ }
+}