]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.databoard/testcases/org/simantics/databoard/tests/TestData.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.databoard / testcases / org / simantics / databoard / tests / TestData.java
1 /*******************************************************************************
2  *  Copyright (c) 2010 Association for Decentralized Information Management in
3  *  Industry THTH ry.
4  *  All rights reserved. This program and the accompanying materials
5  *  are made available under the terms of the Eclipse Public License v1.0
6  *  which accompanies this distribution, and is available at
7  *  http://www.eclipse.org/legal/epl-v10.html
8  *
9  *  Contributors:
10  *      VTT Technical Research Centre of Finland - initial API and implementation
11  *******************************************************************************/
12 package org.simantics.databoard.tests;
13
14 import java.util.ArrayList;
15 import java.util.HashMap;
16 import java.util.LinkedList;
17 import java.util.List;
18 import java.util.TreeMap;
19
20 import org.simantics.databoard.Bindings;
21 import org.simantics.databoard.Datatypes;
22 import org.simantics.databoard.annotations.Optional;
23 import org.simantics.databoard.annotations.Referable;
24 import org.simantics.databoard.annotations.Union;
25 import org.simantics.databoard.binding.ArrayBinding;
26 import org.simantics.databoard.binding.Binding;
27 import org.simantics.databoard.binding.BooleanBinding;
28 import org.simantics.databoard.binding.ByteBinding;
29 import org.simantics.databoard.binding.DoubleBinding;
30 import org.simantics.databoard.binding.FloatBinding;
31 import org.simantics.databoard.binding.IntegerBinding;
32 import org.simantics.databoard.binding.LongBinding;
33 import org.simantics.databoard.binding.MapBinding;
34 import org.simantics.databoard.binding.OptionalBinding;
35 import org.simantics.databoard.binding.RecordBinding;
36 import org.simantics.databoard.binding.StringBinding;
37 import org.simantics.databoard.binding.UnionBinding;
38 import org.simantics.databoard.binding.VariantBinding;
39 import org.simantics.databoard.type.ArrayType;
40 import org.simantics.databoard.type.Component;
41 import org.simantics.databoard.type.Datatype;
42 import org.simantics.databoard.type.IntegerType;
43 import org.simantics.databoard.type.LongType;
44 import org.simantics.databoard.type.MapType;
45 import org.simantics.databoard.type.OptionalType;
46 import org.simantics.databoard.type.RecordType;
47
48 /**
49  * Bunch of types, bindings, ands instances for various use cases
50  *
51  * @author Toni Kalajainen <toni.kalajainen@vtt.fi>
52  */
53 public class TestData {
54
55         public @Referable static class Foo {
56                 public List<String> list;
57                 public String[] array;
58                 public LinkedList<String> linkedList;           
59                 public HashMap<Integer, String> hashMap;
60                 public TreeMap<Integer, String> treeMap;
61                         
62                 public Foo() {                  
63                 }
64                 
65                 public Foo(String[] list, int[] keys, String values[]) {
66                         this.list = new ArrayList<String>(list.length);
67                         this.linkedList = new LinkedList<String>();
68                         array = list.clone();
69                         for (int i=0; i<list.length; i++) {
70                                 this.list.add( list[i] ); 
71                                 this.linkedList.add( list[i] );
72                         }
73                         hashMap = new HashMap<Integer, String>();
74                         treeMap = new TreeMap<Integer, String>();
75                         for (int i=0; i<keys.length; i++) {
76                                 hashMap.put( keys[i] , values[i] );
77                                 treeMap.put( keys[i] , values[i] );
78                         }
79                 }
80         }
81
82         public static @Union({Bar.class, Pub.class}) class Restaurant {}                
83         
84         public static class Bar extends Restaurant {
85                 public @Optional String name; 
86         }
87         
88         public static class Pub extends Restaurant {
89                 public @Optional Integer value; 
90         }
91         
92         public static class Tmp {
93                 public Object variant;
94         }       
95
96         public static class Tmp2 {
97                 public int[][] array;
98         }       
99         
100         public static String[] stringArray0 = new String[] {"xyz", "123", "abcdefghij"};  
101         public static String[] stringArray1 = new String[] {"XyZ", "123_", "ABCDefghij", "QWERTY"};
102
103         public static Boolean[] BooleanArray0 = new Boolean[] {false, false, true};
104         public static Boolean[] BooleanArray1 = new Boolean[] {false, false, true, true};
105         
106         public static Byte[] ByteArray0 = new Byte[] {0, 1, 2};
107         public static Byte[] ByteArray1 = new Byte[] {0, 1, 2, 3};
108         
109         public static int[] intArray0 = new int[] {1, 2, 3};
110         public static int[] intArray1 = new int[] {5, 6, 7, 8};
111         
112         public static Integer[] IntegerArray0 = new Integer[] {1, 2, 3};
113         public static Integer[] IntegerArray1 = new Integer[] {5, 6, 7, 8};
114         
115         public static Long[] LongArray0 = new Long[] {1L, 2L, 3L};
116         public static Long[] LongArray1 = new Long[] {5L, 6L, 7L, 8L};
117         
118         public static long[] longArray0 = new long[] {1, 2, 3};
119         public static long[] longArray1 = new long[] {5, 6, 7, 8};
120
121         public static Float[] FloatArray0 = new Float[] {1.f, 2.f, 3.f};
122         public static Float[] FloatArray1 = new Float[] {5.f, 6.f, 7.f, 8.f};
123         
124         public static float[] floatArray0 = new float[] {1, 2, 3};
125         public static float[] floatArray1 = new float[] {5, 6, 7, 8};
126         
127         public static Double[] DoubleArray0 = new Double[] {1., 2., 3.};
128         public static Double[] DoubleArray1 = new Double[] {5., 6., 7., 8.};
129         
130         public static double[] doubleArray0 = new double[] {1, 2, 3};
131         public static double[] doubleArray1 = new double[] {5, 6, 7, 8};
132         
133         public static Foo foo0 = new Foo(stringArray0, intArray0, stringArray0);
134         public static Foo foo1 = new Foo(stringArray1, intArray1, stringArray1);
135         
136         public static int[][] int2DArray0 = new int[][] { intArray0, intArray1, intArray0 };
137         public static int[][] int2DArray1 = new int[][] { intArray1, intArray1, intArray0, intArray0 };         
138
139         public static Integer[][] Integer2DArray0 = new Integer[][] { new Integer[]{0}, new Integer[]{1, 2} };
140         public static Integer[][] Integer2DArray1 = new Integer[][] { new Integer[]{4}, new Integer[]{5, 6}, new Integer[]{7, 8, 9} };          
141         
142         // Boolean
143         public static Datatype boolean_type = Datatypes.BOOLEAN;
144         public static BooleanBinding boolean_binding_ref = (BooleanBinding) Bindings.getBindingUnchecked( Boolean.class );
145         public static BooleanBinding boolean_binding_gen = (BooleanBinding) Bindings.getMutableBinding( boolean_type );
146         public static Object boolean_value_ref_0 = boolean_binding_ref.createUnchecked( false ); 
147         public static Object boolean_value_ref_1 = boolean_binding_ref.createUnchecked( true ); 
148         public static Object boolean_value_gen_0 = boolean_binding_gen.createUnchecked( false ); 
149         public static Object boolean_value_gen_1 = boolean_binding_gen.createUnchecked( true ); 
150         
151         // Byte
152         public static Datatype byte_type = Datatypes.BYTE;
153         public static ByteBinding byte_binding_ref = (ByteBinding) Bindings.getBindingUnchecked( Byte.class );
154         public static ByteBinding byte_binding_gen = (ByteBinding) Bindings.getMutableBinding( byte_type );
155         public static Object byte_value_ref_0 = byte_binding_ref.createUnchecked( 0 ); 
156         public static Object byte_value_ref_1 = byte_binding_ref.createUnchecked( 100 ); 
157         public static Object byte_value_gen_0 = byte_binding_gen.createUnchecked( 0 ); 
158         public static Object byte_value_gen_1 = byte_binding_gen.createUnchecked( 100 );
159         
160         // Integer
161         public static Datatype integer_type = Datatypes.INTEGER;
162         public static IntegerBinding integer_binding_ref = (IntegerBinding) Bindings.getBindingUnchecked( Integer.class );
163         public static IntegerBinding integer_binding_gen = (IntegerBinding) Bindings.getMutableBinding( integer_type );
164         public static Object integer_value_ref_0 = integer_binding_ref.createUnchecked( 1 ); 
165         public static Object integer_value_ref_1 = integer_binding_ref.createUnchecked( 101 ); 
166         public static Object integer_value_gen_0 = integer_binding_gen.createUnchecked( 1 ); 
167         public static Object integer_value_gen_1 = integer_binding_gen.createUnchecked( 101 );
168         
169         // Long
170         public static Datatype long_type = Datatypes.LONG;
171         public static LongBinding long_binding_ref = (LongBinding) Bindings.getBindingUnchecked( Long.class );
172         public static LongBinding long_binding_gen = (LongBinding) Bindings.getMutableBinding( long_type );
173         public static Object long_value_ref_0 = long_binding_ref.createUnchecked( 2 ); 
174         public static Object long_value_ref_1 = long_binding_ref.createUnchecked( 102 ); 
175         public static Object long_value_gen_0 = long_binding_gen.createUnchecked( 2 ); 
176         public static Object long_value_gen_1 = long_binding_gen.createUnchecked( 102 );
177         
178         // Float
179         public static Datatype float_type = Datatypes.FLOAT;
180         public static FloatBinding float_binding_ref = (FloatBinding) Bindings.getBindingUnchecked( Float.class );
181         public static FloatBinding float_binding_gen = (FloatBinding) Bindings.getMutableBinding( float_type );
182         public static Object float_value_ref_0 = float_binding_ref.createUnchecked( 3.f ); 
183         public static Object float_value_ref_1 = float_binding_ref.createUnchecked( 103.f ); 
184         public static Object float_value_gen_0 = float_binding_gen.createUnchecked( 3.f ); 
185         public static Object float_value_gen_1 = float_binding_gen.createUnchecked( 103.f );
186         
187         // Double
188         public static Datatype double_type = Datatypes.DOUBLE;
189         public static DoubleBinding double_binding_ref = (DoubleBinding) Bindings.getBindingUnchecked( Double.class );
190         public static DoubleBinding double_binding_gen = (DoubleBinding) Bindings.getMutableBinding( double_type );
191         public static Object double_value_ref_0 = double_binding_ref.createUnchecked( 4.0 ); 
192         public static Object double_value_ref_1 = double_binding_ref.createUnchecked( 104.0 ); 
193         public static Object double_value_gen_0 = double_binding_gen.createUnchecked( 4.0 ); 
194         public static Object double_value_gen_1 = double_binding_gen.createUnchecked( 104.0 );
195                 
196         // String
197         public static Datatype string_type = Datatypes.STRING;
198         public static StringBinding string_binding_ref = (StringBinding) Bindings.getBindingUnchecked( String.class );
199         public static StringBinding string_binding_gen = (StringBinding) Bindings.getMutableBinding( string_type );
200         public static Object string_value_ref_0 = string_binding_ref.createUnchecked( "Hello" ); 
201         public static Object string_value_ref_1 = string_binding_ref.createUnchecked( "World" ); 
202         public static Object string_value_gen_0 = string_binding_gen.createUnchecked( "Hello" ); 
203         public static Object string_value_gen_1 = string_binding_gen.createUnchecked( "World" );
204         
205         // Array
206         public static Datatype array_type = new ArrayType( Datatypes.STRING );
207         public static ArrayBinding array_binding_ref = (ArrayBinding) Bindings.getBindingUnchecked( String[].class );
208         public static ArrayBinding array_binding_gen = (ArrayBinding) Bindings.getMutableBinding( array_type );
209         public static Object array_value_ref_0 = array_binding_ref.createUnchecked( new Object[] {"abc", "xyz" } );
210         public static Object array_value_ref_1 = array_binding_ref.createUnchecked( new Object[] {"abc", "xyz", "abcdefghij01234567890" } ); 
211         public static Object array_value_gen_0 = array_binding_gen.createUnchecked( new Object[] { string_binding_gen.createUnchecked("abc"), string_binding_gen.createUnchecked("xyz") } ); 
212         public static Object array_value_gen_1 = array_binding_gen.createUnchecked( new Object[] { string_binding_gen.createUnchecked("abc"), string_binding_gen.createUnchecked("xyz"), string_binding_gen.createUnchecked("abcdefghij01234567890") } ); 
213         
214         // BooleanArray
215         public static Datatype boolean_array_type = new ArrayType( Datatypes.BOOLEAN );
216         public static ArrayBinding boolean_array_binding_ref = (ArrayBinding) Bindings.getBindingUnchecked( boolean[].class );
217         public static ArrayBinding boolean_array_binding_gen = (ArrayBinding) Bindings.getMutableBinding( boolean_array_type );
218         public static Object boolean_array_value_ref_0 = boolean_array_binding_ref.createUnchecked( (Object[]) BooleanArray0 ); 
219         public static Object boolean_array_value_ref_1 = boolean_array_binding_ref.createUnchecked( (Object[]) BooleanArray1 ); 
220         public static Object boolean_array_value_gen_0 = boolean_array_binding_gen.createUnchecked( boolean_binding_gen.createUnchecked(BooleanArray0[0]), boolean_binding_gen.createUnchecked(BooleanArray0[1]), boolean_binding_gen.createUnchecked(BooleanArray0[2]) ); 
221         public static Object boolean_array_value_gen_1 = boolean_array_binding_gen.createUnchecked( boolean_binding_gen.createUnchecked(BooleanArray1[0]), boolean_binding_gen.createUnchecked(BooleanArray1[1]), boolean_binding_gen.createUnchecked(BooleanArray1[2]), boolean_binding_gen.createUnchecked(BooleanArray1[3]) ); 
222         
223         // ByteArray
224         public static Datatype byte_array_type = new ArrayType( Datatypes.BYTE );
225         public static ArrayBinding byte_array_binding_ref = (ArrayBinding) Bindings.getBindingUnchecked( byte[].class );
226         public static ArrayBinding byte_array_binding_gen = (ArrayBinding) Bindings.getMutableBinding( byte_array_type );
227         public static Object byte_array_value_ref_0 = byte_array_binding_ref.createUnchecked( (Object[]) ByteArray0 ); 
228         public static Object byte_array_value_ref_1 = byte_array_binding_ref.createUnchecked( (Object[]) ByteArray1 ); 
229         public static Object byte_array_value_gen_0 = byte_array_binding_gen.createUnchecked( byte_binding_gen.createUnchecked(ByteArray0[0]), byte_binding_gen.createUnchecked(ByteArray0[1]), byte_binding_gen.createUnchecked(ByteArray0[2]) ); 
230         public static Object byte_array_value_gen_1 = byte_array_binding_gen.createUnchecked( byte_binding_gen.createUnchecked(ByteArray1[0]), byte_binding_gen.createUnchecked(ByteArray1[1]), byte_binding_gen.createUnchecked(ByteArray1[2]), byte_binding_gen.createUnchecked(ByteArray1[3]) );
231         
232         // IntegerArray
233         public static Datatype int_array_type = new ArrayType( Datatypes.INTEGER );
234         public static ArrayBinding int_array_binding_ref = (ArrayBinding) Bindings.getBindingUnchecked( int[].class );
235         public static ArrayBinding int_array_binding_gen = (ArrayBinding) Bindings.getMutableBinding( int_array_type );
236         public static Object int_array_value_ref_0 = int_array_binding_ref.createUnchecked( (Object[]) IntegerArray0 ); 
237         public static Object int_array_value_ref_1 = int_array_binding_ref.createUnchecked( (Object[]) IntegerArray1 ); 
238         public static Object int_array_value_gen_0 = int_array_binding_gen.createUnchecked( integer_binding_gen.createUnchecked(IntegerArray0[0]), integer_binding_gen.createUnchecked(IntegerArray0[1]), integer_binding_gen.createUnchecked(IntegerArray0[2]) ); 
239         public static Object int_array_value_gen_1 = int_array_binding_gen.createUnchecked( integer_binding_gen.createUnchecked(IntegerArray1[0]), integer_binding_gen.createUnchecked(IntegerArray1[1]), integer_binding_gen.createUnchecked(IntegerArray1[2]), integer_binding_gen.createUnchecked(IntegerArray1[3]) );
240
241         // Integer2DArray
242         public static ArrayBinding int_array_2d_binding_ref = (ArrayBinding) Bindings.getBindingUnchecked( int[][].class );
243         public static Datatype int_array_2d_type = new ArrayType( new ArrayType( Datatypes.INTEGER ) );
244         public static ArrayBinding int_array_2d_binding_gen = (ArrayBinding) Bindings.getMutableBinding( int_array_2d_type );
245         public static Object int_array_2d_value_ref_0 = int_array_2d_binding_ref.createUnchecked( (Object[]) int2DArray0 ); 
246         public static Object int_array_2d_value_ref_1 = int_array_2d_binding_ref.createUnchecked( (Object[]) int2DArray1 ); 
247         public static Object int_array_2d_value_gen_0 = int_array_2d_binding_gen.createUnchecked( int_array_value_gen_0, int_array_value_gen_1, int_array_value_gen_0 ); 
248         public static Object int_array_2d_value_gen_1 = int_array_2d_binding_gen.createUnchecked( int_array_value_gen_1, int_array_value_gen_1, int_array_value_gen_0, int_array_value_gen_0 );
249         
250         // LongArray
251         public static Datatype long_array_type = new ArrayType( Datatypes.LONG );
252         public static ArrayBinding long_array_binding_ref = (ArrayBinding) Bindings.getBindingUnchecked( long[].class );
253         public static ArrayBinding long_array_binding_gen = (ArrayBinding) Bindings.getMutableBinding( long_array_type );
254         public static Object long_array_value_ref_0 = long_array_binding_ref.createUnchecked( (Object[]) LongArray0 ); 
255         public static Object long_array_value_ref_1 = long_array_binding_ref.createUnchecked( (Object[]) LongArray1 ); 
256         public static Object long_array_value_gen_0 = long_array_binding_gen.createUnchecked( long_binding_gen.createUnchecked(LongArray0[0]), long_binding_gen.createUnchecked(LongArray0[1]), long_binding_gen.createUnchecked(LongArray0[2]) ); 
257         public static Object long_array_value_gen_1 = long_array_binding_gen.createUnchecked( long_binding_gen.createUnchecked(LongArray1[0]), long_binding_gen.createUnchecked(LongArray1[1]), long_binding_gen.createUnchecked(LongArray1[2]), long_binding_gen.createUnchecked(LongArray1[3]) );
258         
259         // FloatArray
260         public static Datatype float_array_type = new ArrayType( Datatypes.FLOAT );
261         public static ArrayBinding float_array_binding_ref = (ArrayBinding) Bindings.getBindingUnchecked( float[].class );
262         public static ArrayBinding float_array_binding_gen = (ArrayBinding) Bindings.getMutableBinding( float_array_type );
263         public static Object float_array_value_ref_0 = float_array_binding_ref.createUnchecked( (Object[]) FloatArray0 ); 
264         public static Object float_array_value_ref_1 = float_array_binding_ref.createUnchecked( (Object[]) FloatArray1 ); 
265         public static Object float_array_value_gen_0 = float_array_binding_gen.createUnchecked( float_binding_gen.createUnchecked(FloatArray0[0]), float_binding_gen.createUnchecked(FloatArray0[1]), float_binding_gen.createUnchecked(FloatArray0[2]) ); 
266         public static Object float_array_value_gen_1 = float_array_binding_gen.createUnchecked( float_binding_gen.createUnchecked(FloatArray1[0]), float_binding_gen.createUnchecked(FloatArray1[1]), float_binding_gen.createUnchecked(FloatArray1[2]), float_binding_gen.createUnchecked(FloatArray1[3]) );
267         
268         // DoubleArray
269         public static Datatype double_array_type = new ArrayType( Datatypes.DOUBLE );
270         public static ArrayBinding double_array_binding_ref = (ArrayBinding) Bindings.getBindingUnchecked( double[].class );
271         public static ArrayBinding double_array_binding_gen = (ArrayBinding) Bindings.getMutableBinding( double_array_type );
272         public static Object double_array_value_ref_0 = double_array_binding_ref.createUnchecked( (Object[]) DoubleArray0 ); 
273         public static Object double_array_value_ref_1 = double_array_binding_ref.createUnchecked( (Object[]) DoubleArray1 ); 
274         public static Object double_array_value_gen_0 = double_array_binding_gen.createUnchecked( double_binding_gen.createUnchecked(DoubleArray0[0]), double_binding_gen.createUnchecked(DoubleArray0[1]), double_binding_gen.createUnchecked(DoubleArray0[2]) ); 
275         public static Object double_array_value_gen_1 = double_array_binding_gen.createUnchecked( double_binding_gen.createUnchecked(DoubleArray1[0]), double_binding_gen.createUnchecked(DoubleArray1[1]), double_binding_gen.createUnchecked(DoubleArray1[2]), double_binding_gen.createUnchecked(DoubleArray1[3]) );
276
277         // StringArray
278         public static Datatype string_array_type = new ArrayType( Datatypes.STRING );
279         public static ArrayBinding string_array_binding_ref = (ArrayBinding) Bindings.getBindingUnchecked( String[].class );
280         public static ArrayBinding string_array_binding_gen = (ArrayBinding) Bindings.getMutableBinding( string_array_type );
281         public static Object string_array_value_ref_0 = string_array_binding_ref.createUnchecked( (Object[]) stringArray0 );
282         public static Object string_array_value_ref_1 = string_array_binding_ref.createUnchecked( (Object[]) stringArray1 ); 
283         public static Object string_array_value_gen_0 = string_array_binding_gen.createUnchecked( string_binding_gen.createUnchecked(stringArray0[0]), string_binding_gen.createUnchecked(stringArray0[1]), string_binding_gen.createUnchecked(stringArray0[2]) ); 
284         public static Object string_array_value_gen_1 = string_array_binding_gen.createUnchecked( string_binding_gen.createUnchecked(stringArray1[0]), string_binding_gen.createUnchecked(stringArray1[1]), string_binding_gen.createUnchecked(stringArray1[2]), string_binding_gen.createUnchecked(stringArray1[3]) ); 
285         
286         // Record
287         public static Datatype record_type = Datatypes.getDatatypeUnchecked( Foo.class );
288         public static RecordBinding record_binding_ref = (RecordBinding) Bindings.getBindingUnchecked( Foo.class ); 
289         public static RecordBinding record_binding_gen = (RecordBinding) Bindings.getMutableBinding( record_type );
290         
291         // Map
292         public static Datatype map_type = new MapType( Datatypes.INTEGER, Datatypes.STRING );
293         public static MapBinding map_binding_ref = (MapBinding) record_binding_ref.getComponentBindings()[3];
294         public static MapBinding map_binding_gen = (MapBinding) Bindings.getMutableBinding( map_type );
295         public static Object map_value_ref_0 = map_binding_ref.createUnchecked( IntegerArray0, stringArray0 );
296         public static Object map_value_ref_1 = map_binding_ref.createUnchecked( IntegerArray1, stringArray1 ); 
297         public static Object map_value_gen_0 = map_binding_gen.createUnchecked( (List<Object>) int_array_value_gen_0, (List<Object>) string_array_value_gen_0 ); 
298         public static Object map_value_gen_1 = map_binding_gen.createUnchecked( (List<Object>) int_array_value_gen_1, (List<Object>) string_array_value_gen_1 ); 
299
300         // Record ... continues
301         public static Object record_value_ref_0 = record_binding_ref.createUnchecked( foo0.list, foo0.array, foo0.linkedList, foo0.hashMap, foo0.treeMap );
302         public static Object record_value_ref_1 = record_binding_ref.createUnchecked( foo1.list, foo1.array, foo1.linkedList, foo1.hashMap, foo1.treeMap );
303         public static Object record_value_gen_0 = record_binding_gen.createUnchecked( string_array_value_gen_0, string_array_value_gen_0, string_array_value_gen_0, map_value_gen_0, map_value_gen_0 );
304         public static Object record_value_gen_1 = record_binding_gen.createUnchecked( string_array_value_gen_1, string_array_value_gen_1, string_array_value_gen_1, map_value_gen_1, map_value_gen_1 );
305         
306         // Optional
307         public static Datatype optional_type = new OptionalType( Datatypes.STRING );
308         public static OptionalBinding optional_binding_ref = (OptionalBinding) ((RecordBinding) Bindings.getBindingUnchecked(Bar.class)).componentBindings[0];
309         public static OptionalBinding optional_binding_gen = (OptionalBinding) Bindings.getMutableBinding(optional_type);
310         public static Object optional_value_ref_0 = optional_binding_ref.createNoValueUnchecked(); 
311         public static Object optional_value_ref_1 = optional_binding_ref.createValueUnchecked( string_value_ref_0 ); 
312         public static Object optional_value_gen_0 = optional_binding_gen.createNoValueUnchecked(); 
313         public static Object optional_value_gen_1 = optional_binding_gen.createValueUnchecked( string_value_gen_0 ); 
314         
315         // Union
316         public static Datatype union_type = Datatypes.getDatatypeUnchecked( Restaurant.class );
317         public static UnionBinding union_binding_ref = (UnionBinding) Bindings.getBindingUnchecked( Restaurant.class );
318         public static UnionBinding union_binding_gen = (UnionBinding) Bindings.getMutableBinding( union_type );
319         public static RecordBinding bar_binding_gen = (RecordBinding) union_binding_gen.getComponentBindings()[0];
320         public static RecordBinding pub_binding_gen = (RecordBinding) union_binding_gen.getComponentBindings()[1];
321         public static Object union_value_ref_0 = union_binding_ref.createUnchecked(0, new Bar());
322         public static Object union_value_ref_1 = union_binding_ref.createUnchecked(1, new Pub());
323         public static Object union_value_gen_0 = union_binding_gen.createUnchecked(0, bar_binding_gen.createUnchecked( optional_binding_gen.createNoValueUnchecked() ));
324         public static Object union_value_gen_1 = union_binding_gen.createUnchecked(1, pub_binding_gen.createUnchecked( optional_binding_gen.createNoValueUnchecked() ));
325         
326         // Variant
327         public static Datatype variant_type = Datatypes.VARIANT;
328         public static VariantBinding variant_binding_ref = (VariantBinding) Bindings.getBindingUnchecked( Object.class );
329         public static VariantBinding variant_binding_gen = (VariantBinding) Bindings.getMutableBinding( variant_type );
330         public static Object variant_value_ref_0 = variant_binding_ref.createUnchecked(string_binding_ref, string_value_ref_0);
331         public static Object variant_value_ref_1 = variant_binding_ref.createUnchecked(integer_binding_ref, integer_value_ref_0);
332         public static Object variant_value_gen_0 = variant_binding_gen.createUnchecked(string_binding_gen, string_value_gen_0);
333         public static Object variant_value_gen_1 = variant_binding_gen.createUnchecked(integer_binding_gen, integer_value_gen_0);
334         
335         // Variant
336         public static Datatype datatype_value_0 = new OptionalType( new ArrayType( new RecordType(false, new Component("field", new LongType())) ) );
337         public static Datatype datatype_value_1 = new IntegerType("m", "[100..200]" );
338         public static Datatype datatype_type = Datatypes.getDatatypeUnchecked( Datatype.class );
339         public static Binding datatype_binding_ref = Bindings.getBindingUnchecked( Datatype.class );
340         public static Binding datatype_binding_gen = Bindings.getMutableBinding( datatype_type );
341         public static Object datatype_value_ref_0 = datatype_value_0;
342         public static Object datatype_value_ref_1 = datatype_value_1;   
343         
344 }
345