<Swing Dev> RFR 8250852: Address reliance on default constructors in the javax.swing.plaf.basic APIs

Alexey Ivanov alexey.ivanov at oracle.com
Tue Aug 18 11:57:50 UTC 2020


Looks good.


Regards,
Alexey

On 18/08/2020 05:00, Prasanta Sadhukhan wrote:
> Yes, it was a typo. Thanks Sergey for spotting it. Please find 
> modified version
>
> http://cr.openjdk.java.net/~psadhukhan/8250852/webrev.1/
>
> Regards
>
> Prasanta
>
> On 18-Aug-20 4:23 AM, Sergey Bylokhov wrote:
>> I guess it is just a typo, previously correct wording was used:
>> https://hg.openjdk.java.net/jdk/client/rev/db216b85f50b
>>
>> On 17.08.2020 14:58, Philip Race wrote:
>>> My preference is that the abstract classes all use the same verbiage 
>>> Joe used
>>> for such cases in the java.base module.  i.e just "Constructor for 
>>> subclasses to call. "
>>>
>>> It may not be the optimal text but it is certainly better than 
>>> "Constructs for subclasses to call".
>>>
>>> -phil.11
>>>
>>> On 8/17/20, 2:47 PM, Alexey Ivanov wrote:
>>>> On 17/08/2020 22:10, Alexey Ivanov wrote:
>>>>> Hi Prasanta, Sergey,
>>>>>
>>>>> On 17/08/2020 21:19, Sergey Bylokhov wrote:
>>>>>> Hi, Prasanta.
>>>>>>
>>>>>> There is a small typo, see dots: "Constructs for subclasses to 
>>>>>> call.."
>>>>>
>>>>> Shall it be "Constructs a {@code BasicLookAndFeel} for subclasses 
>>>>> to call."?
>>>>> This way it is consistent with other added constructors and 
>>>>> specifies the object.
>>>>
>>>> I see there's a discussion on jdk-dev about the proposed text:
>>>> https://mail.openjdk.java.net/pipermail/jdk-dev/2020-August/004613.html 
>>>>
>>>>
>>>> There's a precedent of using such a description:
>>>> "Constructor for subclasses to call."
>>>>
>>>> https://mail.openjdk.java.net/pipermail/jdk-dev/2020-August/004614.html 
>>>>
>>>> https://cr.openjdk.java.net/~darcy/8250244.0/src/java.base/share/classes/java/net/SocketAddress.java.frames.html 
>>>>
>>>>
>>>> And it's fine.
>>>>
>>>> Yet "Constructs for subclasses to call.." seems incorrect, 
>>>> ungrammatical, as if something missing and that something is the 
>>>> object for the verb "to construct".
>>>>
>>>> Should it be replaced with: "Constructor for subclasses to call."?
>>>>
>>>>
>>>> Regards,
>>>> Alexey
>>>>>
>>>>>> Other than that looks fine.
>>>>>>
>>>>>> On 15.08.2020 05:30, Prasanta Sadhukhan wrote:
>>>>>>> Hi All,
>>>>>>>
>>>>>>> Please review a fix for issue where it was seen that several 
>>>>>>> classes rely on default constructors as part of their public API.
>>>>>>>
>>>>>>> It's to be noted that "A no-arg public constructor is generated 
>>>>>>> by the compiler for a class if it does not declare an explicit 
>>>>>>> constructor. While convenient, this is inappropriate for many 
>>>>>>> kinds of formal classes, both because the constructor will have 
>>>>>>> no javadoc and because the constructor may be unintended."
>>>>>>>
>>>>>>> For the JDK, classes intended to be used outside of the JDK, 
>>>>>>> public classes in exported packages, should not rely on default 
>>>>>>> constructors.
>>>>>>>
>>>>>>> Proposed fix is to create protected constructors to the public 
>>>>>>> abstract classes for javax.swing.plaf.basic module (as one part 
>>>>>>> of overalll java.desktop change)
>>>>>>>
>>>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8250852
>>>>>>>
>>>>>>> webrev: http://cr.openjdk.java.net/~psadhukhan/8250852/webrev.0/
>>>>>>>
>>>>>>> CSR: https://bugs.openjdk.java.net/browse/JDK-8251855
>>>>>>>
>>>>>>> Regards
>>>>>>> Prasanta
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>
>>



More information about the swing-dev mailing list