]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.databoard/src/org/simantics/databoard/binding/reflection/GenericArrayBinding.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.databoard / src / org / simantics / databoard / binding / reflection / GenericArrayBinding.java
index 627743d53a354bb670b67abe45529761cac803de..a5e74ab3c14ec3e0e1487c279ab7d7f59a0d0d6a 100644 (file)
@@ -1,28 +1,28 @@
-/*******************************************************************************\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.reflection;
 
-import java.lang.reflect.Array;\r
-import java.util.Iterator;\r
-\r
-import org.simantics.databoard.Bindings;\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.ArrayBinding;\r
-import org.simantics.databoard.binding.Binding;\r
-import org.simantics.databoard.binding.error.BindingException;\r
-import org.simantics.databoard.binding.error.UnsupportedOperationException;\r
-import org.simantics.databoard.type.ArrayType;\r
+import java.lang.reflect.Array;
+import java.util.Iterator;
+
+import org.simantics.databoard.Bindings;
+import org.simantics.databoard.adapter.AdaptException;
+import org.simantics.databoard.adapter.Adapter;
+import org.simantics.databoard.adapter.AdapterConstructionException;
+import org.simantics.databoard.binding.ArrayBinding;
+import org.simantics.databoard.binding.Binding;
+import org.simantics.databoard.binding.error.BindingException;
+import org.simantics.databoard.binding.error.UnsupportedOperationException;
+import org.simantics.databoard.type.ArrayType;
 
 /**
  * ReflectionArrayBinding binds T[] 
@@ -60,95 +60,95 @@ public class GenericArrayBinding extends ArrayBinding {
                Object result = Array.newInstance(componentClass, length);
                System.arraycopy(array, 0, result, 0, length);
                return result;
-       }\r
-       \r
-       @Override\r
-       public void readFrom(Binding srcBinding, Object src, Object dst)\r
-                       throws BindingException {\r
-               try {\r
-                       ArrayBinding sb = (ArrayBinding) srcBinding;\r
-                       Binding scb = sb.getComponentBinding();\r
-                       Binding dcb = getComponentBinding();\r
-                       Adapter cloner = dcb.isImmutable() ? Bindings.adapterFactory.getAdapter(scb, dcb, false, true) : null;\r
-                       int length = Array.getLength(dst);\r
-                       if (length != sb.size(src)) throw new BindingException(clazz.getName()+" is length immutable");\r
-               \r
-                       for (int i=0; i<length; i++) {\r
-                               if (dcb.isImmutable()) {\r
-                                       Object sc = sb.get(src, i);\r
-                                       Object dc = cloner.adapt(sc);\r
-                                       set(dst, i, dc);                                        \r
-                               } else {\r
-                                       Object dc = Array.get(dst, i);\r
-                                       Object sc = sb.get(src, i);\r
-                                       dc = dcb.readFromTry(scb, sc, dc);\r
-                                       Array.set(dst, i, dc);\r
-                               }\r
-                       }\r
-               } catch (AdaptException e) {\r
-                       throw new BindingException(e);\r
-               } catch (AdapterConstructionException e) {\r
-                       throw new BindingException(e);\r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public Object readFromTry(Binding srcBinding, Object src, Object dst)\r
-                       throws BindingException {\r
-               try {\r
-                       ArrayBinding sb = (ArrayBinding) srcBinding;\r
-                       Binding scb = sb.getComponentBinding();\r
-                       Binding dcb = getComponentBinding();\r
-                       Adapter cloner = Bindings.adapterFactory.getAdapter(scb, dcb, false, true);\r
-                       int length = Array.getLength(dst);\r
-                       int srcSize = sb.size(src);\r
-                       Object d = dst;\r
-                       if (length != srcSize || dcb.isImmutable()) {\r
-                               d = Array.newInstance(componentClass, srcSize);\r
-                               if (dcb.isImmutable()) {\r
-                                       for (int i=0; i<srcSize; i++) {\r
-                                               Object sc = sb.get(src, i);\r
-                                               Object dc = cloner.adapt(sc);\r
-                                               set(d, i, dc);\r
-                                       }\r
-                               } else {\r
-                                       int X = Math.min(Array.getLength(dst), srcSize);                                \r
-                                       for (int i=0; i<X; i++) {\r
-                                               Object dc = Array.get(dst, i);\r
-                                               Object sc = sb.get(src, i);\r
-                                               dc = dcb.readFromTry(scb, sc, dc);\r
-                                               Array.set(d, i, dc);\r
-                                       }\r
-                                       for (int i=X; i<srcSize; i++) {\r
-                                               Object sc = sb.get(src, i);\r
-                                               Object dc = cloner.adapt(sc);\r
-                                               set(d, i, dc);\r
-                                       }\r
-                               }\r
-                               \r
-                       } else {\r
-                               if (dcb.isImmutable()) {\r
-                                       for (int i=0; i<length; i++) {\r
-                                               Object sc = sb.get(src, i);\r
-                                               Object dc = cloner.adapt(sc);\r
-                                               set(d, i, dc);\r
-                                       }\r
-                               } else {\r
-                                       for (int i=0; i<length; i++) {\r
-                                               Object dc = Array.get(dst, i);\r
-                                               Object sc = sb.get(src, i);\r
-                                               dc = dcb.readFromTry(scb, sc, dc);\r
-                                               Array.set(d, i, dc);\r
-                                       }\r
-                               }\r
-                       }\r
-                       \r
-                       return d;\r
-               } catch (AdaptException e) {\r
-                       throw new BindingException(e);\r
-               } catch (AdapterConstructionException e) {\r
-                       throw new BindingException(e);\r
-               }\r
+       }
+       
+       @Override
+       public void readFrom(Binding srcBinding, Object src, Object dst)
+                       throws BindingException {
+               try {
+                       ArrayBinding sb = (ArrayBinding) srcBinding;
+                       Binding scb = sb.getComponentBinding();
+                       Binding dcb = getComponentBinding();
+                       Adapter cloner = dcb.isImmutable() ? Bindings.adapterFactory.getAdapter(scb, dcb, false, true) : null;
+                       int length = Array.getLength(dst);
+                       if (length != sb.size(src)) throw new BindingException(clazz.getName()+" is length immutable");
+               
+                       for (int i=0; i<length; i++) {
+                               if (dcb.isImmutable()) {
+                                       Object sc = sb.get(src, i);
+                                       Object dc = cloner.adapt(sc);
+                                       set(dst, i, dc);                                        
+                               } else {
+                                       Object dc = Array.get(dst, i);
+                                       Object sc = sb.get(src, i);
+                                       dc = dcb.readFromTry(scb, sc, dc);
+                                       Array.set(dst, i, dc);
+                               }
+                       }
+               } catch (AdaptException e) {
+                       throw new BindingException(e);
+               } catch (AdapterConstructionException e) {
+                       throw new BindingException(e);
+               }
+       }
+       
+       @Override
+       public Object readFromTry(Binding srcBinding, Object src, Object dst)
+                       throws BindingException {
+               try {
+                       ArrayBinding sb = (ArrayBinding) srcBinding;
+                       Binding scb = sb.getComponentBinding();
+                       Binding dcb = getComponentBinding();
+                       Adapter cloner = Bindings.adapterFactory.getAdapter(scb, dcb, false, true);
+                       int length = Array.getLength(dst);
+                       int srcSize = sb.size(src);
+                       Object d = dst;
+                       if (length != srcSize || dcb.isImmutable()) {
+                               d = Array.newInstance(componentClass, srcSize);
+                               if (dcb.isImmutable()) {
+                                       for (int i=0; i<srcSize; i++) {
+                                               Object sc = sb.get(src, i);
+                                               Object dc = cloner.adapt(sc);
+                                               set(d, i, dc);
+                                       }
+                               } else {
+                                       int X = Math.min(Array.getLength(dst), srcSize);                                
+                                       for (int i=0; i<X; i++) {
+                                               Object dc = Array.get(dst, i);
+                                               Object sc = sb.get(src, i);
+                                               dc = dcb.readFromTry(scb, sc, dc);
+                                               Array.set(d, i, dc);
+                                       }
+                                       for (int i=X; i<srcSize; i++) {
+                                               Object sc = sb.get(src, i);
+                                               Object dc = cloner.adapt(sc);
+                                               set(d, i, dc);
+                                       }
+                               }
+                               
+                       } else {
+                               if (dcb.isImmutable()) {
+                                       for (int i=0; i<length; i++) {
+                                               Object sc = sb.get(src, i);
+                                               Object dc = cloner.adapt(sc);
+                                               set(d, i, dc);
+                                       }
+                               } else {
+                                       for (int i=0; i<length; i++) {
+                                               Object dc = Array.get(dst, i);
+                                               Object sc = sb.get(src, i);
+                                               dc = dcb.readFromTry(scb, sc, dc);
+                                               Array.set(d, i, dc);
+                                       }
+                               }
+                       }
+                       
+                       return d;
+               } catch (AdaptException e) {
+                       throw new BindingException(e);
+               } catch (AdapterConstructionException e) {
+                       throw new BindingException(e);
+               }
        }       
        
        @Override
@@ -159,24 +159,24 @@ public class GenericArrayBinding extends ArrayBinding {
        
        @Override
        public void getAll(Object array, Object[] result) throws BindingException {
-               int length = Array.getLength(array);\r
+               int length = Array.getLength(array);
                System.arraycopy(array, 0, result, 0, length);
        }
        
        @Override
        public void set(Object array, int index, Object value)
-                       throws BindingException {\r
-               if (index<0 || index>Array.getLength(array))\r
+                       throws BindingException {
+               if (index<0 || index>Array.getLength(array))
                        throw new BindingException("Index out of bounds");
                Array.set(array, index, value);
        }
        
        @Override
        public int size(Object array) throws BindingException {
-               if (!isInstance(array)) {\r
-                       if(array == null)\r
-                               throw new BindingException("Tried to calculate the size of a null array.");\r
-                       throw new BindingException("Unexpected class "+array.getClass().getSimpleName()+", "+clazz.getSimpleName()+" expected");\r
+               if (!isInstance(array)) {
+                       if(array == null)
+                               throw new BindingException("Tried to calculate the size of a null array.");
+                       throw new BindingException("Unexpected class "+array.getClass().getSimpleName()+", "+clazz.getSimpleName()+" expected");
                }
                return Array.getLength(array);
        }
@@ -200,27 +200,27 @@ public class GenericArrayBinding extends ArrayBinding {
        public void remove(Object array, int index, int count) 
        throws BindingException, IndexOutOfBoundsException {
                throw new UnsupportedOperationException();
-       }\r
-\r
-       @Override\r
-       public void setSize(Object array, int newSize) throws BindingException {\r
-               int oldSize = Array.getLength(array);\r
-               if (oldSize==newSize) return;\r
-               throw new BindingException(clazz.getName()+" is length immutable");\r
-       }       \r
-\r
-       @Override\r
-       public boolean isResizable() {\r
-               return false;\r
-       }\r
-       \r
-       @Override\r
-       protected boolean baseEquals(Object obj) {\r
-               return super.baseEquals(obj) && ((GenericArrayBinding)obj).clazz.equals(clazz);\r
-       }\r
-       \r
-       @Override\r
-       public int baseHashCode() {\r
-               return super.baseHashCode() + 13 * clazz.hashCode();\r
+       }
+
+       @Override
+       public void setSize(Object array, int newSize) throws BindingException {
+               int oldSize = Array.getLength(array);
+               if (oldSize==newSize) return;
+               throw new BindingException(clazz.getName()+" is length immutable");
+       }       
+
+       @Override
+       public boolean isResizable() {
+               return false;
+       }
+       
+       @Override
+       protected boolean baseEquals(Object obj) {
+               return super.baseEquals(obj) && ((GenericArrayBinding)obj).clazz.equals(clazz);
+       }
+       
+       @Override
+       public int baseHashCode() {
+               return super.baseHashCode() + 13 * clazz.hashCode();
        }
 }