Displaying and editing the complex value types for attributes.
[platform/upstream/iotivity.git] / service / simulator / java / eclipse-plugin / ServiceProviderPlugin / src / oic / simulator / serviceprovider / utils / AttributeValueStringConverter.java
1 package oic.simulator.serviceprovider.utils;
2
3 import java.util.Map;
4
5 import org.oic.simulator.AttributeValue;
6 import org.oic.simulator.AttributeValueVisitor;
7 import org.oic.simulator.SimulatorResourceAttribute;
8 import org.oic.simulator.SimulatorResourceModel;
9
10 public class AttributeValueStringConverter implements
11         AttributeValueVisitor.VisitingMethods<String> {
12
13     private AttributeValue mValue;
14
15     public AttributeValueStringConverter(AttributeValue value) {
16         mValue = value;
17     }
18
19     @Override
20     public String toString() {
21         AttributeValueVisitor visitor = new AttributeValueVisitor(mValue, this);
22         return (String) visitor.visit();
23     }
24
25     @Override
26     public String visitingValue(Integer value) {
27         return value.toString();
28     }
29
30     @Override
31     public String visitingValue(Double value) {
32         return value.toString();
33     }
34
35     @Override
36     public String visitingValue(Boolean value) {
37         return value.toString();
38     }
39
40     @Override
41     public String visitingValue(String value) {
42         return new String(value);
43     }
44
45     @Override
46     public String visitingValue(SimulatorResourceModel value) {
47         StringBuilder result = new StringBuilder();
48         result.append("{");
49         boolean first = true;
50         for (Map.Entry<String, SimulatorResourceAttribute> entry : value
51                 .getAttributes().entrySet()) {
52             if (!first)
53                 result.append(", ");
54             first = false;
55             result.append("\"" + entry.getKey() + "\":");
56             AttributeValue attributeValue = entry.getValue().value();
57             result.append(new AttributeValueStringConverter(attributeValue)
58                     .toString());
59         }
60
61         result.append("}");
62         return result.toString();
63     }
64
65     @Override
66     public String visitingValue(Integer[] values) {
67         StringBuilder result = new StringBuilder();
68         result.append("[");
69         boolean first = true;
70         for (Integer value : values) {
71             if (!first)
72                 result.append(", ");
73             first = false;
74             result.append(value.toString());
75         }
76
77         result.append("]");
78         return result.toString();
79     }
80
81     @Override
82     public String visitingValue(Double[] values) {
83         StringBuilder result = new StringBuilder();
84         result.append("[");
85         boolean first = true;
86         for (Double value : values) {
87             if (!first)
88                 result.append(", ");
89             first = false;
90             result.append(value.toString());
91         }
92
93         result.append("]");
94         return result.toString();
95     }
96
97     @Override
98     public String visitingValue(Boolean[] values) {
99         StringBuilder result = new StringBuilder();
100         result.append("[");
101         boolean first = true;
102         for (Boolean value : values) {
103             if (!first)
104                 result.append(", ");
105             first = false;
106             result.append(value.toString());
107         }
108
109         result.append("]");
110         return result.toString();
111     }
112
113     @Override
114     public String visitingValue(String[] values) {
115         StringBuilder result = new StringBuilder();
116         result.append("[");
117         boolean first = true;
118         for (String value : values) {
119             if (!first)
120                 result.append(", ");
121             first = false;
122             result.append(value);
123         }
124
125         result.append("]");
126         return result.toString();
127     }
128
129     @Override
130     public String visitingValue(SimulatorResourceModel[] values) {
131         StringBuilder result = new StringBuilder();
132         result.append("[");
133         boolean first = true;
134         for (SimulatorResourceModel value : values) {
135             if (!first)
136                 result.append(", ");
137             first = false;
138             AttributeValue attributeValue = new AttributeValue(value);
139             result.append(new AttributeValueStringConverter(attributeValue)
140                     .toString());
141         }
142
143         result.append("]");
144         return result.toString();
145     }
146
147     @Override
148     public String visitingValue(Integer[][] values) {
149         StringBuilder result = new StringBuilder();
150         result.append("[");
151         boolean first = true;
152         for (Integer[] value : values) {
153             if (!first)
154                 result.append(", ");
155             first = false;
156             AttributeValue attributeValue = new AttributeValue(value);
157             result.append(new AttributeValueStringConverter(attributeValue)
158                     .toString());
159         }
160
161         result.append("]");
162         return result.toString();
163     }
164
165     @Override
166     public String visitingValue(Double[][] values) {
167         StringBuilder result = new StringBuilder();
168         result.append("[");
169         boolean first = true;
170         for (Double[] value : values) {
171             if (!first)
172                 result.append(", ");
173             first = false;
174             AttributeValue attributeValue = new AttributeValue(value);
175             result.append(new AttributeValueStringConverter(attributeValue)
176                     .toString());
177         }
178
179         result.append("]");
180         return result.toString();
181     }
182
183     @Override
184     public String visitingValue(Boolean[][] values) {
185         StringBuilder result = new StringBuilder();
186         result.append("[");
187         boolean first = true;
188         for (Boolean[] value : values) {
189             if (!first)
190                 result.append(", ");
191             first = false;
192             AttributeValue attributeValue = new AttributeValue(value);
193             result.append(new AttributeValueStringConverter(attributeValue)
194                     .toString());
195         }
196
197         result.append("]");
198         return result.toString();
199     }
200
201     @Override
202     public String visitingValue(String[][] values) {
203         StringBuilder result = new StringBuilder();
204         result.append("[");
205         boolean first = true;
206         for (String[] value : values) {
207             if (!first)
208                 result.append(", ");
209             first = false;
210             AttributeValue attributeValue = new AttributeValue(value);
211             result.append(new AttributeValueStringConverter(attributeValue)
212                     .toString());
213         }
214
215         result.append("]");
216         return result.toString();
217     }
218
219     @Override
220     public String visitingValue(SimulatorResourceModel[][] values) {
221         StringBuilder result = new StringBuilder();
222         result.append("[");
223         boolean first = true;
224         for (SimulatorResourceModel[] value : values) {
225             if (!first)
226                 result.append(", ");
227             first = false;
228             AttributeValue attributeValue = new AttributeValue(value);
229             result.append(new AttributeValueStringConverter(attributeValue)
230                     .toString());
231         }
232
233         result.append("]");
234         return result.toString();
235     }
236
237     @Override
238     public String visitingValue(Integer[][][] values) {
239         StringBuilder result = new StringBuilder();
240         result.append("[");
241         boolean first = true;
242         for (Integer[][] value : values) {
243             if (!first)
244                 result.append(", ");
245             first = false;
246             AttributeValue attributeValue = new AttributeValue(value);
247             result.append(new AttributeValueStringConverter(attributeValue)
248                     .toString());
249         }
250
251         result.append("]");
252         return result.toString();
253     }
254
255     @Override
256     public String visitingValue(Double[][][] values) {
257         StringBuilder result = new StringBuilder();
258         result.append("[");
259         boolean first = true;
260         for (Double[][] value : values) {
261             if (!first)
262                 result.append(", ");
263             first = false;
264             AttributeValue attributeValue = new AttributeValue(value);
265             result.append(new AttributeValueStringConverter(attributeValue)
266                     .toString());
267         }
268
269         result.append("]");
270         return result.toString();
271     }
272
273     @Override
274     public String visitingValue(Boolean[][][] values) {
275         StringBuilder result = new StringBuilder();
276         result.append("[");
277         boolean first = true;
278         for (Boolean[][] value : values) {
279             if (!first)
280                 result.append(", ");
281             first = false;
282             AttributeValue attributeValue = new AttributeValue(value);
283             result.append(new AttributeValueStringConverter(attributeValue)
284                     .toString());
285         }
286
287         result.append("]");
288         return result.toString();
289     }
290
291     @Override
292     public String visitingValue(String[][][] values) {
293         StringBuilder result = new StringBuilder();
294         result.append("[");
295         boolean first = true;
296         for (String[][] value : values) {
297             if (!first)
298                 result.append(", ");
299             first = false;
300             AttributeValue attributeValue = new AttributeValue(value);
301             result.append(new AttributeValueStringConverter(attributeValue)
302                     .toString());
303         }
304
305         result.append("]");
306         return result.toString();
307     }
308
309     @Override
310     public String visitingValue(SimulatorResourceModel[][][] values) {
311         StringBuilder result = new StringBuilder();
312         result.append("[");
313         boolean first = true;
314         for (SimulatorResourceModel[][] value : values) {
315             if (!first)
316                 result.append(", ");
317             first = false;
318             AttributeValue attributeValue = new AttributeValue(value);
319             result.append(new AttributeValueStringConverter(attributeValue)
320                     .toString());
321         }
322
323         result.append("]");
324         return result.toString();
325     }
326
327 }