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