Merge "Merge branch 'master' into easysetup" into easysetup
[platform/upstream/iotivity.git] / service / simulator / java / eclipse-plugin / ClientControllerPlugin / src / oic / simulator / clientcontroller / utils / AttributeValueStringConverter.java
1 /*
2  * Copyright 2015 Samsung Electronics All Rights Reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 package oic.simulator.clientcontroller.utils;
18
19 import java.util.Map;
20
21 import org.oic.simulator.AttributeValue;
22 import org.oic.simulator.AttributeValueVisitor;
23 import org.oic.simulator.SimulatorResourceAttribute;
24 import org.oic.simulator.SimulatorResourceModel;
25
26 public class AttributeValueStringConverter implements
27         AttributeValueVisitor.VisitingMethods<String> {
28
29     private AttributeValue mValue;
30
31     public AttributeValueStringConverter(AttributeValue value) {
32         mValue = value;
33     }
34
35     @Override
36     public String toString() {
37         AttributeValueVisitor visitor = new AttributeValueVisitor(mValue, this);
38         return (String) visitor.visit();
39     }
40
41     @Override
42     public String visitingValue(Integer value) {
43         return value.toString();
44     }
45
46     @Override
47     public String visitingValue(Double value) {
48         return value.toString();
49     }
50
51     @Override
52     public String visitingValue(Boolean value) {
53         return value.toString();
54     }
55
56     @Override
57     public String visitingValue(String value) {
58         return new String(value);
59     }
60
61     @Override
62     public String visitingValue(SimulatorResourceModel value) {
63         StringBuilder result = new StringBuilder();
64         result.append("{");
65         boolean first = true;
66         for (Map.Entry<String, SimulatorResourceAttribute> entry : value
67                 .getAttributes().entrySet()) {
68             if (!first)
69                 result.append(", ");
70             first = false;
71             result.append("\"" + entry.getKey() + "\":");
72             AttributeValue attributeValue = entry.getValue().value();
73             result.append(new AttributeValueStringConverter(attributeValue)
74                     .toString());
75         }
76
77         result.append("}");
78         return result.toString();
79     }
80
81     @Override
82     public String visitingValue(Integer[] values) {
83         StringBuilder result = new StringBuilder();
84         result.append("[");
85         boolean first = true;
86         for (Integer 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(Double[] values) {
99         StringBuilder result = new StringBuilder();
100         result.append("[");
101         boolean first = true;
102         for (Double 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(Boolean[] values) {
115         StringBuilder result = new StringBuilder();
116         result.append("[");
117         boolean first = true;
118         for (Boolean value : values) {
119             if (!first)
120                 result.append(", ");
121             first = false;
122             result.append(value.toString());
123         }
124
125         result.append("]");
126         return result.toString();
127     }
128
129     @Override
130     public String visitingValue(String[] values) {
131         StringBuilder result = new StringBuilder();
132         result.append("[");
133         boolean first = true;
134         for (String value : values) {
135             if (!first)
136                 result.append(", ");
137             first = false;
138             result.append(value);
139         }
140
141         result.append("]");
142         return result.toString();
143     }
144
145     @Override
146     public String visitingValue(SimulatorResourceModel[] values) {
147         StringBuilder result = new StringBuilder();
148         result.append("[");
149         boolean first = true;
150         for (SimulatorResourceModel value : values) {
151             if (!first)
152                 result.append(", ");
153             first = false;
154             AttributeValue attributeValue = new AttributeValue(value);
155             result.append(new AttributeValueStringConverter(attributeValue)
156                     .toString());
157         }
158
159         result.append("]");
160         return result.toString();
161     }
162
163     @Override
164     public String visitingValue(Integer[][] values) {
165         StringBuilder result = new StringBuilder();
166         result.append("[");
167         boolean first = true;
168         for (Integer[] value : values) {
169             if (!first)
170                 result.append(", ");
171             first = false;
172             AttributeValue attributeValue = new AttributeValue(value);
173             result.append(new AttributeValueStringConverter(attributeValue)
174                     .toString());
175         }
176
177         result.append("]");
178         return result.toString();
179     }
180
181     @Override
182     public String visitingValue(Double[][] values) {
183         StringBuilder result = new StringBuilder();
184         result.append("[");
185         boolean first = true;
186         for (Double[] value : values) {
187             if (!first)
188                 result.append(", ");
189             first = false;
190             AttributeValue attributeValue = new AttributeValue(value);
191             result.append(new AttributeValueStringConverter(attributeValue)
192                     .toString());
193         }
194
195         result.append("]");
196         return result.toString();
197     }
198
199     @Override
200     public String visitingValue(Boolean[][] values) {
201         StringBuilder result = new StringBuilder();
202         result.append("[");
203         boolean first = true;
204         for (Boolean[] value : values) {
205             if (!first)
206                 result.append(", ");
207             first = false;
208             AttributeValue attributeValue = new AttributeValue(value);
209             result.append(new AttributeValueStringConverter(attributeValue)
210                     .toString());
211         }
212
213         result.append("]");
214         return result.toString();
215     }
216
217     @Override
218     public String visitingValue(String[][] values) {
219         StringBuilder result = new StringBuilder();
220         result.append("[");
221         boolean first = true;
222         for (String[] value : values) {
223             if (!first)
224                 result.append(", ");
225             first = false;
226             AttributeValue attributeValue = new AttributeValue(value);
227             result.append(new AttributeValueStringConverter(attributeValue)
228                     .toString());
229         }
230
231         result.append("]");
232         return result.toString();
233     }
234
235     @Override
236     public String visitingValue(SimulatorResourceModel[][] values) {
237         StringBuilder result = new StringBuilder();
238         result.append("[");
239         boolean first = true;
240         for (SimulatorResourceModel[] value : values) {
241             if (!first)
242                 result.append(", ");
243             first = false;
244             AttributeValue attributeValue = new AttributeValue(value);
245             result.append(new AttributeValueStringConverter(attributeValue)
246                     .toString());
247         }
248
249         result.append("]");
250         return result.toString();
251     }
252
253     @Override
254     public String visitingValue(Integer[][][] values) {
255         StringBuilder result = new StringBuilder();
256         result.append("[");
257         boolean first = true;
258         for (Integer[][] value : values) {
259             if (!first)
260                 result.append(", ");
261             first = false;
262             AttributeValue attributeValue = new AttributeValue(value);
263             result.append(new AttributeValueStringConverter(attributeValue)
264                     .toString());
265         }
266
267         result.append("]");
268         return result.toString();
269     }
270
271     @Override
272     public String visitingValue(Double[][][] values) {
273         StringBuilder result = new StringBuilder();
274         result.append("[");
275         boolean first = true;
276         for (Double[][] value : values) {
277             if (!first)
278                 result.append(", ");
279             first = false;
280             AttributeValue attributeValue = new AttributeValue(value);
281             result.append(new AttributeValueStringConverter(attributeValue)
282                     .toString());
283         }
284
285         result.append("]");
286         return result.toString();
287     }
288
289     @Override
290     public String visitingValue(Boolean[][][] values) {
291         StringBuilder result = new StringBuilder();
292         result.append("[");
293         boolean first = true;
294         for (Boolean[][] value : values) {
295             if (!first)
296                 result.append(", ");
297             first = false;
298             AttributeValue attributeValue = new AttributeValue(value);
299             result.append(new AttributeValueStringConverter(attributeValue)
300                     .toString());
301         }
302
303         result.append("]");
304         return result.toString();
305     }
306
307     @Override
308     public String visitingValue(String[][][] values) {
309         StringBuilder result = new StringBuilder();
310         result.append("[");
311         boolean first = true;
312         for (String[][] value : values) {
313             if (!first)
314                 result.append(", ");
315             first = false;
316             AttributeValue attributeValue = new AttributeValue(value);
317             result.append(new AttributeValueStringConverter(attributeValue)
318                     .toString());
319         }
320
321         result.append("]");
322         return result.toString();
323     }
324
325     @Override
326     public String visitingValue(SimulatorResourceModel[][][] values) {
327         StringBuilder result = new StringBuilder();
328         result.append("[");
329         boolean first = true;
330         for (SimulatorResourceModel[][] value : values) {
331             if (!first)
332                 result.append(", ");
333             first = false;
334             AttributeValue attributeValue = new AttributeValue(value);
335             result.append(new AttributeValueStringConverter(attributeValue)
336                     .toString());
337         }
338
339         result.append("]");
340         return result.toString();
341     }
342
343 }