uschindler commented on a change in pull request #643:
URL: https://github.com/apache/lucene/pull/643#discussion_r802795516



##########
File path: lucene/core/src/java/org/apache/lucene/util/IOUtils.java
##########
@@ -526,4 +526,17 @@ public static void fsync(Path fileToSync, boolean isDir) 
throws IOException {
   public interface IOFunction<T, R> {
     R apply(T t) throws IOException;
   }
+
+  /**
+   * A resource supplier function that may throw an IOException.
+   *
+   * <p>Note that this would open a resource such as a File. Consumers should 
make sure to close the
+   * resource (e.g., use try-with-resources)
+   *
+   * @see java.util.function.Supplier
+   */
+  @FunctionalInterface

Review comment:
       Yes, both is fine. Actually the nested ones have a naming problem: 
"IOUtils.IOSupplier" has two times IO, so either "IOSupplier" or 
"IOUtils.Supplier".
   
   > so moving them to top-level would not be difficult - what do you think 
about it?
   
   In most cases you don't even need to change the import statements, because 
there are none (at least for consumers of APIs implementing the functional 
interfaces with lambdas or method references). You only need to change import 
statements in API definitions, but for consumers it is still "source code" 
compatible (but not "binary/class file" compatible).




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to