On Mon, 12 Apr 2021 14:09:55 GMT, Conor Cleary <ccle...@openjdk.org> wrote:
>> ### Description >> This fix is part of a previous effort to both cleanup/modernise JNDI code, >> the details of which can be seen in >> [JDK-8048091](https://bugs.openjdk.java.net/browse/JDK-8048091). A number >> JNDI methods under `java.naming` use Anonymous Inner Classes in cases where >> only a single object unique to the requirements of the method is used. The >> issues these occurrences of AICs cause are highlighted below. >> >> - AICs, in the cases concerned with this fix, are used where only one >> operation is required. While AICs can be useful for more complex >> implementations (using interfaces, multiple methods needed, local fields >> etc.), Lambdas are better suited here as they result in a more readable and >> concise solution. >> >> ### Fixes >> - Where applicable, occurrences of AICs were replaced with lambdas to >> address the issues above resulting primarily in more readable/concise code. > > Conor Cleary has updated the pull request incrementally with two additional > commits since the last revision: > > - Update copyright headers > - Tidied up lambdas The change looks good to me with one small suggestion: src/java.naming/share/classes/javax/naming/ldap/StartTlsRequest.java line 223: > 221: */ > 222: private final ClassLoader getContextClassLoader() { > 223: PrivilegedAction<ClassLoader> pa = () -> > Thread.currentThread().getContextClassLoader(); We can use here an instance method reference to beautify code a little bit more: ```PrivilegedAction<ClassLoader> pa = Thread.currentThread()::getContextClassLoader;``` ------------- Marked as reviewed by aefimov (Committer). PR: https://git.openjdk.java.net/jdk/pull/3416