JDK 13 RFR of JDK-8223178: Improve FileSystems.newFileSystem example with map factory methods

Brian Burkhalter brian.burkhalter at oracle.com
Wed May 1 18:20:03 UTC 2019


> On May 1, 2019, at 9:53 AM, Joe Darcy <joe.darcy at oracle.com> wrote:
> 
> --- a/src/java.base/share/classes/java/nio/file/FileSystems.java Tue Apr 30 16:11:42 2019 -0700
> +++ b/src/java.base/share/classes/java/nio/file/FileSystems.java Wed May 01 00:12:25 2019 -0700
> @@ -252,10 +252,9 @@
>       * Suppose there is a provider identified by the scheme {@code "memory"}
>       * installed:
>       * <pre>
> -     *   Map<String,String> env = new HashMap<>();
> -     *   env.put("capacity", "16G");
> -     *   env.put("blockSize", "4k");
> -     *   FileSystem fs = FileSystems.newFileSystem(URI.create("memory:///?name=logfs <memory:///?name=logfs>"), env);
> +     *   FileSystem fs = FileSystems.newFileSystem(URI.create("memory:///?name=logfs <memory:///?name=logfs>"),
> + * Map.of("capacity", "16G",
> + * "blockSize", "4k"));
>       * </pre>
>       *
>       * @param   uri
> 
> Keeping env to one line also gives a comparably long line length:
> 
> --- a/src/java.base/share/classes/java/nio/file/FileSystems.java Tue Apr 30 16:11:42 2019 -0700
> +++ b/src/java.base/share/classes/java/nio/file/FileSystems.java Wed May 01 09:50:15 2019 -0700
> @@ -252,9 +252,7 @@
>       * Suppose there is a provider identified by the scheme {@code "memory"}
>       * installed:
>       * <pre>
> -     *   Map<String,String> env = new HashMap<>();
> -     *   env.put("capacity", "16G");
> -     *   env.put("blockSize", "4k");
> +     *   Map<String,String> env = Map.of("capacity", "16G", "blockSize", "4k");
>       *   FileSystem fs = FileSystems.newFileSystem(URI.create("memory:///?name=logfs <memory:///?name=logfs>"), env);
>       * </pre>
>       *
> The {"capacity", "16G"} and {"blockSize", "4k"} can be put on different lines to provide a stronger visual hint of grouping.
> 
> Which of these alternatives do you prefer?

I like the second one. Another alternative would be something like:

+     *   FileSystem fs = FileSystems.newFileSystem(URI.create("memory:///?name=logfs <memory:///?name=logfs>"),
+     *           Map.of("capacity", "16G”, "blockSize", "4k"));

Brian




More information about the core-libs-dev mailing list