JDK 13 RFR of JDK-8223178: Improve FileSystems.newFileSystem example with map factory methods
Joe Darcy
joe.darcy at oracle.com
Wed May 1 16:53:27 UTC 2019
Hi Alan,
The maximum line length is actually slightly reduced by the proposed patch:
--- 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"), env);
+ * FileSystem fs =
FileSystems.newFileSystem(URI.create("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"), 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?
Thanks,
-Joe
On 4/30/2019 11:16 PM, Alan Bateman wrote:
> On 01/05/2019 02:59, Joe Darcy 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 Tue
>> Apr 30 18:52:11 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"), env);
>> + * FileSystem fs =
>> FileSystems.newFileSystem(URI.create("memory:///?name=logfs"),
>> + * Map.of("capacity", "16G",
>> + * "blockSize", "4k"));
> Changing it to use an unmodifable map is good. One nit the really long
> line in the source will be annoying with future side-by-side diffs. It
> wouldn't take much from the readability to keep env.
>
> -Alan
More information about the core-libs-dev
mailing list