JDK 16 RFR of JDK-8250246: Address reliance on default constructors in security libs

Sean Mullan sean.mullan at oracle.com
Fri Jul 24 17:32:57 UTC 2020


On 7/24/20 1:18 PM, Joe Darcy wrote:

>> - src/jdk.security.jgss/share/classes/com/sun/security/jgss/GSSUtil.java
>>
>>   37     /**
>>   38      * Do not call.
>>   39      */
>>   40     @Deprecated(since="16", forRemoval=true)
>>   41     public GSSUtil() {}
>>
>> Is your concern that there may be some code out there that might be 
>> erroneously using the default constructor so you want to give some 
>> warning first before making this a private ctor after it is removed? 
>> (I think I agree, but I want to make sure I understand your thinking).
> 
> That is my concern here, yes. We've had a number of other cases in the 
> JDK where the default constructor appeared in an static-only class as an 
> attractive nuisance. Before static imports, subclassing such a class was 
> a way to get its names in the namespace of the subclass, but that is an 
> anti-pattern that should not be encouraged.

Ok, sounds good.

>> src/jdk.security.auth/share/classes/com/sun/security/auth/module/NTLoginModule.java 
>>
>>
>> 87      * Creates a {@code NTLoginModule}.
>>
>> s/a/an/
> 
> Hmm. If the this is pronounced as "N T Login Module", "N" would be a 
> consonant sound so should be prefixed by the indefinite article "a", no?

This might be a question for one of the grammar experts amongst us. But 
isn't "N" a vowel sound: "en"?

--Sean

>> src/jdk.security.auth/share/classes/com/sun/security/auth/module/LdapLoginModule.java 
>>
>>
>> 359      * Creates a {@code LdapLoginModule}.
>>
>> s/a/an/
> 
> Okay.
> 
> Thanks,
> 
> -Joe
> 



More information about the security-dev mailing list