<Beans Dev> behavior of PropertyDescription.getReadMethod when is/get getters are provided
Sergey Bylokhov
Sergey.Bylokhov at oracle.com
Wed Mar 20 22:35:07 UTC 2019
Hi, Dmitry.
Thank you for this report. Do you have a bugid for it?
On 19/03/2019 09:55, Dmitry Cherepanov wrote:
> Hello,
>
> The behavior of PropertyDescription.getReadMethod() method changed for boolean properties when both “is” and “get” getters are provided in bean class.
>
> The following sample demonstrates this issue
> http://cr.openjdk.java.net/~dcherepanov/beans/BoolealPropertyTest/Test.java
>
> For 8, getReadMethod() returns the “is” getter
> Starting from 9, getReadMethod() returns the “get” getter
>
> This seems to be a behavior change introduced by [1] for [2] in PropertyInfo.initialize() where the “get” getters (stored in this.readList) overwrite the “is” getter (stored in this.read).
>
> I’m trying to understand if this behavior is covered by spec and after reading JavaBeans API specification (version 1.01, section “8.3.2 Boolean properties”)
>
> -------------------------------------------------------------------------------------
> This “is<PropertyName>” method may be provided instead of a “get<PropertyName>” method, or it may be provided in addition to a “get<PropertyName>” method. In either case, if the “is<PropertyName>” method is present for a boolean property then we will use the “is<PropertyName>” method to read the property value.
> -------------------------------------------------------------------------------------
>
> it seems like it’s covered and getReadMethod() should return the “is” getter in this case. I plan to file bug for this and prepare a patch (that would restore the behavior of getReadMethod()) but wanted to confirm the evaluation makes sense.
>
> Thanks,
>
> Dmitry
>
> [1] http://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/cf25509c9243#l4.72
> [2] https://bugs.openjdk.java.net/browse/JDK-4058433
>
--
Best regards, Sergey.
More information about the beans-dev
mailing list