/******************************************************************************* * 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.tests; import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.TreeMap; import org.simantics.databoard.Bindings; import org.simantics.databoard.Datatypes; import org.simantics.databoard.annotations.Optional; import org.simantics.databoard.annotations.Referable; import org.simantics.databoard.annotations.Union; import org.simantics.databoard.binding.ArrayBinding; import org.simantics.databoard.binding.Binding; import org.simantics.databoard.binding.BooleanBinding; import org.simantics.databoard.binding.ByteBinding; import org.simantics.databoard.binding.DoubleBinding; import org.simantics.databoard.binding.FloatBinding; import org.simantics.databoard.binding.IntegerBinding; import org.simantics.databoard.binding.LongBinding; import org.simantics.databoard.binding.MapBinding; import org.simantics.databoard.binding.OptionalBinding; import org.simantics.databoard.binding.RecordBinding; import org.simantics.databoard.binding.StringBinding; import org.simantics.databoard.binding.UnionBinding; import org.simantics.databoard.binding.VariantBinding; import org.simantics.databoard.type.ArrayType; import org.simantics.databoard.type.Component; import org.simantics.databoard.type.Datatype; import org.simantics.databoard.type.IntegerType; import org.simantics.databoard.type.LongType; import org.simantics.databoard.type.MapType; import org.simantics.databoard.type.OptionalType; import org.simantics.databoard.type.RecordType; /** * Bunch of types, bindings, ands instances for various use cases * * @author Toni Kalajainen */ public class TestData { public @Referable static class Foo { public List list; public String[] array; public LinkedList linkedList; public HashMap hashMap; public TreeMap treeMap; public Foo() { } public Foo(String[] list, int[] keys, String values[]) { this.list = new ArrayList(list.length); this.linkedList = new LinkedList(); array = list.clone(); for (int i=0; i(); treeMap = new TreeMap(); for (int i=0; i) int_array_value_gen_0, (List) string_array_value_gen_0 ); public static Object map_value_gen_1 = map_binding_gen.createUnchecked( (List) int_array_value_gen_1, (List) string_array_value_gen_1 ); // Record ... continues public static Object record_value_ref_0 = record_binding_ref.createUnchecked( foo0.list, foo0.array, foo0.linkedList, foo0.hashMap, foo0.treeMap ); public static Object record_value_ref_1 = record_binding_ref.createUnchecked( foo1.list, foo1.array, foo1.linkedList, foo1.hashMap, foo1.treeMap ); 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 ); 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 ); // Optional public static Datatype optional_type = new OptionalType( Datatypes.STRING ); public static OptionalBinding optional_binding_ref = (OptionalBinding) ((RecordBinding) Bindings.getBindingUnchecked(Bar.class)).componentBindings[0]; public static OptionalBinding optional_binding_gen = (OptionalBinding) Bindings.getMutableBinding(optional_type); public static Object optional_value_ref_0 = optional_binding_ref.createNoValueUnchecked(); public static Object optional_value_ref_1 = optional_binding_ref.createValueUnchecked( string_value_ref_0 ); public static Object optional_value_gen_0 = optional_binding_gen.createNoValueUnchecked(); public static Object optional_value_gen_1 = optional_binding_gen.createValueUnchecked( string_value_gen_0 ); // Union public static Datatype union_type = Datatypes.getDatatypeUnchecked( Restaurant.class ); public static UnionBinding union_binding_ref = (UnionBinding) Bindings.getBindingUnchecked( Restaurant.class ); public static UnionBinding union_binding_gen = (UnionBinding) Bindings.getMutableBinding( union_type ); public static RecordBinding bar_binding_gen = (RecordBinding) union_binding_gen.getComponentBindings()[0]; public static RecordBinding pub_binding_gen = (RecordBinding) union_binding_gen.getComponentBindings()[1]; public static Object union_value_ref_0 = union_binding_ref.createUnchecked(0, new Bar()); public static Object union_value_ref_1 = union_binding_ref.createUnchecked(1, new Pub()); public static Object union_value_gen_0 = union_binding_gen.createUnchecked(0, bar_binding_gen.createUnchecked( optional_binding_gen.createNoValueUnchecked() )); public static Object union_value_gen_1 = union_binding_gen.createUnchecked(1, pub_binding_gen.createUnchecked( optional_binding_gen.createNoValueUnchecked() )); // Variant public static Datatype variant_type = Datatypes.VARIANT; public static VariantBinding variant_binding_ref = (VariantBinding) Bindings.getBindingUnchecked( Object.class ); public static VariantBinding variant_binding_gen = (VariantBinding) Bindings.getMutableBinding( variant_type ); public static Object variant_value_ref_0 = variant_binding_ref.createUnchecked(string_binding_ref, string_value_ref_0); public static Object variant_value_ref_1 = variant_binding_ref.createUnchecked(integer_binding_ref, integer_value_ref_0); public static Object variant_value_gen_0 = variant_binding_gen.createUnchecked(string_binding_gen, string_value_gen_0); public static Object variant_value_gen_1 = variant_binding_gen.createUnchecked(integer_binding_gen, integer_value_gen_0); // Variant public static Datatype datatype_value_0 = new OptionalType( new ArrayType( new RecordType(false, new Component("field", new LongType())) ) ); public static Datatype datatype_value_1 = new IntegerType("m", "[100..200]" ); public static Datatype datatype_type = Datatypes.getDatatypeUnchecked( Datatype.class ); public static Binding datatype_binding_ref = Bindings.getBindingUnchecked( Datatype.class ); public static Binding datatype_binding_gen = Bindings.getMutableBinding( datatype_type ); public static Object datatype_value_ref_0 = datatype_value_0; public static Object datatype_value_ref_1 = datatype_value_1; }