1 package org.apache.commons.beanutils2.testbeans;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.io.Serializable;
23 import java.util.ArrayList;
24 import java.util.HashMap;
25 import java.util.List;
26 import java.util.Map;
27
28 import org.apache.commons.lang3.builder.EqualsBuilder;
29
30
31
32
33
34
35
36
37 public class TestBean
38 implements Serializable
39 {
40
41
42
43
44 private static final long serialVersionUID = 1L;
45
46
47
48 public TestBean()
49 {
50 listIndexed.add( "String 0" );
51 listIndexed.add( "String 1" );
52 listIndexed.add( "String 2" );
53 listIndexed.add( "String 3" );
54 listIndexed.add( "String 4" );
55 }
56
57 public TestBean( String stringProperty )
58 {
59 setStringProperty( stringProperty );
60 }
61
62 public TestBean( float floatProperty )
63 {
64 setFloatProperty( floatProperty );
65 }
66
67 public TestBean( boolean booleanProperty )
68 {
69 setBooleanProperty( booleanProperty );
70 }
71
72 public TestBean( Boolean booleanSecond )
73 {
74 setBooleanSecond( booleanSecond.booleanValue() );
75 }
76
77 public TestBean( float floatProperty, String stringProperty )
78 {
79 setFloatProperty( floatProperty );
80 setStringProperty( stringProperty );
81 }
82
83 public TestBean( boolean booleanProperty, String stringProperty )
84 {
85 setBooleanProperty( booleanProperty );
86 setStringProperty( stringProperty );
87 }
88
89 public TestBean( Boolean booleanSecond, String stringProperty )
90 {
91 setBooleanSecond( booleanSecond.booleanValue() );
92 setStringProperty( stringProperty );
93 }
94
95 public TestBean( Integer intProperty )
96 {
97 setIntProperty( intProperty.intValue() );
98 }
99
100 public TestBean( double doubleProperty )
101 {
102 setDoubleProperty( doubleProperty );
103 }
104
105 TestBean( int intProperty )
106 {
107 setIntProperty( intProperty );
108 }
109
110 protected TestBean( boolean booleanProperty, boolean booleanSecond, String stringProperty )
111 {
112 setBooleanProperty( booleanProperty );
113 setBooleanSecond( booleanSecond );
114 setStringProperty( stringProperty );
115 }
116
117 public TestBean( List<String> listIndexed )
118 {
119 this.listIndexed = listIndexed;
120 }
121
122 public TestBean( String[][] string2dArray )
123 {
124 this.string2dArray = string2dArray;
125 }
126
127
128
129
130
131
132 private boolean booleanProperty = true;
133
134 public boolean getBooleanProperty()
135 {
136 return ( booleanProperty );
137 }
138
139 public void setBooleanProperty( boolean booleanProperty )
140 {
141 this.booleanProperty = booleanProperty;
142 }
143
144
145
146
147 private boolean booleanSecond = true;
148
149 public boolean isBooleanSecond()
150 {
151 return ( booleanSecond );
152 }
153
154 public void setBooleanSecond( boolean booleanSecond )
155 {
156 this.booleanSecond = booleanSecond;
157 }
158
159
160
161
162 private byte byteProperty = (byte) 121;
163
164 public byte getByteProperty()
165 {
166 return ( this.byteProperty );
167 }
168
169 public void setByteProperty( byte byteProperty )
170 {
171 this.byteProperty = byteProperty;
172 }
173
174
175
176
177 private java.util.Date dateProperty;
178
179 public java.util.Date getDateProperty()
180 {
181 return dateProperty;
182 }
183
184 public void setDateProperty( java.util.Date dateProperty )
185 {
186 this.dateProperty = dateProperty;
187 }
188
189
190
191
192 private java.util.Date[] dateArrayProperty;
193
194 public java.util.Date[] getDateArrayProperty()
195 {
196 return dateArrayProperty;
197 }
198
199 public void setDateArrayProperty( java.util.Date[] dateArrayProperty )
200 {
201 this.dateArrayProperty = dateArrayProperty;
202 }
203
204
205
206
207 private double doubleProperty = 321.0;
208
209 public double getDoubleProperty()
210 {
211 return ( this.doubleProperty );
212 }
213
214 public void setDoubleProperty( double doubleProperty )
215 {
216 this.doubleProperty = doubleProperty;
217 }
218
219
220
221
222 private String[] dupProperty = { "Dup 0", "Dup 1", "Dup 2", "Dup 3", "Dup 4" };
223
224 public String[] getDupProperty()
225 {
226 return ( this.dupProperty );
227 }
228
229 public String getDupProperty( int index )
230 {
231 return ( this.dupProperty[index] );
232 }
233
234 public void setDupProperty( int index, String value )
235 {
236 this.dupProperty[index] = value;
237 }
238
239 public void setDupProperty( String[] dupProperty )
240 {
241 this.dupProperty = dupProperty;
242 }
243
244
245
246
247 private float floatProperty = (float) 123.0;
248
249 public float getFloatProperty()
250 {
251 return ( this.floatProperty );
252 }
253
254 public void setFloatProperty( float floatProperty )
255 {
256 this.floatProperty = floatProperty;
257 }
258
259
260
261
262 private int intArray[] = { 0, 10, 20, 30, 40 };
263
264 public int[] getIntArray()
265 {
266 return ( this.intArray );
267 }
268
269 public void setIntArray( int[] intArray )
270 {
271 this.intArray = intArray;
272 }
273
274
275
276
277 private final int intIndexed[] = { 0, 10, 20, 30, 40 };
278
279 public int getIntIndexed( int index )
280 {
281 return ( intIndexed[index] );
282 }
283
284 public void setIntIndexed( int index, int value )
285 {
286 intIndexed[index] = value;
287 }
288
289
290
291
292 private int intProperty = 123;
293
294 public int getIntProperty()
295 {
296 return ( this.intProperty );
297 }
298
299 public void setIntProperty( int intProperty )
300 {
301 this.intProperty = intProperty;
302 }
303
304
305
306
307 private List<String> listIndexed = new ArrayList<String>();
308
309 public List<String> getListIndexed()
310 {
311 return ( listIndexed );
312 }
313
314
315
316
317 private long longProperty = 321;
318
319 public long getLongProperty()
320 {
321 return ( this.longProperty );
322 }
323
324 public void setLongProperty( long longProperty )
325 {
326 this.longProperty = longProperty;
327 }
328
329
330
331
332 private Map<String, Object> mapProperty = null;
333
334 public Map<String, Object> getMapProperty()
335 {
336
337 if ( mapProperty == null )
338 {
339 mapProperty = new HashMap<String, Object>();
340 mapProperty.put( "First Key", "First Value" );
341 mapProperty.put( "Second Key", "Second Value" );
342 }
343 return ( mapProperty );
344 }
345
346 public void setMapProperty( Map<String, Object> mapProperty )
347 {
348
349 if ( mapProperty == null )
350 {
351 mapProperty = new HashMap<String, Object>();
352 mapProperty.put( "First Key", "First Value" );
353 mapProperty.put( "Second Key", "Second Value" );
354 }
355 this.mapProperty = mapProperty;
356 }
357
358
359
360
361 private Map<String, Object>mappedObjects = null;
362
363 public Object getMappedObjects( String key )
364 {
365
366 if ( mappedObjects == null )
367 {
368 mappedObjects = new HashMap<String, Object>();
369 mappedObjects.put( "First Key", "First Value" );
370 mappedObjects.put( "Second Key", "Second Value" );
371 }
372 return ( mappedObjects.get( key ) );
373 }
374
375 public void setMappedObjects( String key, Object value )
376 {
377
378 if ( mappedObjects == null )
379 {
380 mappedObjects = new HashMap<String, Object>();
381 mappedObjects.put( "First Key", "First Value" );
382 mappedObjects.put( "Second Key", "Second Value" );
383 }
384 mappedObjects.put( key, value );
385 }
386
387
388
389
390 private Map<String, Object>mappedProperty = null;
391
392 public String getMappedProperty( String key )
393 {
394
395 if ( mappedProperty == null )
396 {
397 mappedProperty = new HashMap<String, Object>();
398 mappedProperty.put( "First Key", "First Value" );
399 mappedProperty.put( "Second Key", "Second Value" );
400 }
401 return ( (String) mappedProperty.get( key ) );
402 }
403
404 public void setMappedProperty( String key, String value )
405 {
406
407 if ( mappedProperty == null )
408 {
409 mappedProperty = new HashMap<String, Object>();
410 mappedProperty.put( "First Key", "First Value" );
411 mappedProperty.put( "Second Key", "Second Value" );
412 }
413 mappedProperty.put( key, value );
414 }
415
416
417
418
419 private Map<String, Object>mappedIntProperty = null;
420
421 public int getMappedIntProperty( String key )
422 {
423
424 if ( mappedIntProperty == null )
425 {
426 mappedIntProperty = new HashMap<String, Object>();
427 mappedIntProperty.put( "One", new Integer( 1 ) );
428 mappedIntProperty.put( "Two", new Integer( 2 ) );
429 }
430 Integer x = (Integer) mappedIntProperty.get( key );
431 return ( ( x == null ) ? 0 : x.intValue() );
432 }
433
434 public void setMappedIntProperty( String key, int value )
435 {
436 mappedIntProperty.put( key, new Integer( value ) );
437 }
438
439
440
441
442 private TestBean nested = null;
443
444 public TestBean getNested()
445 {
446 if ( nested == null )
447 nested = new TestBean();
448 return ( nested );
449 }
450
451
452
453
454 private TestBean anotherNested = null;
455
456 public TestBean getAnotherNested()
457 {
458 return anotherNested;
459 }
460
461 public void setAnotherNested( TestBean anotherNested )
462 {
463 this.anotherNested = anotherNested;
464 }
465
466
467
468
469 public class MappedTestBean
470 {
471 public void setValue( String key, String val )
472 {
473 }
474
475 public String getValue( String key )
476 {
477 return "Mapped Value";
478 }
479 }
480
481 private MappedTestBean mappedNested = null;
482
483 public MappedTestBean getMappedNested()
484 {
485 if ( mappedNested == null )
486 {
487 mappedNested = new MappedTestBean();
488 }
489 return mappedNested;
490 }
491
492
493
494
495 private String nullProperty = null;
496
497 public String getNullProperty()
498 {
499 return ( this.nullProperty );
500 }
501
502 public void setNullProperty( String nullProperty )
503 {
504 this.nullProperty = nullProperty;
505 }
506
507
508
509
510 private final String readOnlyProperty = "Read Only String Property";
511
512 public String getReadOnlyProperty()
513 {
514 return ( this.readOnlyProperty );
515 }
516
517
518
519
520 private short shortProperty = (short) 987;
521
522 public short getShortProperty()
523 {
524 return ( this.shortProperty );
525 }
526
527 public void setShortProperty( short shortProperty )
528 {
529 this.shortProperty = shortProperty;
530 }
531
532
533
534
535 private String[] stringArray = { "String 0", "String 1", "String 2", "String 3", "String 4" };
536
537 public String[] getStringArray()
538 {
539 return ( this.stringArray );
540 }
541
542 public void setStringArray( String[] stringArray )
543 {
544 this.stringArray = stringArray;
545 }
546
547
548
549
550 private final String[] stringIndexed = { "String 0", "String 1", "String 2", "String 3", "String 4" };
551
552 public String getStringIndexed( int index )
553 {
554 return ( stringIndexed[index] );
555 }
556
557 public void setStringIndexed( int index, String value )
558 {
559 stringIndexed[index] = value;
560 }
561
562 private String[][] string2dArray =
563 new String[][] { new String[] { "1", "2", "3" }, new String[] { "4", "5", "6" } };
564
565 public String[] getString2dArray( int index )
566 {
567 return string2dArray[index];
568 }
569
570
571
572
573 private String stringProperty = "This is a string";
574
575 public String getStringProperty()
576 {
577 return ( this.stringProperty );
578 }
579
580 public void setStringProperty( String stringProperty )
581 {
582 this.stringProperty = stringProperty;
583 }
584
585
586
587
588 private String writeOnlyProperty = "Write Only String Property";
589
590 public String getWriteOnlyPropertyValue()
591 {
592 return ( this.writeOnlyProperty );
593 }
594
595 public void setWriteOnlyProperty( String writeOnlyProperty )
596 {
597 this.writeOnlyProperty = writeOnlyProperty;
598 }
599
600
601
602
603
604
605
606
607
608
609 private boolean invalidBoolean = false;
610
611 public boolean getInvalidBoolean()
612 {
613 return ( this.invalidBoolean );
614 }
615
616 public boolean isInvalidBoolean()
617 {
618 return ( this.invalidBoolean );
619 }
620
621 public void setInvalidBoolean( String invalidBoolean )
622 {
623 if ( "true".equalsIgnoreCase( invalidBoolean ) || "yes".equalsIgnoreCase( invalidBoolean )
624 || "1".equalsIgnoreCase( invalidBoolean ) )
625 {
626 this.invalidBoolean = true;
627 }
628 else
629 {
630 this.invalidBoolean = false;
631 }
632 }
633
634
635
636
637 @Override
638 public boolean equals( Object obj )
639 {
640 if ( obj == this )
641 {
642 return true;
643 }
644 if ( obj == null )
645 {
646 return false;
647 }
648 if ( !( obj instanceof TestBean ) )
649 {
650 return false;
651 }
652
653 TestBean rhs = (TestBean) obj;
654 return new EqualsBuilder()
655 .append( this.booleanProperty, rhs.booleanProperty )
656 .append( this.booleanSecond,rhs.booleanSecond )
657 .append( this.invalidBoolean,rhs.invalidBoolean )
658 .append( this.byteProperty,rhs.byteProperty )
659 .append( this.dateProperty,rhs.dateProperty )
660 .append( this.doubleProperty,rhs.doubleProperty )
661 .append( this.floatProperty,rhs.floatProperty )
662 .append( this.intProperty,rhs.intProperty )
663 .append( this.longProperty,rhs.longProperty )
664 .append( this.shortProperty,rhs.shortProperty )
665 .append( this.nullProperty,rhs.nullProperty )
666 .append( this.anotherNested, rhs.anotherNested )
667 .append( this.dateArrayProperty, rhs.dateArrayProperty )
668 .append( this.dupProperty, rhs.dupProperty )
669 .append( this.intArray, rhs.intArray )
670 .append( this.intIndexed, rhs.intIndexed )
671 .append( this.listIndexed, rhs.listIndexed )
672 .append( this.mappedIntProperty, rhs.mappedIntProperty )
673 .append( this.mappedNested, rhs.mappedNested )
674 .append( this.mappedObjects, rhs.mappedObjects )
675 .append( this.mappedProperty, rhs.mappedProperty )
676 .append( this.mapProperty, rhs.mapProperty )
677 .append( this.nested, rhs.nested )
678 .append( this.readOnlyProperty, rhs.readOnlyProperty )
679 .append( this.string2dArray, rhs.string2dArray )
680 .append( this.stringArray, rhs.stringArray)
681 .append( this.stringIndexed, rhs.stringIndexed )
682 .append( this.stringProperty, rhs.stringProperty )
683 .append( this.writeOnlyProperty, rhs.writeOnlyProperty )
684 .build();
685 }
686
687
688
689
690
691
692 private static int counter = 0;
693
694
695
696
697 public static int currentCounter()
698 {
699
700 return ( counter );
701
702 }
703
704
705
706
707 public static void incrementCounter()
708 {
709
710 incrementCounter( 1 );
711
712 }
713
714
715
716
717
718
719 public static void incrementCounter( int amount )
720 {
721
722 counter += amount;
723
724 }
725
726
727
728
729
730 public static void incrementCounter( Number amount )
731 {
732 counter += 2 * amount.intValue();
733 }
734
735 }