<Swing Dev> RFR JDK-8250811: Address reliance on default constructors in the javax.swing.plaf.multi APIs

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Tue Aug 4 06:31:38 UTC 2020


Hi, Prasanta.

I think a good place for a constructor is after the declaration of
the fields and before the methods.

BTW I am not sure about the "one line" "{}" type of brackets, do we use it somewhere?
For example in some classes like a java.awt.Canvas uses brackets on different lines.

On 31.07.2020 07:20, 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 no-arg default constructor for javax.swing.plaf.multi module (as one part of overalll java.desktop change)
> 
> Bug: https://bugs.openjdk.java.net/browse/JDK-8250811
> 
> webrev: http://cr.openjdk.java.net/~psadhukhan/8250811/webrev.0/
> 
> CSR: https://bugs.openjdk.java.net/browse/JDK-8250812
> 
> Regards
> Prasanta
> 


-- 
Best regards, Sergey.


More information about the swing-dev mailing list