mocobeta commented on a change in pull request #643: URL: https://github.com/apache/lucene/pull/643#discussion_r802659437
########## 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: I slightly prefer to have top-level functional interfaces `o.a.l.util.[IOSupplier|IOConsumer|IOFunction]` for visibility since we will use them more frequently in the future. And there are only two such existing functional interfaces in `IOUtils`, so moving them to top-level would not be difficult - what do you think about it? But I'm not so familiar with the convention in there, and am fine with having all of them under `o.a.l.util.IOUtils`. -- 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