Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/test/jdk/java/beans/Introspector/AnonymousClassBeanPropertyTest.java
41149 views
1
/*
2
* Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation.
8
*
9
* This code is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12
* version 2 for more details (a copy is included in the LICENSE file that
13
* accompanied this code).
14
*
15
* You should have received a copy of the GNU General Public License version
16
* 2 along with this work; if not, write to the Free Software Foundation,
17
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18
*
19
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20
* or visit www.oracle.com if you need additional information or have any
21
* questions.
22
*/
23
24
import java.beans.BeanInfo;
25
import java.beans.BeanProperty;
26
import java.beans.IntrospectionException;
27
import java.beans.Introspector;
28
import java.beans.PropertyChangeListener;
29
import java.beans.PropertyDescriptor;
30
31
import java.util.Arrays;
32
33
34
/**
35
* @test
36
* @bug 8132973 8132732 8155013 8154958
37
* @summary Some check for BeanProperty annotation
38
* @author a.stepanov
39
* @run main AnonymousClassBeanPropertyTest
40
*/
41
//TODO in final revision each test should have only one checkInfo/checkAlternate
42
public class AnonymousClassBeanPropertyTest {
43
44
private final static String DESCRIPTION = "TEST";
45
private final static boolean BOUND = true;
46
private final static boolean EXPERT = false;
47
private final static boolean HIDDEN = true;
48
private final static boolean PREFERRED = false;
49
private final static boolean REQUIRED = true;
50
private final static boolean UPDATE = false;
51
52
private final static double X = java.lang.Math.PI;
53
54
private final static String
55
V_NAME = "java.lang.Math.PI",
56
V_SHORT = "PI",
57
V = Double.toString(X);
58
59
private final static String DESCRIPTION_2 = "XYZ";
60
61
62
// ---------- test cases (interfaces) ----------
63
64
public interface IPublic {
65
double getX();
66
}
67
68
private interface IGet {
69
double getX();
70
}
71
72
private interface ISet {
73
void setX(double v);
74
}
75
76
private interface IGetByIndex {
77
double getX(int i);
78
}
79
80
private interface ISetByIndex {
81
void setX(int i, double v);
82
}
83
84
private interface IGetArray {
85
double[] getX();
86
}
87
88
private interface ISetArray {
89
void setX(double a[]);
90
}
91
92
private interface IGetBoth {
93
double getX(int i);
94
double[] getX();
95
}
96
97
private interface ISetBoth {
98
void setX(int i, double v);
99
void setX(double a[]);
100
}
101
102
private interface IGetSet {
103
double getX();
104
void setX(double v);
105
}
106
107
private interface IGetSetByIndex {
108
double getX(int i);
109
void setX(int i, double v);
110
}
111
112
private interface IGetSetBoth {
113
double getX(int i);
114
double[] getX();
115
void setX(int i, double v);
116
void setX(double a[]);
117
}
118
119
private interface IIs {
120
boolean isX();
121
}
122
123
124
// ---------- checks ----------
125
126
private static boolean check(String what, boolean v, boolean ref) {
127
128
boolean ok = (v == ref);
129
if (!ok) { System.out.println(
130
"invalid " + what + ": " + v + ", expected: " + ref); }
131
return ok;
132
}
133
134
private static boolean checkInfo(Class<?> c, String what, boolean checkVals) {
135
136
BeanInfo i;
137
try { i = Introspector.getBeanInfo(c, Object.class); }
138
catch (IntrospectionException e) { throw new RuntimeException(e); }
139
140
System.out.println("\nchecking info for " + what);
141
142
PropertyDescriptor descriptors[] = i.getPropertyDescriptors();
143
int nd = descriptors.length;
144
if (nd != 1) {
145
System.out.println("invalid number of descriptors: " + nd);
146
return false;
147
}
148
149
PropertyDescriptor d = descriptors[0];
150
151
String descr = d.getShortDescription();
152
boolean ok = descr.equals(DESCRIPTION);
153
if (!ok) { System.out.println("invalid description: " + descr +
154
", expected: " + DESCRIPTION); }
155
156
ok &= check("isBound", d.isBound(), BOUND);
157
ok &= check("isExpert", d.isExpert(), EXPERT);
158
ok &= check("isHidden", d.isHidden(), HIDDEN);
159
ok &= check("isPreferred", d.isPreferred(), PREFERRED);
160
ok &= check("required", (boolean) d.getValue("required"), REQUIRED);
161
ok &= check("visualUpdate",
162
(boolean) d.getValue("visualUpdate"), UPDATE);
163
164
if (!checkVals) { return ok; }
165
166
Object vals[] = (Object[]) d.getValue("enumerationValues");
167
if (vals == null) {
168
System.out.println("null enumerationValues");
169
return false;
170
}
171
172
if (vals.length == 0) {
173
System.out.println("empty enumerationValues");
174
return false;
175
}
176
177
boolean okVals = (
178
(vals.length == 3) &&
179
vals[0].toString().equals(V_SHORT) &&
180
vals[1].toString().equals(V) &&
181
vals[2].toString().equals(V_NAME));
182
183
if (!okVals) {
184
System.out.println("invalid enumerationValues:");
185
for (Object v: vals) { System.out.println(v.toString()); }
186
}
187
188
return (ok && okVals);
189
}
190
191
private static boolean checkAlternativeInfo(Class<?> c, String what) {
192
193
BeanInfo i;
194
try { i = Introspector.getBeanInfo(c, Object.class); }
195
catch (IntrospectionException e) { throw new RuntimeException(e); }
196
197
System.out.println("checking alternative info for " + what);
198
199
PropertyDescriptor descriptors[] = i.getPropertyDescriptors();
200
int nd = descriptors.length;
201
if (nd != 1) {
202
System.out.println("invalid number of descriptors: " + nd);
203
return false;
204
}
205
206
PropertyDescriptor d = descriptors[0];
207
208
String descr = d.getShortDescription();
209
boolean ok = descr.equals(DESCRIPTION_2);
210
if (!ok) { System.out.println("invalid alternative description: " +
211
descr + ", expected: " + DESCRIPTION_2); }
212
213
ok &= check("isBound", d.isBound(), !BOUND);
214
ok &= check("isExpert", d.isExpert(), !EXPERT);
215
ok &= check("isHidden", d.isHidden(), !HIDDEN);
216
ok &= check("isPreferred", d.isPreferred(), !PREFERRED);
217
ok &= check("required", (boolean) d.getValue("required"), !REQUIRED);
218
ok &= check("visualUpdate",
219
(boolean) d.getValue("visualUpdate"), !UPDATE);
220
221
Object vals[] = (Object[]) d.getValue("enumerationValues");
222
if (vals != null && vals.length > 0) {
223
System.out.println("non-empty enumerationValues:");
224
for (Object v: vals) { System.out.print(v.toString()); }
225
System.out.println();
226
return false;
227
}
228
229
return ok;
230
}
231
232
233
234
// ---------- run tests ----------
235
236
public static void main(String[] args) {
237
238
boolean passed = true, ok, ok2;
239
240
//----------------------------------------------------------------------
241
242
// TODO: please uncomment/update after 8154958 fix
243
/*
244
IPublic testPublic = new IPublic() {
245
@BeanProperty(
246
description = DESCRIPTION,
247
bound = BOUND,
248
expert = EXPERT,
249
hidden = HIDDEN,
250
preferred = PREFERRED,
251
required = REQUIRED,
252
visualUpdate = UPDATE,
253
enumerationValues = {V_NAME})
254
@Override
255
public double getX() { return X; }
256
257
public void addPropertyChangeListener(PropertyChangeListener l) {}
258
public void removePropertyChangeListener(PropertyChangeListener l) {}
259
};
260
ok = checkInfo(testPublic.getClass(), "IPublic", true);
261
System.out.println("OK = " + ok);
262
passed = passed && ok;
263
*/
264
265
//----------------------------------------------------------------------
266
267
IGet testGet = new IGet() {
268
@BeanProperty(
269
description = DESCRIPTION,
270
bound = BOUND,
271
expert = EXPERT,
272
hidden = HIDDEN,
273
preferred = PREFERRED,
274
required = REQUIRED,
275
visualUpdate = UPDATE,
276
enumerationValues = {V_NAME})
277
@Override
278
public double getX() { return X; }
279
280
public void addPropertyChangeListener(PropertyChangeListener l) {}
281
public void removePropertyChangeListener(PropertyChangeListener l) {}
282
};
283
ok = checkInfo(testGet.getClass(), "IGet", true);
284
System.out.println("OK = " + ok);
285
passed = passed && ok;
286
287
//----------------------------------------------------------------------
288
289
ISet testSet = new ISet() {
290
291
private double x;
292
293
@BeanProperty(
294
description = DESCRIPTION,
295
bound = BOUND,
296
expert = EXPERT,
297
hidden = HIDDEN,
298
preferred = PREFERRED,
299
required = REQUIRED,
300
visualUpdate = UPDATE,
301
enumerationValues = {V_NAME})
302
@Override
303
public void setX(double v) { x = v; }
304
305
public void addPropertyChangeListener(PropertyChangeListener l) {}
306
public void removePropertyChangeListener(PropertyChangeListener l) {}
307
};
308
ok = checkInfo(testSet.getClass(), "ISet", true);
309
System.out.println("OK = " + ok);
310
passed = passed && ok;
311
312
//----------------------------------------------------------------------
313
314
IGetByIndex testGetByIndex = new IGetByIndex() {
315
316
private final double x[] = {X, X};
317
318
@BeanProperty(
319
description = DESCRIPTION,
320
bound = BOUND,
321
expert = EXPERT,
322
hidden = HIDDEN,
323
preferred = PREFERRED,
324
required = REQUIRED,
325
visualUpdate = UPDATE,
326
enumerationValues = {V_NAME})
327
@Override
328
public double getX(int i) { return x[i]; }
329
330
public void addPropertyChangeListener(PropertyChangeListener l) {}
331
public void removePropertyChangeListener(PropertyChangeListener l) {}
332
};
333
ok = checkInfo(testGetByIndex.getClass(), "IGetByIndex", true);
334
System.out.println("OK = " + ok);
335
passed = passed && ok;
336
337
//----------------------------------------------------------------------
338
339
ISetByIndex testSetByIndex = new ISetByIndex() {
340
341
private final double x[] = {X, X, X};
342
343
@BeanProperty(
344
description = DESCRIPTION,
345
bound = BOUND,
346
expert = EXPERT,
347
hidden = HIDDEN,
348
preferred = PREFERRED,
349
required = REQUIRED,
350
visualUpdate = UPDATE,
351
enumerationValues = {V_NAME})
352
@Override
353
public void setX(int i, double v) { x[i] = v; }
354
355
public void addPropertyChangeListener(PropertyChangeListener l) {}
356
public void removePropertyChangeListener(PropertyChangeListener l) {}
357
};
358
ok = checkInfo(testSetByIndex.getClass(), "ISetByIndex", true);
359
System.out.println("OK = " + ok);
360
passed = passed && ok;
361
362
//----------------------------------------------------------------------
363
364
// TODO: please uncomment/update after 8155013 fix
365
/*
366
IGetArray testGetArray = new IGetArray() {
367
368
private final double x[] = {X, X};
369
370
@BeanProperty(
371
description = DESCRIPTION,
372
bound = BOUND,
373
expert = EXPERT,
374
hidden = HIDDEN,
375
preferred = PREFERRED,
376
required = REQUIRED,
377
visualUpdate = UPDATE,
378
enumerationValues = {V_NAME})
379
@Override
380
public double[] getX() { return x; }
381
382
public void addPropertyChangeListener(PropertyChangeListener l) {}
383
public void removePropertyChangeListener(PropertyChangeListener l) {}
384
};
385
ok = checkInfo(testGetArray.getClass(), "IGetArray", true);
386
System.out.println("OK = " + ok);
387
passed = passed && ok;
388
*/
389
390
//----------------------------------------------------------------------
391
392
// TODO: please uncomment/update after 8155013 fix
393
/*
394
ISetArray testSetArray = new ISetArray() {
395
396
private double x[];
397
398
@BeanProperty(
399
description = DESCRIPTION,
400
bound = BOUND,
401
expert = EXPERT,
402
hidden = HIDDEN,
403
preferred = PREFERRED,
404
required = REQUIRED,
405
visualUpdate = UPDATE,
406
enumerationValues = {V_NAME})
407
@Override
408
public void setX(double a[]) { x = Arrays.copyOf(a, a.length); }
409
410
public void addPropertyChangeListener(PropertyChangeListener l) {}
411
public void removePropertyChangeListener(PropertyChangeListener l) {}
412
};
413
ok = checkInfo(testSetArray.getClass(), "ISetArray", true);
414
System.out.println("OK = " + ok);
415
passed = passed && ok;
416
*/
417
418
//----------------------------------------------------------------------
419
420
IGetBoth testGetBoth_1 = new IGetBoth() {
421
422
private final double x[] = {X, X};
423
424
@BeanProperty(
425
description = DESCRIPTION,
426
bound = BOUND,
427
expert = EXPERT,
428
hidden = HIDDEN,
429
preferred = PREFERRED,
430
required = REQUIRED,
431
visualUpdate = UPDATE,
432
enumerationValues = {V_NAME})
433
@Override
434
public double getX(int i) { return x[i]; }
435
@Override
436
public double[] getX() { return x; }
437
438
public void addPropertyChangeListener(PropertyChangeListener l) {}
439
public void removePropertyChangeListener(PropertyChangeListener l) {}
440
};
441
ok = checkInfo(testGetBoth_1.getClass(), "IGetBoth-1", true);
442
System.out.println("OK = " + ok);
443
passed = passed && ok;
444
445
// TODO: please uncomment/update after 8155013 fix
446
/*
447
IGetBoth testGetBoth_2 = new IGetBoth() {
448
449
private final double x[] = {X, X};
450
451
@Override
452
public double getX(int i) { return x[i]; }
453
@BeanProperty(
454
description = DESCRIPTION,
455
bound = BOUND,
456
expert = EXPERT,
457
hidden = HIDDEN,
458
preferred = PREFERRED,
459
required = REQUIRED,
460
visualUpdate = UPDATE,
461
enumerationValues = {V_NAME})
462
@Override
463
public double[] getX() { return x; }
464
465
public void addPropertyChangeListener(PropertyChangeListener l) {}
466
public void removePropertyChangeListener(PropertyChangeListener l) {}
467
};
468
ok = checkInfo(testGetBoth_2.getClass(), "IGetBoth-2", true);
469
System.out.println("OK = " + ok);
470
passed = passed && ok;
471
*/
472
473
// TODO: please uncomment/update after 8132732 fix
474
/*
475
IGetBoth testGetBoth_3 = new IGetBoth() {
476
477
private final double x[] = {X, X};
478
479
@BeanProperty(
480
description = DESCRIPTION,
481
bound = BOUND,
482
expert = EXPERT,
483
hidden = HIDDEN,
484
preferred = PREFERRED,
485
required = REQUIRED,
486
visualUpdate = UPDATE,
487
enumerationValues = {V_NAME})
488
@Override
489
public double getX(int i) { return x[i]; }
490
@BeanProperty(
491
description = DESCRIPTION_2,
492
bound = !BOUND,
493
expert = !EXPERT,
494
hidden = !HIDDEN,
495
preferred = !PREFERRED,
496
required = !REQUIRED,
497
visualUpdate = !UPDATE)
498
@Override
499
public double[] getX() { return x; }
500
501
public void addPropertyChangeListener(PropertyChangeListener l) {}
502
public void removePropertyChangeListener(PropertyChangeListener l) {}
503
};
504
ok = checkInfo(testGetBoth_3.getClass(), "IGetBoth-3", true);
505
System.out.println("OK = " + ok);
506
ok2 = checkAlternativeInfo(testGetBoth_3.getClass(), "IGetBoth-3");
507
System.out.println("OK = " + ok2);
508
passed = passed && (ok || ok2);
509
*/
510
511
//----------------------------------------------------------------------
512
513
ISetBoth testSetBoth_1 = new ISetBoth() {
514
515
private double x[] = new double[3];
516
517
@BeanProperty(
518
description = DESCRIPTION,
519
bound = BOUND,
520
expert = EXPERT,
521
hidden = HIDDEN,
522
preferred = PREFERRED,
523
required = REQUIRED,
524
visualUpdate = UPDATE,
525
enumerationValues = {V_NAME})
526
@Override
527
public void setX(int i, double v) { x[i] = v; }
528
@Override
529
public void setX(double[] a) { x = Arrays.copyOf(a, a.length); }
530
531
public void addPropertyChangeListener(PropertyChangeListener l) {}
532
public void removePropertyChangeListener(PropertyChangeListener l) {}
533
};
534
ok = checkInfo(testSetBoth_1.getClass(), "ISetBoth-1", true);
535
System.out.println("OK = " + ok);
536
passed = passed && ok;
537
538
// TODO: please uncomment/update after 8155013 fix
539
/*
540
ISetBoth testSetBoth_2 = new ISetBoth() {
541
542
private double x[] = new double[3];
543
544
@Override
545
public void setX(int i, double v) { x[i] = v; }
546
@BeanProperty(
547
description = DESCRIPTION,
548
bound = BOUND,
549
expert = EXPERT,
550
hidden = HIDDEN,
551
preferred = PREFERRED,
552
required = REQUIRED,
553
visualUpdate = UPDATE,
554
enumerationValues = {V_NAME})
555
@Override
556
public void setX(double[] a) { x = Arrays.copyOf(a, a.length); }
557
558
public void addPropertyChangeListener(PropertyChangeListener l) {}
559
public void removePropertyChangeListener(PropertyChangeListener l) {}
560
};
561
ok = checkInfo(testSetBoth_2.getClass(), "ISetBoth-2", true);
562
System.out.println("OK = " + ok);
563
passed = passed && ok;
564
*/
565
566
// TODO: please uncomment/update after 8132732 fix
567
/*
568
ISetBoth testSetBoth_3 = new ISetBoth() {
569
570
private double x[] = {X, X};
571
572
@BeanProperty(
573
description = DESCRIPTION,
574
bound = BOUND,
575
expert = EXPERT,
576
hidden = HIDDEN,
577
preferred = PREFERRED,
578
required = REQUIRED,
579
visualUpdate = UPDATE,
580
enumerationValues = {V_NAME})
581
@Override
582
public void setX(int i, double v) { x[i] = v; }
583
@BeanProperty(
584
description = DESCRIPTION_2,
585
bound = !BOUND,
586
expert = !EXPERT,
587
hidden = !HIDDEN,
588
preferred = !PREFERRED,
589
required = !REQUIRED,
590
visualUpdate = !UPDATE)
591
@Override
592
public void setX(double[] a) { x = Arrays.copyOf(a, a.length); }
593
594
public void addPropertyChangeListener(PropertyChangeListener l) {}
595
public void removePropertyChangeListener(PropertyChangeListener l) {}
596
};
597
ok = checkInfo(testSetBoth_3.getClass(), "ISetBoth-3", true);
598
System.out.println("OK = " + ok);
599
ok2 = checkAlternativeInfo(testSetBoth_3.getClass(), "ISetBoth-3");
600
System.out.println("OK = " + ok2);
601
passed = passed && (ok || ok2);
602
*/
603
604
//----------------------------------------------------------------------
605
606
IGetSet testGetSet_1 = new IGetSet() {
607
608
private double x;
609
610
@BeanProperty(
611
description = DESCRIPTION,
612
bound = BOUND,
613
expert = EXPERT,
614
hidden = HIDDEN,
615
preferred = PREFERRED,
616
required = REQUIRED,
617
visualUpdate = UPDATE,
618
enumerationValues = {V_NAME})
619
@Override
620
public double getX() { return x; }
621
@Override
622
public void setX(double v) { x = v; }
623
624
public void addPropertyChangeListener(PropertyChangeListener l) {}
625
public void removePropertyChangeListener(PropertyChangeListener l) {}
626
};
627
ok = checkInfo(testGetSet_1.getClass(), "IGetSet-1", true);
628
System.out.println("OK = " + ok);
629
passed = passed && ok;
630
631
632
IGetSet testGetSet_2 = new IGetSet() {
633
634
private double x;
635
636
@Override
637
public double getX() { return x; }
638
@BeanProperty(
639
description = DESCRIPTION,
640
bound = BOUND,
641
expert = EXPERT,
642
hidden = HIDDEN,
643
preferred = PREFERRED,
644
required = REQUIRED,
645
visualUpdate = UPDATE,
646
enumerationValues = {V_NAME})
647
@Override
648
public void setX(double v) { x = v; }
649
650
public void addPropertyChangeListener(PropertyChangeListener l) {}
651
public void removePropertyChangeListener(PropertyChangeListener l) {}
652
};
653
ok = checkInfo(testGetSet_2.getClass(), "IGetSet-2", true);
654
System.out.println("OK = " + ok);
655
passed = passed && ok;
656
657
IGetSet testGetSet_3 = new IGetSet() {
658
659
private double x;
660
661
@Override
662
@BeanProperty(
663
description = DESCRIPTION,
664
bound = BOUND,
665
expert = EXPERT,
666
hidden = HIDDEN,
667
preferred = PREFERRED,
668
required = REQUIRED,
669
visualUpdate = UPDATE,
670
enumerationValues = {V_NAME})
671
public double getX() { return x; }
672
@BeanProperty(
673
description = DESCRIPTION_2,
674
bound = !BOUND,
675
expert = !EXPERT,
676
hidden = !HIDDEN,
677
preferred = !PREFERRED,
678
required = !REQUIRED,
679
visualUpdate = !UPDATE)
680
@Override
681
public void setX(double v) { x = v; }
682
683
public void addPropertyChangeListener(PropertyChangeListener l) {}
684
public void removePropertyChangeListener(PropertyChangeListener l) {}
685
};
686
ok = checkInfo(testGetSet_3.getClass(), "IGetSet-3", true);
687
System.out.println("OK = " + ok);
688
passed = passed && ok;
689
690
//----------------------------------------------------------------------
691
692
IGetSetByIndex testGetSetByIndex_1 = new IGetSetByIndex() {
693
694
private final double x[] = {X, X};
695
696
@BeanProperty(
697
description = DESCRIPTION,
698
bound = BOUND,
699
expert = EXPERT,
700
hidden = HIDDEN,
701
preferred = PREFERRED,
702
required = REQUIRED,
703
visualUpdate = UPDATE,
704
enumerationValues = {V_NAME})
705
@Override
706
public double getX(int i) { return x[i]; }
707
@Override
708
public void setX(int i, double v) { x[i] = v; }
709
710
public void addPropertyChangeListener(PropertyChangeListener l) {}
711
public void removePropertyChangeListener(PropertyChangeListener l) {}
712
};
713
ok = checkInfo(testGetSetByIndex_1.getClass(), "IGetSetByIndex-1", true);
714
System.out.println("OK = " + ok);
715
passed = passed && ok;
716
717
718
IGetSetByIndex testGetSetByIndex_2 = new IGetSetByIndex() {
719
720
private final double x[] = {X, X};
721
722
@Override
723
public double getX(int i) { return x[i]; }
724
@BeanProperty(
725
description = DESCRIPTION,
726
bound = BOUND,
727
expert = EXPERT,
728
hidden = HIDDEN,
729
preferred = PREFERRED,
730
required = REQUIRED,
731
visualUpdate = UPDATE,
732
enumerationValues = {V_NAME})
733
@Override
734
public void setX(int i, double v) { x[i] = v; }
735
736
public void addPropertyChangeListener(PropertyChangeListener l) {}
737
public void removePropertyChangeListener(PropertyChangeListener l) {}
738
};
739
ok = checkInfo(testGetSetByIndex_2.getClass(), "IGetSetByIndex-2", true);
740
System.out.println("OK = " + ok);
741
passed = passed && ok;
742
743
IGetSetByIndex testGetSetByIndex_3 = new IGetSetByIndex() {
744
745
private double x[] = {X, X};
746
747
@BeanProperty(
748
description = DESCRIPTION,
749
bound = BOUND,
750
expert = EXPERT,
751
hidden = HIDDEN,
752
preferred = PREFERRED,
753
required = REQUIRED,
754
visualUpdate = UPDATE,
755
enumerationValues = {V_NAME})
756
@Override
757
public double getX(int i) {
758
return x[i];
759
}
760
@BeanProperty(
761
description = DESCRIPTION_2,
762
bound = !BOUND,
763
expert = !EXPERT,
764
hidden = !HIDDEN,
765
preferred = !PREFERRED,
766
required = !REQUIRED,
767
visualUpdate = !UPDATE)
768
@Override
769
public void setX(int i, double v) {
770
x[i] = v;
771
}
772
773
public void addPropertyChangeListener(PropertyChangeListener l) {}
774
public void removePropertyChangeListener(PropertyChangeListener l) {}
775
};
776
ok = checkInfo(testGetSetByIndex_3.getClass(), "IGetSetByIndex-3", true);
777
System.out.println("OK = " + ok);
778
passed = passed && ok;
779
780
//----------------------------------------------------------------------
781
782
// TODO: please uncomment/update after 8155013 fix
783
/*
784
IGetSetBoth testGetSetBoth_1 = new IGetSetBoth() {
785
786
private double x[] = {X, X};
787
788
@Override
789
public double getX(int i) { return x[i]; }
790
@BeanProperty(
791
description = DESCRIPTION,
792
bound = BOUND,
793
expert = EXPERT,
794
hidden = HIDDEN,
795
preferred = PREFERRED,
796
required = REQUIRED,
797
visualUpdate = UPDATE,
798
enumerationValues = {V_NAME})
799
@Override
800
public double[] getX() { return x; }
801
@Override
802
public void setX(int i, double v) { x[i] = v; }
803
@Override
804
public void setX(double[] a) { x = Arrays.copyOf(a, a.length); }
805
806
public void addPropertyChangeListener(PropertyChangeListener l) {}
807
public void removePropertyChangeListener(PropertyChangeListener l) {}
808
};
809
ok = checkInfo(testGetSetBoth_1.getClass(), "IGetSetBoth-1", true);
810
System.out.println("OK = " + ok);
811
passed = passed && ok;
812
*/
813
814
// TODO: please uncomment/update after 8155013 fix
815
/*
816
IGetSetBoth testGetSetBoth_2 = new IGetSetBoth() {
817
818
private double x[] = {X, X};
819
820
@Override
821
public double getX(int i) { return x[i]; }
822
@Override
823
public double[] getX() { return x; }
824
@Override
825
public void setX(int i, double v) { x[i] = v; }
826
@BeanProperty(
827
description = DESCRIPTION,
828
bound = BOUND,
829
expert = EXPERT,
830
hidden = HIDDEN,
831
preferred = PREFERRED,
832
required = REQUIRED,
833
visualUpdate = UPDATE,
834
enumerationValues = {V_NAME})
835
@Override
836
public void setX(double[] a) { x = Arrays.copyOf(a, a.length); }
837
838
public void addPropertyChangeListener(PropertyChangeListener l) {}
839
public void removePropertyChangeListener(PropertyChangeListener l) {}
840
};
841
ok = checkInfo(testGetSetBoth_2.getClass(), "IGetSetBoth-2", true);
842
System.out.println("OK = " + ok);
843
passed = passed && ok;
844
*/
845
846
// TODO: please uncomment/update after 8155013 fix
847
/*
848
IGetSetBoth testGetSetBoth_3 = new IGetSetBoth() {
849
850
private double x[] = {X, X};
851
852
@BeanProperty(
853
description = DESCRIPTION,
854
bound = BOUND,
855
expert = EXPERT,
856
hidden = HIDDEN,
857
preferred = PREFERRED,
858
required = REQUIRED,
859
visualUpdate = UPDATE,
860
enumerationValues = {V_NAME})
861
@Override
862
public double getX(int i) { return x[i]; }
863
@Override
864
public double[] getX() { return x; }
865
@Override
866
public void setX(int i, double v) { x[i] = v; }
867
@BeanProperty(
868
description = DESCRIPTION_2,
869
bound = !BOUND,
870
expert = !EXPERT,
871
hidden = !HIDDEN,
872
preferred = !PREFERRED,
873
required = !REQUIRED,
874
visualUpdate = !UPDATE)
875
@Override
876
public void setX(double[] a) { x = Arrays.copyOf(a, a.length); }
877
878
public void addPropertyChangeListener(PropertyChangeListener l) {}
879
public void removePropertyChangeListener(PropertyChangeListener l) {}
880
};
881
ok = checkInfo(testGetSetBoth_3.getClass(), "IGetSetBoth-3", true);
882
System.out.println("OK = " + ok);
883
ok2 = checkAlternativeInfo(
884
testGetSetBoth_3.getClass(), "IGetSetBoth-3");
885
System.out.println("OK = " + ok2);
886
passed = passed && (ok || ok2);
887
*/
888
889
//----------------------------------------------------------------------
890
891
IIs testIs_1 = new IIs() {
892
893
@BeanProperty(
894
description = DESCRIPTION,
895
bound = BOUND,
896
expert = EXPERT,
897
hidden = HIDDEN,
898
preferred = PREFERRED,
899
required = REQUIRED,
900
visualUpdate = UPDATE)
901
@Override
902
public boolean isX() { return false; }
903
904
public void addPropertyChangeListener(PropertyChangeListener l) {}
905
public void removePropertyChangeListener(PropertyChangeListener l) {}
906
};
907
ok = checkInfo(testIs_1.getClass(), "IIs-1", false);
908
System.out.println("OK = " + ok);
909
passed = passed && ok;
910
911
912
IIs testIs_2 = new IIs() {
913
914
private boolean b;
915
916
@Override
917
public boolean isX() { return b; }
918
919
@BeanProperty(
920
description = DESCRIPTION,
921
bound = BOUND,
922
expert = EXPERT,
923
hidden = HIDDEN,
924
preferred = PREFERRED,
925
required = REQUIRED,
926
visualUpdate = UPDATE)
927
public void setX(boolean v) { b = v; }
928
929
public void addPropertyChangeListener(PropertyChangeListener l) {}
930
public void removePropertyChangeListener(PropertyChangeListener l) {}
931
};
932
ok = checkInfo(testIs_2.getClass(), "IIs-2", false);
933
System.out.println("OK = " + ok);
934
passed = passed && ok;
935
936
937
IIs testIs_3 = new IIs() {
938
939
@BeanProperty(
940
description = DESCRIPTION,
941
bound = BOUND,
942
expert = EXPERT,
943
hidden = HIDDEN,
944
preferred = PREFERRED,
945
required = REQUIRED,
946
visualUpdate = UPDATE)
947
@Override
948
public boolean isX() { return false; }
949
950
@BeanProperty(
951
description = DESCRIPTION_2,
952
bound = !BOUND,
953
expert = !EXPERT,
954
hidden = !HIDDEN,
955
preferred = !PREFERRED,
956
required = !REQUIRED,
957
visualUpdate = !UPDATE)
958
public boolean getX() { return false; }
959
960
public void addPropertyChangeListener(PropertyChangeListener l) {}
961
public void removePropertyChangeListener(PropertyChangeListener l) {}
962
};
963
ok = checkInfo(testIs_3.getClass(), "IIs-3", false);
964
System.out.println("OK = " + ok);
965
ok2 = checkAlternativeInfo(testIs_3.getClass(), "IIs-3");
966
System.out.println("OK = " + ok2);
967
passed = passed && (ok || ok2);
968
969
IIs testIs_4 = new IIs() {
970
971
private boolean b;
972
973
@BeanProperty(
974
description = DESCRIPTION,
975
bound = BOUND,
976
expert = EXPERT,
977
hidden = HIDDEN,
978
preferred = PREFERRED,
979
required = REQUIRED,
980
visualUpdate = UPDATE)
981
@Override
982
public boolean isX() { return b; }
983
984
@BeanProperty(
985
description = DESCRIPTION_2,
986
bound = !BOUND,
987
expert = !EXPERT,
988
hidden = !HIDDEN,
989
preferred = !PREFERRED,
990
required = !REQUIRED,
991
visualUpdate = !UPDATE)
992
public void setX(boolean v) { b = v; }
993
994
public void addPropertyChangeListener(PropertyChangeListener l) {}
995
public void removePropertyChangeListener(PropertyChangeListener l) {}
996
};
997
ok = checkInfo(testIs_4.getClass(), "IIs-4", false);
998
System.out.println("OK = " + ok);
999
passed = passed && ok;
1000
1001
//----------------------------------------------------------------------
1002
1003
1004
if (!passed) { throw new RuntimeException("test failed"); }
1005
System.out.println("\ntest passed");
1006
}
1007
}
1008
1009