]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.databoard/src/org/simantics/databoard/binding/MapBinding.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.databoard / src / org / simantics / databoard / binding / MapBinding.java
index 94f238ad91d9bbd788aa424896c4182776d380ab..e36ce1a4b089caf4e4176f9a989addbe7ec6e612 100644 (file)
@@ -1,38 +1,38 @@
-/*******************************************************************************\r
- *  Copyright (c) 2010 Association for Decentralized Information Management in\r
- *  Industry THTH ry.\r
- *  All rights reserved. This program and the accompanying materials\r
- *  are made available under the terms of the Eclipse Public License v1.0\r
- *  which accompanies this distribution, and is available at\r
- *  http://www.eclipse.org/legal/epl-v10.html\r
- *\r
- *  Contributors:\r
- *      VTT Technical Research Centre of Finland - initial API and implementation\r
- *******************************************************************************/\r
+/*******************************************************************************
+ *  Copyright (c) 2010 Association for Decentralized Information Management in
+ *  Industry THTH ry.
+ *  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:
+ *      VTT Technical Research Centre of Finland - initial API and implementation
+ *******************************************************************************/
 package org.simantics.databoard.binding;
 
-import java.util.IdentityHashMap;\r
-import java.util.Iterator;\r
-import java.util.List;\r
-import java.util.Map;\r
-import java.util.Map.Entry;\r
-import java.util.Set;\r
-import java.util.TreeMap;\r
-import java.util.TreeSet;\r
-\r
-import org.simantics.databoard.Bindings;\r
-import org.simantics.databoard.accessor.reference.ChildReference;\r
-import org.simantics.databoard.accessor.reference.IndexReference;\r
-import org.simantics.databoard.accessor.reference.LabelReference;\r
-import org.simantics.databoard.accessor.reference.NameReference;\r
-import org.simantics.databoard.adapter.AdaptException;\r
-import org.simantics.databoard.adapter.Adapter;\r
-import org.simantics.databoard.adapter.AdapterConstructionException;\r
-import org.simantics.databoard.binding.error.BindingException;\r
-import org.simantics.databoard.binding.error.RuntimeBindingException;\r
-import org.simantics.databoard.binding.impl.BindingPrintContext;\r
-import org.simantics.databoard.type.MapType;\r
-import org.simantics.databoard.util.IdentityPair;\r
+import java.util.IdentityHashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.TreeSet;
+
+import org.simantics.databoard.Bindings;
+import org.simantics.databoard.accessor.reference.ChildReference;
+import org.simantics.databoard.accessor.reference.IndexReference;
+import org.simantics.databoard.accessor.reference.LabelReference;
+import org.simantics.databoard.accessor.reference.NameReference;
+import org.simantics.databoard.adapter.AdaptException;
+import org.simantics.databoard.adapter.Adapter;
+import org.simantics.databoard.adapter.AdapterConstructionException;
+import org.simantics.databoard.binding.error.BindingException;
+import org.simantics.databoard.binding.error.RuntimeBindingException;
+import org.simantics.databoard.binding.impl.BindingPrintContext;
+import org.simantics.databoard.type.MapType;
+import org.simantics.databoard.util.IdentityPair;
 
 /**
  * This is a binding of Map Type and a Java Object
@@ -175,41 +175,41 @@ public abstract class MapBinding extends Binding {
        public abstract Object[] getKeys(Object map) throws BindingException;
        
        public abstract void getKeys(Object map, Set<Object> keys) throws BindingException;
-       \r
-       /**\r
-        * Count the number of entries between two keyes\r
-        * \r
-        * @param src\r
-        * @param from\r
-     * @param fromInclusive\r
-        * @param end \r
-     * @param endInclusive\r
-        * @throws BindingException\r
-        */\r
-       public abstract int count(Object src, Object from, boolean fromInclusive, Object end, boolean endInclusive) throws BindingException;\r
-       \r
-       /**\r
-        * Read a range of entries\r
-        * \r
-        * @param src\r
-        * @param from\r
-     * @param fromInclusive\r
-        * @param end \r
-     * @param endInclusive\r
-        * @param dstKeyArrayBinding\r
-        * @param dstKeyArray\r
-     * @param dstValueArrayBinding\r
-        * @param dstValueArray\r
-        * @param resultLimit maximum number of entries to read, -1 for no limit\r
-        * @return the number of entries read \r
-        * @throws BindingException\r
-        */\r
-       public abstract int getEntries(\r
-                       Object src, \r
-                       Object from, boolean fromInclusive, Object end, boolean endInclusive, \r
-                       ArrayBinding dstKeyArrayBinding, Object dstKeyArray, \r
-                       ArrayBinding dstValueArrayBinding, Object dstValueArray, \r
-                       int resultLimit) throws BindingException;\r
+       
+       /**
+        * Count the number of entries between two keyes
+        * 
+        * @param src
+        * @param from
+     * @param fromInclusive
+        * @param end 
+     * @param endInclusive
+        * @throws BindingException
+        */
+       public abstract int count(Object src, Object from, boolean fromInclusive, Object end, boolean endInclusive) throws BindingException;
+       
+       /**
+        * Read a range of entries
+        * 
+        * @param src
+        * @param from
+     * @param fromInclusive
+        * @param end 
+     * @param endInclusive
+        * @param dstKeyArrayBinding
+        * @param dstKeyArray
+     * @param dstValueArrayBinding
+        * @param dstValueArray
+        * @param resultLimit maximum number of entries to read, -1 for no limit
+        * @return the number of entries read 
+        * @throws BindingException
+        */
+       public abstract int getEntries(
+                       Object src, 
+                       Object from, boolean fromInclusive, Object end, boolean endInclusive, 
+                       ArrayBinding dstKeyArrayBinding, Object dstKeyArray, 
+                       ArrayBinding dstValueArrayBinding, Object dstValueArray, 
+                       int resultLimit) throws BindingException;
                
        /**
         * Get values in order
@@ -252,52 +252,52 @@ public abstract class MapBinding extends Binding {
        public <T> T accept(Visitor<T> v) {
            return v.visit(this);
        }
-       \r
-       @Override\r
-       public void readFrom(Binding srcBinding, Object src, Object dst)\r
-                       throws BindingException {\r
-               try {\r
-                       MapBinding sb = (MapBinding) srcBinding;\r
-                       Binding dkb = getKeyBinding();\r
-                       Binding dvb = getValueBinding();\r
-                       Set<Object> oldKeys = new TreeSet<Object>(dkb);\r
-                       getKeys(dst, oldKeys);\r
-                       Binding skb = sb.getKeyBinding();\r
-                       Binding svb = sb.getValueBinding();\r
-                       boolean cbImmutable = dvb.isImmutable();\r
-                       Adapter ka = Bindings.adapterFactory.getAdapter(skb, dkb, false, false);\r
-                       Adapter va = cbImmutable ? Bindings.adapterFactory.getAdapter(svb, dvb, false, true) : null;\r
-               \r
-                       // Copy keys from other map\r
-                       for (Object sk : sb.getKeys(src)) {\r
-                               Object dk = ka.adapt(sk);\r
-                               Object sv = sb.get(src, sk);\r
-                               if (cbImmutable) {\r
-                                       Object dv = va.adapt(sv);\r
-                                       put(dst, dk, dv);\r
-                               } else\r
-                               if (containsKey(dst, dk)) {\r
-                                       Object dv = get(dst, dk);\r
-                                       dv = dvb.readFromTry(svb, sv, dv);\r
-                                       put(dst, dk, dv);\r
-                               } else {\r
-                                       Object dv = dvb.createDefault();\r
-                                       dv = dvb.readFromTry(svb, sv, dv);\r
-                                       put(dst, dk, dv);\r
-                               }\r
-                               oldKeys.remove(dk);\r
-                       }\r
-                       \r
-                       // Remove unused keys\r
-                       for (Object k : oldKeys) remove(dst, k);\r
-\r
-               } catch (AdapterConstructionException e) {\r
-                       throw new BindingException(e);\r
-               } catch (AdaptException e) {\r
-                       throw new BindingException(e);\r
-               }\r
-       }\r
-       \r
+       
+       @Override
+       public void readFrom(Binding srcBinding, Object src, Object dst)
+                       throws BindingException {
+               try {
+                       MapBinding sb = (MapBinding) srcBinding;
+                       Binding dkb = getKeyBinding();
+                       Binding dvb = getValueBinding();
+                       Set<Object> oldKeys = new TreeSet<Object>(dkb);
+                       getKeys(dst, oldKeys);
+                       Binding skb = sb.getKeyBinding();
+                       Binding svb = sb.getValueBinding();
+                       boolean cbImmutable = dvb.isImmutable();
+                       Adapter ka = Bindings.adapterFactory.getAdapter(skb, dkb, false, false);
+                       Adapter va = cbImmutable ? Bindings.adapterFactory.getAdapter(svb, dvb, false, true) : null;
+               
+                       // Copy keys from other map
+                       for (Object sk : sb.getKeys(src)) {
+                               Object dk = ka.adapt(sk);
+                               Object sv = sb.get(src, sk);
+                               if (cbImmutable) {
+                                       Object dv = va.adapt(sv);
+                                       put(dst, dk, dv);
+                               } else
+                               if (containsKey(dst, dk)) {
+                                       Object dv = get(dst, dk);
+                                       dv = dvb.readFromTry(svb, sv, dv);
+                                       put(dst, dk, dv);
+                               } else {
+                                       Object dv = dvb.createDefault();
+                                       dv = dvb.readFromTry(svb, sv, dv);
+                                       put(dst, dk, dv);
+                               }
+                               oldKeys.remove(dk);
+                       }
+                       
+                       // Remove unused keys
+                       for (Object k : oldKeys) remove(dst, k);
+
+               } catch (AdapterConstructionException e) {
+                       throw new BindingException(e);
+               } catch (AdaptException e) {
+                       throw new BindingException(e);
+               }
+       }
+       
        
        @Override
     public int deepHashValue(Object map, IdentityHashMap<Object, Object> hashedObjects) throws BindingException {
@@ -395,70 +395,70 @@ public abstract class MapBinding extends Binding {
        public abstract Object getCeilingKey(Object map, Object key);
        public abstract Object getHigherKey(Object map, Object key);
 
-       \r
-       @Override\r
-       protected void toString(Object value, BindingPrintContext ctx) throws BindingException {\r
-               Binding keyBinding = getKeyBinding();\r
-               Binding valueBinding = getValueBinding();\r
-               ctx.b.append("{ ");\r
-               boolean first = true;\r
-               for(Object key : getKeys(value)) {\r
-                       if(first)\r
-                               first = false;\r
-                       else {\r
-                               ctx.b.append(", ");\r
-                               if ( !ctx.singleLine ) ctx.b.append('\n');\r
-                       }\r
-                       keyBinding.toString(key, ctx);\r
-                       ctx.b.append(" = ");\r
-                       valueBinding.toString(get(value, key), ctx);\r
-               }\r
-               ctx.b.append(" }");\r
-       }\r
-\r
-       @Override\r
-       public Binding getComponentBinding(ChildReference path) {\r
-       if (path==null) return this;\r
-       if (path instanceof IndexReference) {\r
-               IndexReference ir = (IndexReference) path;\r
-               if (ir.index==0) return keyBinding.getComponentBinding(path.childReference);\r
-               if (ir.index==1) return valueBinding.getComponentBinding(path.childReference);\r
-       }\r
-       if (path instanceof LabelReference) {\r
-               LabelReference lr = (LabelReference) path;\r
-               if (lr.label.equals("0") || lr.label.equals("key")) return keyBinding.getComponentBinding(path.childReference);\r
-               if (lr.label.equals("1") || lr.label.equals("value")) return valueBinding.getComponentBinding(path.childReference);\r
-       }\r
-       if (path instanceof NameReference) {\r
-               NameReference nr = (NameReference) path;\r
-               if (nr.name.equals("key")) return keyBinding.getComponentBinding(path.childReference);\r
-               if (nr.name.equals("value")) return valueBinding.getComponentBinding(path.childReference);\r
-       }\r
-       throw new IllegalArgumentException();\r
-       }       \r
-\r
-       \r
-    @Override\r
-    public int getComponentCount() {\r
-       return 2;\r
-    }\r
-    \r
-    @Override\r
-    public Binding getComponentBinding(int index) {\r
-       if (index==0) return keyBinding;\r
-       if (index==1) return valueBinding;\r
-       throw new IllegalArgumentException();\r
-    }  \r
-\r
-    @Override\r
-    protected boolean deepEquals(Object obj,\r
-               Set<IdentityPair<Binding, Binding>> compareHistory) {\r
-       MapBinding o = (MapBinding)obj;\r
-       return super.deepEquals( obj, compareHistory ) && keyBinding.equals(o.keyBinding, compareHistory) && valueBinding.equals(o.valueBinding, compareHistory);\r
-    }\r
-    \r
-    @Override\r
-    public int deepHashCode(IdentityHashMap<Object, Object> hashedObjects) {\r
-       return super.deepHashCode(hashedObjects) + 13 * keyBinding.hashCode(hashedObjects) + 17 * valueBinding.hashCode(hashedObjects);\r
+       
+       @Override
+       protected void toString(Object value, BindingPrintContext ctx) throws BindingException {
+               Binding keyBinding = getKeyBinding();
+               Binding valueBinding = getValueBinding();
+               ctx.b.append("{ ");
+               boolean first = true;
+               for(Object key : getKeys(value)) {
+                       if(first)
+                               first = false;
+                       else {
+                               ctx.b.append(", ");
+                               if ( !ctx.singleLine ) ctx.b.append('\n');
+                       }
+                       keyBinding.toString(key, ctx);
+                       ctx.b.append(" = ");
+                       valueBinding.toString(get(value, key), ctx);
+               }
+               ctx.b.append(" }");
+       }
+
+       @Override
+       public Binding getComponentBinding(ChildReference path) {
+       if (path==null) return this;
+       if (path instanceof IndexReference) {
+               IndexReference ir = (IndexReference) path;
+               if (ir.index==0) return keyBinding.getComponentBinding(path.childReference);
+               if (ir.index==1) return valueBinding.getComponentBinding(path.childReference);
+       }
+       if (path instanceof LabelReference) {
+               LabelReference lr = (LabelReference) path;
+               if (lr.label.equals("0") || lr.label.equals("key")) return keyBinding.getComponentBinding(path.childReference);
+               if (lr.label.equals("1") || lr.label.equals("value")) return valueBinding.getComponentBinding(path.childReference);
+       }
+       if (path instanceof NameReference) {
+               NameReference nr = (NameReference) path;
+               if (nr.name.equals("key")) return keyBinding.getComponentBinding(path.childReference);
+               if (nr.name.equals("value")) return valueBinding.getComponentBinding(path.childReference);
+       }
+       throw new IllegalArgumentException();
+       }       
+
+       
+    @Override
+    public int getComponentCount() {
+       return 2;
+    }
+    
+    @Override
+    public Binding getComponentBinding(int index) {
+       if (index==0) return keyBinding;
+       if (index==1) return valueBinding;
+       throw new IllegalArgumentException();
+    }  
+
+    @Override
+    protected boolean deepEquals(Object obj,
+               Set<IdentityPair<Binding, Binding>> compareHistory) {
+       MapBinding o = (MapBinding)obj;
+       return super.deepEquals( obj, compareHistory ) && keyBinding.equals(o.keyBinding, compareHistory) && valueBinding.equals(o.valueBinding, compareHistory);
+    }
+    
+    @Override
+    public int deepHashCode(IdentityHashMap<Object, Object> hashedObjects) {
+       return super.deepHashCode(hashedObjects) + 13 * keyBinding.hashCode(hashedObjects) + 17 * valueBinding.hashCode(hashedObjects);
     }
 }