]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.databoard/src/org/simantics/databoard/binding/reflection/AsmBindingProvider.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.databoard / src / org / simantics / databoard / binding / reflection / AsmBindingProvider.java
index 6e6c82681600176597568b865040862fd969231b..1b8a83fd5a3821605d437d0d729c679ecd2365dd 100644 (file)
@@ -1,73 +1,73 @@
-/*******************************************************************************\r
- * Copyright (c) 2007, 2011 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
-package org.simantics.databoard.binding.reflection;\r
-\r
-import java.lang.reflect.Constructor;\r
-import java.lang.reflect.InvocationTargetException;\r
-import java.util.WeakHashMap;\r
-\r
-import org.simantics.databoard.binding.Binding;\r
-import org.simantics.databoard.binding.RecordBinding;\r
-import org.simantics.databoard.binding.error.BindingConstructionException;\r
-import org.simantics.databoard.type.RecordType;\r
-\r
-/**\r
- * AsmBindingFactory creates code-generated bindings for classes.\r
- * \r
- * @author toni.kalajainen\r
- */\r
-public class AsmBindingProvider implements RecordBindingProvider {\r
-       \r
-       WeakHashMap<ClassLoader, AsmBindingClassLoader> bindingClassLoaders = new WeakHashMap<ClassLoader, AsmBindingClassLoader>();\r
-\r
-       public AsmBindingProvider() {           \r
-       }\r
-\r
-       @Override\r
-       public synchronized RecordBinding provideRecordBinding(Class<?> clazz, RecordType type)\r
-                       throws BindingConstructionException {\r
-               \r
-               ClassLoader cl = clazz.getClassLoader();\r
-               if (cl == null) {\r
-                       cl = Thread.currentThread().getContextClassLoader();\r
-               }\r
-               AsmBindingClassLoader bcl = bindingClassLoaders.get(cl);\r
-               if ( bcl == null ) {\r
-                       bcl = new AsmBindingClassLoader(cl);\r
-                       bindingClassLoaders.put(cl, bcl);\r
-               }\r
-               \r
-               ClassInfo ci = ClassInfo.getInfo(clazz);\r
-               try {                   \r
-                       Class<?> bindingClass = bcl.getBindingClass( clazz );\r
-                       Constructor<?> c = bindingClass.getConstructor( RecordType.class );\r
-                       RecordBinding binding = (RecordBinding) c.newInstance( type );\r
-               binding.componentBindings = new Binding[ ci.fields.length ];  \r
-                       return binding;\r
-               } catch (InstantiationException e) {\r
-                       throw new BindingConstructionException(e);\r
-               } catch (IllegalAccessException e) {\r
-                       throw new BindingConstructionException(e);\r
-               } catch (SecurityException e) {\r
-                       throw new BindingConstructionException(e);\r
-               } catch (NoSuchMethodException e) {\r
-                       throw new BindingConstructionException(e);\r
-               } catch (IllegalArgumentException e) {\r
-                       throw new BindingConstructionException(e);\r
-               } catch (InvocationTargetException e) {\r
-                       throw new BindingConstructionException(e.getCause());\r
-               } catch (ClassNotFoundException e) {\r
-                       throw new BindingConstructionException(e);\r
-               }\r
-       }\r
-                       \r
-}\r
+/*******************************************************************************
+ * Copyright (c) 2007, 2011 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.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.util.WeakHashMap;
+
+import org.simantics.databoard.binding.Binding;
+import org.simantics.databoard.binding.RecordBinding;
+import org.simantics.databoard.binding.error.BindingConstructionException;
+import org.simantics.databoard.type.RecordType;
+
+/**
+ * AsmBindingFactory creates code-generated bindings for classes.
+ * 
+ * @author toni.kalajainen
+ */
+public class AsmBindingProvider implements RecordBindingProvider {
+       
+       WeakHashMap<ClassLoader, AsmBindingClassLoader> bindingClassLoaders = new WeakHashMap<ClassLoader, AsmBindingClassLoader>();
+
+       public AsmBindingProvider() {           
+       }
+
+       @Override
+       public synchronized RecordBinding provideRecordBinding(Class<?> clazz, RecordType type)
+                       throws BindingConstructionException {
+               
+               ClassLoader cl = clazz.getClassLoader();
+               if (cl == null) {
+                       cl = Thread.currentThread().getContextClassLoader();
+               }
+               AsmBindingClassLoader bcl = bindingClassLoaders.get(cl);
+               if ( bcl == null ) {
+                       bcl = new AsmBindingClassLoader(cl);
+                       bindingClassLoaders.put(cl, bcl);
+               }
+               
+               ClassInfo ci = ClassInfo.getInfo(clazz);
+               try {                   
+                       Class<?> bindingClass = bcl.getBindingClass( clazz );
+                       Constructor<?> c = bindingClass.getConstructor( RecordType.class );
+                       RecordBinding binding = (RecordBinding) c.newInstance( type );
+               binding.componentBindings = new Binding[ ci.fields.length ];  
+                       return binding;
+               } catch (InstantiationException e) {
+                       throw new BindingConstructionException(e);
+               } catch (IllegalAccessException e) {
+                       throw new BindingConstructionException(e);
+               } catch (SecurityException e) {
+                       throw new BindingConstructionException(e);
+               } catch (NoSuchMethodException e) {
+                       throw new BindingConstructionException(e);
+               } catch (IllegalArgumentException e) {
+                       throw new BindingConstructionException(e);
+               } catch (InvocationTargetException e) {
+                       throw new BindingConstructionException(e.getCause());
+               } catch (ClassNotFoundException e) {
+                       throw new BindingConstructionException(e);
+               }
+       }
+                       
+}