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