]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.databoard/examples/org/simantics/databoard/example/BeanExample.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.databoard / examples / org / simantics / databoard / example / BeanExample.java
1 /*******************************************************************************\r
2  * Copyright (c) 2007, 2011 Association for Decentralized Information Management in\r
3  * Industry THTH ry.\r
4  * All rights reserved. This program and the accompanying materials\r
5  * are made available under the terms of the Eclipse Public License v1.0\r
6  * which accompanies this distribution, and is available at\r
7  * http://www.eclipse.org/legal/epl-v10.html\r
8  *\r
9  * Contributors:\r
10  *     VTT Technical Research Centre of Finland - initial API and implementation\r
11  *******************************************************************************/\r
12 package org.simantics.databoard.example;\r
13 \r
14 import java.io.IOException;\r
15 import java.util.Arrays;\r
16 import java.util.List;\r
17 \r
18 import org.simantics.databoard.annotations.Identifier;\r
19 import org.simantics.databoard.parser.repository.DataTypeSyntaxError;\r
20 import org.simantics.databoard.util.Bean;\r
21 \r
22 public class BeanExample {\r
23 \r
24         public static class MyBean extends Bean {\r
25                 public String name;\r
26                 public List<Integer> values;\r
27         }\r
28 \r
29         public static class MyBean2 extends Bean.Id {\r
30                 public @Identifier String name;\r
31                 public List<Integer> values;\r
32         }\r
33         \r
34         public static void main(String[] args) throws IOException, DataTypeSyntaxError {\r
35                 \r
36                 // Init\r
37                 MyBean bean = new MyBean();\r
38                 bean.init();\r
39                 bean.name = "MyBean";\r
40                 bean.values.add(5);\r
41                 bean.values.add(4);\r
42                 bean.values.add(2);\r
43                 bean.values.add(1);\r
44                 bean.values.add(0);\r
45 \r
46                 // toString\r
47                 System.out.println( "toString()");\r
48                 System.out.println( "  Bean = " + bean );\r
49                 System.out.println( "" );\r
50                 \r
51                 // Serialization\r
52                 System.out.println( "Serialization" );\r
53                 byte[] data = bean.serialize();\r
54                 MyBean bean2 = new MyBean();\r
55                 bean2.deserialize( data );\r
56                 System.out.println( "  Serialize(Bean) = " + Arrays.toString(data) );\r
57                 System.out.println( "  Deserialize(data) = " + bean2 );\r
58                 System.out.println( "" );\r
59                 \r
60                 // JSON\r
61                 System.out.println("JSON");\r
62                 String json = bean.print();\r
63                 System.out.println( "  JSON(Bean3) = " + json);\r
64                 MyBean bean3 = new MyBean();\r
65                 bean3.parse( json );\r
66                 System.out.println( "  Parse(json) = " + bean3 );\r
67                 System.out.println( "" );\r
68                 \r
69                 // Hash-Equals\r
70                 System.out.println( "Hash-Equals" );\r
71                 System.out.println( "  hashCode(Bean) = " + bean.hashCode() );\r
72                 System.out.println( "  hashCode(Bean2) = " + bean2.hashCode() );\r
73                 System.out.println( "  equals(Bean, Bean2) = " + bean.equals(bean2) );\r
74                 System.out.println( "" );\r
75                 \r
76                 // Comparator\r
77                 System.out.println( "Compare");\r
78                 System.out.println( "  compare(Bean, Bean2) = " + bean.compareTo(bean2) );\r
79                 System.out.println( "" );\r
80                 \r
81                 // Clone\r
82                 MyBean bean4 = (MyBean) bean.clone();\r
83                 System.out.println( "Clone" );\r
84                 System.out.println( "  Bean4 = Bean.Clone()" );\r
85                 System.out.println( "  Bean4 = "+bean4 );\r
86                 System.out.println( "" );\r
87                 \r
88                 // ReadFrom\r
89                 System.out.println( "ReadFrom");                \r
90                 System.out.println( "  Bean.Name = \""+bean.name+"\"");\r
91                 bean4.name = "New Name";\r
92                 System.out.println( "  Bean4.Name <-- \""+bean4.name+"\"");\r
93                 System.out.println( "  Bean.readFrom(Bean4)");\r
94                 bean.readFrom( bean4 );\r
95                 System.out.println( "  Bean.Name = \""+bean.name+"\"");\r
96                 \r
97                 \r
98         }\r
99         \r
100 }\r