]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.databoard/examples/org/simantics/databoard/example/StringVariantBindingExample.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.databoard / examples / org / simantics / databoard / example / StringVariantBindingExample.java
index 7b9176c7e875e768b81ccc56589f5cae8fbc7e0f..e4bf09c405dfa85a7b10c8b454ec7acbe0d4afbd 100644 (file)
-/*******************************************************************************\r
- * Copyright (c) 2007 VTT Technical Research Centre of Finland and others.\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.example;\r
-\r
-import java.awt.geom.Rectangle2D;\r
-import java.util.Arrays;\r
-\r
-import org.simantics.databoard.Bindings;\r
-import org.simantics.databoard.binding.Binding;\r
-import org.simantics.databoard.binding.mutable.MutableVariant;\r
-\r
-public class StringVariantBindingExample {\r
-\r
-       public static void main(String[] args) throws Exception {\r
-\r
-               //\r
-               // You can escape any string to a string that is filename and URL compatible,\r
-               // using StringVariantBinding\r
-               //              \r
-               String str = "Hello World";\r
-               String escapedString = (String) Bindings.STR_VARIANT.create(Bindings.STRING, str);\r
-               String unescapedString = (String) Bindings.STR_VARIANT.getContent(escapedString, Bindings.STRING);\r
-               System.out.println("Unescaped String: "+unescapedString);\r
-               System.out.println("Escaped String: "+escapedString);\r
-               System.out.println();\r
-               \r
-               str = "http://www.simantics.org/path?query=value";\r
-               escapedString = (String) Bindings.STR_VARIANT.create(Bindings.STRING, str);\r
-               unescapedString = (String) Bindings.STR_VARIANT.getContent(escapedString, Bindings.STRING);\r
-               System.out.println("Unescaped String: "+unescapedString);\r
-               System.out.println("Escaped String: "+escapedString);\r
-               System.out.println();\r
-               \r
-               // \r
-               // The escaped string is actually a string representation of a variant.\r
-               // It contains information of the data type as well.\r
-               // Strings are prefixed with "S", Integers with "I", Longs "L",\r
-               // Other types are Base64 encoded binary which are not human readable.\r
-               //\r
-               // \r
-               // This means you can convert almost any value Integer, Long, Array, int[], \r
-               // Map, Set, Bean-like Class, Immutable-like class to a string and back\r
-               // to an object.\r
-               //\r
-               Object value = 5;\r
-               escapedString = (String) Bindings.STR_VARIANT.create(Bindings.INTEGER, value);\r
-               Object unescapedObject = (Integer) Bindings.STR_VARIANT.getContent(escapedString, Bindings.INTEGER);\r
-               System.out.println("Unescaped Object: "+unescapedObject);\r
-               System.out.println("Escaped String: "+escapedString);\r
-               System.out.println();\r
-\r
-               value = new int[] {1, 2, 3, 4, 5, 6};\r
-               escapedString = (String) Bindings.STR_VARIANT.create(Bindings.INTEGER, value);\r
-               unescapedObject = (int[]) Bindings.STR_VARIANT.getContent(escapedString, Bindings.INTEGER);             \r
-               System.out.println("Unescaped Object: "+Arrays.toString((int[]) unescapedObject));\r
-               System.out.println("Escaped String: "+escapedString);\r
-               System.out.println();\r
-\r
-               //\r
-               // You can change the class to a compatible class with another binding\r
-               // int[] -> Integer[]\r
-               //\r
-               Binding binding1 = Bindings.INT_ARRAY;\r
-               Binding binding2 = Bindings.getBinding(Integer[].class);\r
-               value = new int[] {1, 2, 3, 4, 5, 6};\r
-               escapedString = (String) Bindings.STR_VARIANT.create(binding1, value);\r
-               unescapedObject = (Integer[]) Bindings.STR_VARIANT.getContent(escapedString,  binding2);                \r
-               System.out.println("Unescaped Object: "+Arrays.toString((Integer[]) unescapedObject));\r
-               System.out.println("Escaped String: "+escapedString);\r
-               System.out.println();\r
-\r
-               //\r
-               // Binding.getBinding creates a binding for many classes by inspecting the class using a Reflection\r
-               //\r
-               Binding rectangleBinding = Bindings.getBinding(Rectangle2D.Double.class);\r
-               value = new Rectangle2D.Double(10, 10, 200, 200);\r
-               escapedString = (String) Bindings.STR_VARIANT.create(rectangleBinding, value);\r
-               unescapedObject = (Rectangle2D) Bindings.STR_VARIANT.getContent(escapedString, rectangleBinding);               \r
-               System.out.println("Unescaped Object: "+unescapedObject);\r
-               System.out.println("Escaped String: "+escapedString);\r
-               System.out.println();\r
-\r
-               //\r
-               // ObjectVariantBinding binds many java classes to java.lang.Object\r
-               // You can adapt Objects, which are bound as variants, to strings, also bound as variants \r
-               //\r
-               value = "Some object";\r
-               String stringVariant = (String) Bindings.adapt(value, Bindings.OBJECT, Bindings.STR_VARIANT);\r
-               Object objectVariant = Bindings.adapt(stringVariant, Bindings.STR_VARIANT, Bindings.OBJECT);\r
-               MutableVariant variantVariant = (MutableVariant) Bindings.adapt(stringVariant, Bindings.STR_VARIANT, Bindings.MUTABLE_VARIANT);         \r
-               System.out.println("Object Variant: "+objectVariant+" ("+objectVariant.getClass().getName()+")");\r
-               System.out.println("String Variant: "+stringVariant);\r
-               System.out.println("Variant Variant: "+variantVariant);\r
-               System.out.println();\r
-               \r
-       }\r
-       \r
-}\r
-\r
+/*******************************************************************************
+ * Copyright (c) 2007 VTT Technical Research Centre of Finland 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:
+ *     VTT Technical Research Centre of Finland - initial API and implementation
+ *******************************************************************************/
+package org.simantics.databoard.example;
+
+import java.awt.geom.Rectangle2D;
+import java.util.Arrays;
+
+import org.simantics.databoard.Bindings;
+import org.simantics.databoard.binding.Binding;
+import org.simantics.databoard.binding.mutable.MutableVariant;
+
+public class StringVariantBindingExample {
+
+       public static void main(String[] args) throws Exception {
+
+               //
+               // You can escape any string to a string that is filename and URL compatible,
+               // using StringVariantBinding
+               //              
+               String str = "Hello World";
+               String escapedString = (String) Bindings.STR_VARIANT.create(Bindings.STRING, str);
+               String unescapedString = (String) Bindings.STR_VARIANT.getContent(escapedString, Bindings.STRING);
+               System.out.println("Unescaped String: "+unescapedString);
+               System.out.println("Escaped String: "+escapedString);
+               System.out.println();
+               
+               str = "http://www.simantics.org/path?query=value";
+               escapedString = (String) Bindings.STR_VARIANT.create(Bindings.STRING, str);
+               unescapedString = (String) Bindings.STR_VARIANT.getContent(escapedString, Bindings.STRING);
+               System.out.println("Unescaped String: "+unescapedString);
+               System.out.println("Escaped String: "+escapedString);
+               System.out.println();
+               
+               // 
+               // The escaped string is actually a string representation of a variant.
+               // It contains information of the data type as well.
+               // Strings are prefixed with "S", Integers with "I", Longs "L",
+               // Other types are Base64 encoded binary which are not human readable.
+               //
+               // 
+               // This means you can convert almost any value Integer, Long, Array, int[], 
+               // Map, Set, Bean-like Class, Immutable-like class to a string and back
+               // to an object.
+               //
+               Object value = 5;
+               escapedString = (String) Bindings.STR_VARIANT.create(Bindings.INTEGER, value);
+               Object unescapedObject = (Integer) Bindings.STR_VARIANT.getContent(escapedString, Bindings.INTEGER);
+               System.out.println("Unescaped Object: "+unescapedObject);
+               System.out.println("Escaped String: "+escapedString);
+               System.out.println();
+
+               value = new int[] {1, 2, 3, 4, 5, 6};
+               escapedString = (String) Bindings.STR_VARIANT.create(Bindings.INTEGER, value);
+               unescapedObject = (int[]) Bindings.STR_VARIANT.getContent(escapedString, Bindings.INTEGER);             
+               System.out.println("Unescaped Object: "+Arrays.toString((int[]) unescapedObject));
+               System.out.println("Escaped String: "+escapedString);
+               System.out.println();
+
+               //
+               // You can change the class to a compatible class with another binding
+               // int[] -> Integer[]
+               //
+               Binding binding1 = Bindings.INT_ARRAY;
+               Binding binding2 = Bindings.getBinding(Integer[].class);
+               value = new int[] {1, 2, 3, 4, 5, 6};
+               escapedString = (String) Bindings.STR_VARIANT.create(binding1, value);
+               unescapedObject = (Integer[]) Bindings.STR_VARIANT.getContent(escapedString,  binding2);                
+               System.out.println("Unescaped Object: "+Arrays.toString((Integer[]) unescapedObject));
+               System.out.println("Escaped String: "+escapedString);
+               System.out.println();
+
+               //
+               // Binding.getBinding creates a binding for many classes by inspecting the class using a Reflection
+               //
+               Binding rectangleBinding = Bindings.getBinding(Rectangle2D.Double.class);
+               value = new Rectangle2D.Double(10, 10, 200, 200);
+               escapedString = (String) Bindings.STR_VARIANT.create(rectangleBinding, value);
+               unescapedObject = (Rectangle2D) Bindings.STR_VARIANT.getContent(escapedString, rectangleBinding);               
+               System.out.println("Unescaped Object: "+unescapedObject);
+               System.out.println("Escaped String: "+escapedString);
+               System.out.println();
+
+               //
+               // ObjectVariantBinding binds many java classes to java.lang.Object
+               // You can adapt Objects, which are bound as variants, to strings, also bound as variants 
+               //
+               value = "Some object";
+               String stringVariant = (String) Bindings.adapt(value, Bindings.OBJECT, Bindings.STR_VARIANT);
+               Object objectVariant = Bindings.adapt(stringVariant, Bindings.STR_VARIANT, Bindings.OBJECT);
+               MutableVariant variantVariant = (MutableVariant) Bindings.adapt(stringVariant, Bindings.STR_VARIANT, Bindings.MUTABLE_VARIANT);         
+               System.out.println("Object Variant: "+objectVariant+" ("+objectVariant.getClass().getName()+")");
+               System.out.println("String Variant: "+stringVariant);
+               System.out.println("Variant Variant: "+variantVariant);
+               System.out.println();
+               
+       }
+       
+}
+