1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.juneau.config;
18
19 import static org.apache.juneau.TestUtils.*;
20 import static org.junit.jupiter.api.Assertions.*;
21
22 import java.util.*;
23
24 import org.apache.juneau.*;
25 import org.apache.juneau.json.*;
26 import org.apache.juneau.testutils.pojos.*;
27 import org.junit.jupiter.api.*;
28
29 class ConfigInterfaceTest extends TestBase {
30
31 Config cf;
32 ConfigInterface proxy;
33
34 public ConfigInterfaceTest() {
35 cf = Config.create().serializer(Json5Serializer.DEFAULT.copy().addBeanTypes().addRootType().build()).build();
36 proxy = cf.getSection("A").asInterface(ConfigInterface.class).orElse(null);
37 }
38
39
40
41
42
43
44 @Test void a01_string() {
45 proxy.setString("foo");
46 assertEquals("foo", proxy.getString());
47 assertEquals("foo", cf.get("A/string").get());
48 }
49
50 @Test void a02_int() {
51 proxy.setInt(1);
52 assertEquals(1, proxy.getInt());
53 assertEquals("1", cf.get("A/int").get());
54 }
55
56 @Test void a03_integer() {
57 proxy.setInteger(2);
58 assertEquals(2, proxy.getInteger().intValue());
59 assertEquals("2", cf.get("A/integer").get());
60 assertInstanceOf(Integer.class, proxy.getInteger());
61 }
62
63 @Test void a04_boolean() {
64 proxy.setBoolean(true);
65 assertEquals(true, proxy.isBoolean());
66 assertEquals("true", cf.get("A/boolean").get());
67 }
68
69 @Test void a05_booleanObject() {
70 proxy.setBooleanObject(true);
71 assertEquals(true, proxy.getBooleanObject());
72 assertEquals("true", cf.get("A/booleanObject").get());
73 assertInstanceOf(Boolean.class, proxy.getBooleanObject());
74 }
75
76 @Test void a06_float() {
77 proxy.setFloat(1f);
78 assertEquals(1f, proxy.getFloat(), 0.1f);
79 assertEquals("1.0", cf.get("A/float").get());
80 }
81
82 @Test void a07_floatObject() {
83 proxy.setFloatObject(1f);
84 assertEquals(1f, proxy.getFloatObject().floatValue(), 0.1f);
85 assertEquals("1.0", cf.get("A/floatObject").get());
86 assertInstanceOf(Float.class, proxy.getFloatObject());
87 }
88
89 @Test void a08_int3dArray() {
90 proxy.setInt3dArray(new int[][][]{{{1,2},null},null});
91 assertEquals("[[[1,2],null],null]", cf.get("A/int3dArray").get());
92 assertJson("[[[1,2],null],null]", proxy.getInt3dArray());
93 assertInstanceOf(int[][][].class, proxy.getInt3dArray());
94 }
95
96 @Test void a09_integer3dArray() {
97 proxy.setInteger3dArray(new Integer[][][]{{{1,null},null},null});
98 assertJson("[[[1,null],null],null]", proxy.getInteger3dArray());
99 assertEquals("[[[1,null],null],null]", cf.get("A/integer3dArray").get());
100 assertInstanceOf(Integer.class, proxy.getInteger3dArray()[0][0][0]);
101 }
102
103 @Test void a10_string3dArray() {
104 proxy.setString3dArray(new String[][][]{{{"foo",null},null},null});
105 assertJson("[[['foo',null],null],null]", proxy.getString3dArray());
106 assertEquals("[[['foo',null],null],null]", cf.get("A/string3dArray").get());
107 }
108
109 @Test void a11_integerList() {
110 proxy.setIntegerList(alist(1,null));
111 assertJson("[1,null]", proxy.getIntegerList());
112 assertEquals("[1,null]", cf.get("A/integerList").get());
113 assertInstanceOf(Integer.class, proxy.getIntegerList().get(0));
114 }
115
116 @Test void a12_integer3dList() {
117 proxy.setInteger3dList(alist(alist(alist(1,null),null),null));
118 assertJson("[[[1,null],null],null]", proxy.getInteger3dList());
119 assertEquals("[[[1,null],null],null]", cf.get("A/integer3dList").get());
120 assertInstanceOf(Integer.class, proxy.getInteger3dList().get(0).get(0).get(0));
121 }
122
123 @Test void a13_integer1d3dList() {
124 proxy.setInteger1d3dList(alist(new Integer[][][]{{{1,null},null},null},null));
125 assertJson("[[[[1,null],null],null],null]", proxy.getInteger1d3dList());
126 assertEquals("[[[[1,null],null],null],null]", cf.get("A/integer1d3dList").get());
127 assertInstanceOf(Integer.class, proxy.getInteger1d3dList().get(0)[0][0][0]);
128 }
129
130 @Test void a14_int1d3dList() {
131 proxy.setInt1d3dList(alist(new int[][][]{{{1,2},null},null},null));
132 assertJson("[[[[1,2],null],null],null]", proxy.getInt1d3dList());
133 assertEquals("[[[[1,2],null],null],null]", cf.get("A/int1d3dList").get());
134 assertInstanceOf(int[][][].class, proxy.getInt1d3dList().get(0));
135 }
136
137 @Test void a15_stringList() {
138 proxy.setStringList(Arrays.asList("foo","bar",null));
139 assertJson("['foo','bar',null]", proxy.getStringList());
140 assertEquals("['foo','bar',null]", cf.get("A/stringList").get());
141 }
142
143
144
145 @Test void a16_bean() {
146 proxy.setBean(ABean.get());
147 assertJson("{a:1,b:'foo'}", proxy.getBean());
148 assertEquals("{a:1,b:'foo'}", cf.get("A/bean").get());
149 assertInstanceOf(ABean.class, proxy.getBean());
150 }
151
152 @Test void a17_bean3dArray() {
153 proxy.setBean3dArray(new ABean[][][]{{{ABean.get(),null},null},null});
154 assertJson("[[[{a:1,b:'foo'},null],null],null]", proxy.getBean3dArray());
155 assertEquals("[[[{a:1,b:'foo'},null],null],null]", cf.get("A/bean3dArray").get());
156 assertInstanceOf(ABean.class, proxy.getBean3dArray()[0][0][0]);
157 }
158
159 @Test void a18_beanList() {
160 proxy.setBeanList(Arrays.asList(ABean.get()));
161 assertJson("[{a:1,b:'foo'}]", proxy.getBeanList());
162 assertEquals("[{a:1,b:'foo'}]", cf.get("A/beanList").get());
163 assertInstanceOf(ABean.class, proxy.getBeanList().get(0));
164 }
165
166 @Test void a19_bean1d3dList() {
167 proxy.setBean1d3dList(alist(new ABean[][][]{{{ABean.get(),null},null},null},null));
168 assertJson("[[[[{a:1,b:'foo'},null],null],null],null]", proxy.getBean1d3dList());
169 assertEquals("[[[[{a:1,b:'foo'},null],null],null],null]", cf.get("A/bean1d3dList").get());
170 assertInstanceOf(ABean.class, proxy.getBean1d3dList().get(0)[0][0][0]);
171 }
172
173 @Test void a20_beanMap() {
174 proxy.setBeanMap(map("foo",ABean.get()));
175 assertJson("{foo:{a:1,b:'foo'}}", proxy.getBeanMap());
176 assertEquals("{foo:{a:1,b:'foo'}}", cf.get("A/beanMap").get());
177 assertInstanceOf(ABean.class, proxy.getBeanMap().get("foo"));
178 }
179
180 @Test void a21_beanListMap() {
181 proxy.setBeanListMap(map("foo",Arrays.asList(ABean.get())));
182 assertJson("{foo:[{a:1,b:'foo'}]}", proxy.getBeanListMap());
183 assertEquals("{foo:[{a:1,b:'foo'}]}", cf.get("A/beanListMap").get());
184 assertInstanceOf(ABean.class, proxy.getBeanListMap().get("foo").get(0));
185 }
186
187 @Test void a22_bean1d3dListMap() {
188 proxy.setBean1d3dListMap(map("foo",alist(new ABean[][][]{{{ABean.get(),null},null},null},null)));
189 assertJson("{foo:[[[[{a:1,b:'foo'},null],null],null],null]}", proxy.getBean1d3dListMap());
190 assertEquals("{foo:[[[[{a:1,b:'foo'},null],null],null],null]}", cf.get("A/bean1d3dListMap").get());
191 assertInstanceOf(ABean.class, proxy.getBean1d3dListMap().get("foo").get(0)[0][0][0]);
192 }
193
194 @Test void a23_beanListMapIntegerKeys() {
195 proxy.setBeanListMapIntegerKeys(map(1,Arrays.asList(ABean.get())));
196 assertJson("{'1':[{a:1,b:'foo'}]}", proxy.getBeanListMapIntegerKeys());
197 assertEquals("{'1':[{a:1,b:'foo'}]}", cf.get("A/beanListMapIntegerKeys").get());
198 assertInstanceOf(ABean.class, proxy.getBeanListMapIntegerKeys().get(1).get(0));
199 }
200
201
202
203 @Test void a24_typedBean() {
204 proxy.setTypedBean(TypedBeanImpl.get());
205 assertJson("{a:1,b:'foo'}", proxy.getTypedBean());
206 assertEquals("{_type:'TypedBeanImpl',a:1,b:'foo'}", cf.get("A/typedBean").get());
207 assertInstanceOf(TypedBeanImpl.class, proxy.getTypedBean());
208 }
209
210 @Test void a25_typedBean3dArray() {
211 proxy.setTypedBean3dArray(new TypedBean[][][]{{{TypedBeanImpl.get(),null},null},null});
212 assertJson("[[[{a:1,b:'foo'},null],null],null]", proxy.getTypedBean3dArray());
213 assertEquals("[[[{_type:'TypedBeanImpl',a:1,b:'foo'},null],null],null]", cf.get("A/typedBean3dArray").get());
214 assertInstanceOf(TypedBeanImpl.class, proxy.getTypedBean3dArray()[0][0][0]);
215 }
216
217 @Test void a26_typedBeanList() {
218 proxy.setTypedBeanList(Arrays.asList((TypedBean)TypedBeanImpl.get()));
219 assertJson("[{a:1,b:'foo'}]", proxy.getTypedBeanList());
220 assertEquals("[{_type:'TypedBeanImpl',a:1,b:'foo'}]", cf.get("A/typedBeanList").get());
221 assertInstanceOf(TypedBeanImpl.class, proxy.getTypedBeanList().get(0));
222 }
223
224 @Test void a27_typedBean1d3dList() {
225 proxy.setTypedBean1d3dList(alist(new TypedBean[][][]{{{TypedBeanImpl.get(),null},null},null},null));
226 assertJson("[[[[{a:1,b:'foo'},null],null],null],null]", proxy.getTypedBean1d3dList());
227 assertEquals("[[[[{_type:'TypedBeanImpl',a:1,b:'foo'},null],null],null],null]", cf.get("A/typedBean1d3dList").get());
228 assertInstanceOf(TypedBeanImpl.class, proxy.getTypedBean1d3dList().get(0)[0][0][0]);
229 }
230
231 @Test void a28_typedBeanMap() {
232 proxy.setTypedBeanMap(map("foo",TypedBeanImpl.get()));
233 assertJson("{foo:{a:1,b:'foo'}}", proxy.getTypedBeanMap());
234 assertEquals("{foo:{_type:'TypedBeanImpl',a:1,b:'foo'}}", cf.get("A/typedBeanMap").get());
235 assertInstanceOf(TypedBeanImpl.class, proxy.getTypedBeanMap().get("foo"));
236 }
237
238 @Test void a29_typedBeanListMap() {
239 proxy.setTypedBeanListMap(map("foo",Arrays.asList((TypedBean)TypedBeanImpl.get())));
240 assertJson("{foo:[{a:1,b:'foo'}]}", proxy.getTypedBeanListMap());
241 assertEquals("{foo:[{_type:'TypedBeanImpl',a:1,b:'foo'}]}", cf.get("A/typedBeanListMap").get());
242 assertInstanceOf(TypedBeanImpl.class, proxy.getTypedBeanListMap().get("foo").get(0));
243 }
244
245 @Test void a30_typedBean1d3dListMap() {
246 proxy.setTypedBean1d3dListMap(map("foo",alist(new TypedBean[][][]{{{TypedBeanImpl.get(),null},null},null},null)));
247 assertJson("{foo:[[[[{a:1,b:'foo'},null],null],null],null]}", proxy.getTypedBean1d3dListMap());
248 assertEquals("{foo:[[[[{_type:'TypedBeanImpl',a:1,b:'foo'},null],null],null],null]}", cf.get("A/typedBean1d3dListMap").get());
249 assertInstanceOf(TypedBeanImpl.class, proxy.getTypedBean1d3dListMap().get("foo").get(0)[0][0][0]);
250 }
251
252 @Test void a31_typedBeanListMapIntegerKeys() {
253 proxy.setTypedBeanListMapIntegerKeys(map(1,Arrays.asList((TypedBean)TypedBeanImpl.get())));
254 assertJson("{'1':[{a:1,b:'foo'}]}", proxy.getTypedBeanListMapIntegerKeys());
255 assertEquals("{'1':[{_type:'TypedBeanImpl',a:1,b:'foo'}]}", cf.get("A/typedBeanListMapIntegerKeys").get());
256 assertInstanceOf(TypedBeanImpl.class, proxy.getTypedBeanListMapIntegerKeys().get(1).get(0));
257 }
258
259
260
261 @Test void a32_swappedObject() {
262 proxy.setSwappedObject(new SwappedObject());
263 assertJson("'swap-~!@#$%^&*()_+`-={}[]|:;\"<,>.?/'", proxy.getSwappedObject());
264 assertEquals("swap-~!@#$%^&*()_+`-={}[]|:;\"<,>.?/", cf.get("A/swappedObject").get());
265 assertInstanceOf(SwappedObject.class, proxy.getSwappedObject());
266 }
267
268 @Test void a33_swappedObject3dArray() {
269 proxy.setSwappedObject3dArray(new SwappedObject[][][]{{{new SwappedObject(),null},null},null});
270 assertJson("[[['swap-~!@#$%^&*()_+`-={}[]|:;\"<,>.?/',null],null],null]", proxy.getSwappedObject3dArray());
271 assertEquals("[[['swap-~!@#$%^&*()_+`-={}[]|:;\"<,>.?/',null],null],null]", cf.get("A/swappedObject3dArray").get());
272 assertInstanceOf(SwappedObject.class, proxy.getSwappedObject3dArray()[0][0][0]);
273 }
274
275 @Test void a34_swappedObjectMap() {
276 proxy.setSwappedObjectMap(map(new SwappedObject(), new SwappedObject()));
277 assertJson("{'swap-~!@#$%^&*()_+`-={}[]|:;\"<,>.?/':'swap-~!@#$%^&*()_+`-={}[]|:;\"<,>.?/'}", proxy.getSwappedObjectMap());
278 assertEquals("{'swap-~!@#$%^&*()_+`-={}[]|:;\"<,>.?/':'swap-~!@#$%^&*()_+`-={}[]|:;\"<,>.?/'}", cf.get("A/swappedObjectMap").get());
279 assertInstanceOf(SwappedObject.class, proxy.getSwappedObjectMap().keySet().iterator().next());
280 assertInstanceOf(SwappedObject.class, proxy.getSwappedObjectMap().values().iterator().next());
281 }
282
283 @Test void a35_swappedObject3dMap() {
284 proxy.setSwappedObject3dMap(map(new SwappedObject(), new SwappedObject[][][]{{{new SwappedObject(),null},null},null}));
285 assertJson("{'swap-~!@#$%^&*()_+`-={}[]|:;\"<,>.?/':[[['swap-~!@#$%^&*()_+`-={}[]|:;\"<,>.?/',null],null],null]}", proxy.getSwappedObject3dMap());
286 assertEquals("{'swap-~!@#$%^&*()_+`-={}[]|:;\"<,>.?/':[[['swap-~!@#$%^&*()_+`-={}[]|:;\"<,>.?/',null],null],null]}", cf.get("A/swappedObject3dMap").get());
287 assertInstanceOf(SwappedObject.class, proxy.getSwappedObject3dMap().keySet().iterator().next());
288 assertInstanceOf(SwappedObject.class, proxy.getSwappedObject3dMap().values().iterator().next()[0][0][0]);
289 }
290
291
292
293 @Test void a36_implicitSwappedObject() {
294 proxy.setImplicitSwappedObject(new ImplicitSwappedObject());
295 assertJson("'swap-~!@#$%^&*()_+`-={}[]|:;\"<,>.?/'", proxy.getImplicitSwappedObject());
296 assertEquals("swap-~!@#$%^&*()_+`-={}[]|:;\"<,>.?/", cf.get("A/implicitSwappedObject").get());
297 assertInstanceOf(ImplicitSwappedObject.class, proxy.getImplicitSwappedObject());
298 }
299
300 @Test void a37_implicitSwappedObject3dArray() {
301 proxy.setImplicitSwappedObject3dArray(new ImplicitSwappedObject[][][]{{{new ImplicitSwappedObject(),null},null},null});
302 assertJson("[[['swap-~!@#$%^&*()_+`-={}[]|:;\"<,>.?/',null],null],null]", proxy.getImplicitSwappedObject3dArray());
303 assertEquals("[[['swap-~!@#$%^&*()_+`-={}[]|:;\"<,>.?/',null],null],null]", cf.get("A/implicitSwappedObject3dArray").get());
304 assertInstanceOf(ImplicitSwappedObject.class, proxy.getImplicitSwappedObject3dArray()[0][0][0]);
305 }
306
307 @Test void a38_implicitSwappedObjectMap() {
308 proxy.setImplicitSwappedObjectMap(map(new ImplicitSwappedObject(), new ImplicitSwappedObject()));
309 assertJson("{'swap-~!@#$%^&*()_+`-={}[]|:;\"<,>.?/':'swap-~!@#$%^&*()_+`-={}[]|:;\"<,>.?/'}", proxy.getImplicitSwappedObjectMap());
310 assertEquals("{'swap-~!@#$%^&*()_+`-={}[]|:;\"<,>.?/':'swap-~!@#$%^&*()_+`-={}[]|:;\"<,>.?/'}", cf.get("A/implicitSwappedObjectMap").get());
311 assertInstanceOf(ImplicitSwappedObject.class, proxy.getImplicitSwappedObjectMap().keySet().iterator().next());
312 assertInstanceOf(ImplicitSwappedObject.class, proxy.getImplicitSwappedObjectMap().values().iterator().next());
313 }
314
315 @Test void a39_implicitSwappedObject3dMap() {
316 proxy.setImplicitSwappedObject3dMap(map(new ImplicitSwappedObject(), new ImplicitSwappedObject[][][]{{{new ImplicitSwappedObject(),null},null},null}));
317 assertJson("{'swap-~!@#$%^&*()_+`-={}[]|:;\"<,>.?/':[[['swap-~!@#$%^&*()_+`-={}[]|:;\"<,>.?/',null],null],null]}", proxy.getImplicitSwappedObject3dMap());
318 assertEquals("{'swap-~!@#$%^&*()_+`-={}[]|:;\"<,>.?/':[[['swap-~!@#$%^&*()_+`-={}[]|:;\"<,>.?/',null],null],null]}", cf.get("A/implicitSwappedObject3dMap").get());
319 assertInstanceOf(ImplicitSwappedObject.class, proxy.getImplicitSwappedObject3dMap().keySet().iterator().next());
320 assertInstanceOf(ImplicitSwappedObject.class, proxy.getImplicitSwappedObject3dMap().values().iterator().next()[0][0][0]);
321 }
322
323
324
325 @Test void a40_enum() {
326 proxy.setEnum(TestEnum.TWO);
327 assertJson("'TWO'", proxy.getEnum());
328 assertEquals("TWO", cf.get("A/enum").get());
329 assertInstanceOf(TestEnum.class, proxy.getEnum());
330 }
331
332 @Test void a41_enum3d() {
333 proxy.setEnum3d(new TestEnum[][][]{{{TestEnum.TWO,null},null},null});
334 assertJson("[[['TWO',null],null],null]", proxy.getEnum3d());
335 assertEquals("[[['TWO',null],null],null]", cf.get("A/enum3d").get());
336 assertInstanceOf(TestEnum.class, proxy.getEnum3d()[0][0][0]);
337 }
338
339 @Test void a42_enumList() {
340 proxy.setEnumList(alist(TestEnum.TWO,null));
341 assertJson("['TWO',null]", proxy.getEnumList());
342 assertEquals("['TWO',null]", cf.get("A/enumList").get());
343 assertInstanceOf(TestEnum.class, proxy.getEnumList().get(0));
344 }
345
346 @Test void a43_enum3dList() {
347 proxy.setEnum3dList(alist(alist(alist(TestEnum.TWO,null),null),null));
348 assertJson("[[['TWO',null],null],null]", proxy.getEnum3dList());
349 assertEquals("[[['TWO',null],null],null]", cf.get("A/enum3dList").get());
350 assertInstanceOf(TestEnum.class, proxy.getEnum3dList().get(0).get(0).get(0));
351 }
352
353 @Test void a44_enum1d3dList() {
354 proxy.setEnum1d3dList(alist(new TestEnum[][][]{{{TestEnum.TWO,null},null},null},null));
355 assertJson("[[[['TWO',null],null],null],null]", proxy.getEnum1d3dList());
356 assertEquals("[[[['TWO',null],null],null],null]", cf.get("A/enum1d3dList").get());
357 assertInstanceOf(TestEnum.class, proxy.getEnum1d3dList().get(0)[0][0][0]);
358 }
359
360 @Test void a45_enumMap() {
361 proxy.setEnumMap(map(TestEnum.ONE,TestEnum.TWO));
362 assertJson("{ONE:'TWO'}", proxy.getEnumMap());
363 assertEquals("{ONE:'TWO'}", cf.get("A/enumMap").get());
364 assertInstanceOf(TestEnum.class, proxy.getEnumMap().keySet().iterator().next());
365 assertInstanceOf(TestEnum.class, proxy.getEnumMap().values().iterator().next());
366 }
367
368 @Test void a46_enum3dArrayMap() {
369 proxy.setEnum3dArrayMap(map(TestEnum.ONE,new TestEnum[][][]{{{TestEnum.TWO,null},null},null}));
370 assertJson("{ONE:[[['TWO',null],null],null]}", proxy.getEnum3dArrayMap());
371 assertEquals("{ONE:[[['TWO',null],null],null]}", cf.get("A/enum3dArrayMap").get());
372 assertInstanceOf(TestEnum.class, proxy.getEnum3dArrayMap().keySet().iterator().next());
373 assertInstanceOf(TestEnum.class, proxy.getEnum3dArrayMap().values().iterator().next()[0][0][0]);
374 }
375
376 @Test void a47_enum1d3dListMap() {
377 proxy.setEnum1d3dListMap(map(TestEnum.ONE,alist(new TestEnum[][][]{{{TestEnum.TWO,null},null},null},null)));
378 assertJson("{ONE:[[[['TWO',null],null],null],null]}", proxy.getEnum1d3dListMap());
379 assertEquals("{ONE:[[[['TWO',null],null],null],null]}", cf.get("A/enum1d3dListMap").get());
380 assertInstanceOf(TestEnum.class, proxy.getEnum1d3dListMap().keySet().iterator().next());
381 assertInstanceOf(TestEnum.class, proxy.getEnum1d3dListMap().values().iterator().next().get(0)[0][0][0]);
382 }
383
384 public interface ConfigInterface {
385
386
387
388 String getString();
389 void setString(String x);
390
391 int getInt();
392 void setInt(int x);
393
394 Integer getInteger();
395 void setInteger(Integer x);
396
397 boolean isBoolean();
398 void setBoolean(boolean x);
399
400 Boolean getBooleanObject();
401 void setBooleanObject(Boolean x);
402
403 float getFloat();
404 void setFloat(float x);
405
406 Float getFloatObject();
407 void setFloatObject(Float x);
408
409 int[][][] getInt3dArray();
410 void setInt3dArray(int[][][] x);
411
412 Integer[][][] getInteger3dArray();
413 void setInteger3dArray(Integer[][][] x);
414
415 String[][][] getString3dArray();
416 void setString3dArray(String[][][] x);
417
418 List<Integer> getIntegerList();
419 void setIntegerList(List<Integer> x);
420
421 List<List<List<Integer>>> getInteger3dList();
422 void setInteger3dList(List<List<List<Integer>>> x);
423
424 List<Integer[][][]> getInteger1d3dList();
425 void setInteger1d3dList(List<Integer[][][]> x);
426
427 List<int[][][]> getInt1d3dList();
428 void setInt1d3dList(List<int[][][]> x);
429
430 List<String> getStringList();
431 void setStringList(List<String> x);
432
433
434
435 ABean getBean();
436 void setBean(ABean x);
437
438 ABean[][][] getBean3dArray();
439 void setBean3dArray(ABean[][][] x);
440
441 List<ABean> getBeanList();
442 void setBeanList(List<ABean> x);
443
444 List<ABean[][][]> getBean1d3dList();
445 void setBean1d3dList(List<ABean[][][]> x);
446
447 Map<String,ABean> getBeanMap();
448 void setBeanMap(Map<String,ABean> x);
449
450 Map<String,List<ABean>> getBeanListMap();
451 void setBeanListMap(Map<String,List<ABean>> x);
452
453 Map<String,List<ABean[][][]>> getBean1d3dListMap();
454 void setBean1d3dListMap(Map<String,List<ABean[][][]>> x);
455
456 Map<Integer,List<ABean>> getBeanListMapIntegerKeys();
457 void setBeanListMapIntegerKeys(Map<Integer,List<ABean>> x);
458
459
460
461 TypedBean getTypedBean();
462 void setTypedBean(TypedBean x);
463
464 TypedBean[][][] getTypedBean3dArray();
465 void setTypedBean3dArray(TypedBean[][][] x);
466
467 List<TypedBean> getTypedBeanList();
468 void setTypedBeanList(List<TypedBean> x);
469
470 List<TypedBean[][][]> getTypedBean1d3dList();
471 void setTypedBean1d3dList(List<TypedBean[][][]> x);
472
473 Map<String,TypedBean> getTypedBeanMap();
474 void setTypedBeanMap(Map<String,TypedBean> x);
475
476 Map<String,List<TypedBean>> getTypedBeanListMap();
477 void setTypedBeanListMap(Map<String,List<TypedBean>> x);
478
479 Map<String,List<TypedBean[][][]>> getTypedBean1d3dListMap();
480 void setTypedBean1d3dListMap(Map<String,List<TypedBean[][][]>> x);
481
482 Map<Integer,List<TypedBean>> getTypedBeanListMapIntegerKeys();
483 void setTypedBeanListMapIntegerKeys(Map<Integer,List<TypedBean>> x);
484
485
486
487 SwappedObject getSwappedObject();
488 void setSwappedObject(SwappedObject x);
489
490 SwappedObject[][][] getSwappedObject3dArray();
491 void setSwappedObject3dArray(SwappedObject[][][] x);
492
493 Map<SwappedObject,SwappedObject> getSwappedObjectMap();
494 void setSwappedObjectMap(Map<SwappedObject,SwappedObject> x);
495
496 Map<SwappedObject,SwappedObject[][][]> getSwappedObject3dMap();
497 void setSwappedObject3dMap(Map<SwappedObject,SwappedObject[][][]> x);
498
499
500
501 ImplicitSwappedObject getImplicitSwappedObject();
502 void setImplicitSwappedObject(ImplicitSwappedObject x);
503
504 ImplicitSwappedObject[][][] getImplicitSwappedObject3dArray();
505 void setImplicitSwappedObject3dArray(ImplicitSwappedObject[][][] x);
506
507 Map<ImplicitSwappedObject,ImplicitSwappedObject> getImplicitSwappedObjectMap();
508 void setImplicitSwappedObjectMap(Map<ImplicitSwappedObject,ImplicitSwappedObject> x);
509
510 Map<ImplicitSwappedObject,ImplicitSwappedObject[][][]> getImplicitSwappedObject3dMap();
511 void setImplicitSwappedObject3dMap(Map<ImplicitSwappedObject,ImplicitSwappedObject[][][]> x);
512
513
514
515 TestEnum getEnum();
516 void setEnum(TestEnum x);
517
518 TestEnum[][][] getEnum3d();
519 void setEnum3d(TestEnum[][][] x);
520
521 List<TestEnum> getEnumList();
522 void setEnumList(List<TestEnum> x);
523
524 List<List<List<TestEnum>>> getEnum3dList();
525 void setEnum3dList(List<List<List<TestEnum>>> x);
526
527 List<TestEnum[][][]> getEnum1d3dList();
528 void setEnum1d3dList(List<TestEnum[][][]> x);
529
530 Map<TestEnum,TestEnum> getEnumMap();
531 void setEnumMap(Map<TestEnum,TestEnum> x);
532
533 Map<TestEnum,TestEnum[][][]> getEnum3dArrayMap();
534 void setEnum3dArrayMap(Map<TestEnum,TestEnum[][][]> x);
535
536 Map<TestEnum,List<TestEnum[][][]>> getEnum1d3dListMap();
537 void setEnum1d3dListMap(Map<TestEnum,List<TestEnum[][][]>> x);
538 }
539 }