This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-io.git


The following commit(s) were added to refs/heads/master by this push:
     new 0d84f279 Internal refactoring
0d84f279 is described below

commit 0d84f279d6dd6486b581acf2ea2ad212530e16fc
Author: Gary Gregory <gardgreg...@gmail.com>
AuthorDate: Tue Jun 28 08:42:43 2022 -0400

    Internal refactoring
---
 .../org/apache/commons/io/filefilter/AbstractFileFilter.java     | 9 +++++++++
 .../java/org/apache/commons/io/filefilter/AgeFileFilter.java     | 7 +------
 .../java/org/apache/commons/io/filefilter/EmptyFileFilter.java   | 7 ++-----
 .../java/org/apache/commons/io/filefilter/HiddenFileFilter.java  | 7 +------
 .../org/apache/commons/io/filefilter/PathVisitorFileFilter.java  | 6 +-----
 .../java/org/apache/commons/io/filefilter/SizeFileFilter.java    | 6 +-----
 6 files changed, 15 insertions(+), 27 deletions(-)

diff --git 
a/src/main/java/org/apache/commons/io/filefilter/AbstractFileFilter.java 
b/src/main/java/org/apache/commons/io/filefilter/AbstractFileFilter.java
index b12aa661..4bc6dcf4 100644
--- a/src/main/java/org/apache/commons/io/filefilter/AbstractFileFilter.java
+++ b/src/main/java/org/apache/commons/io/filefilter/AbstractFileFilter.java
@@ -28,6 +28,7 @@ import java.util.Objects;
 
 import org.apache.commons.io.file.PathFilter;
 import org.apache.commons.io.file.PathVisitor;
+import org.apache.commons.io.function.IOSupplier;
 
 /**
  * Abstracts the implementation of the {@link FileFilter} (IO), {@link 
FilenameFilter} (IO), {@link PathFilter} (NIO)
@@ -116,6 +117,14 @@ public abstract class AbstractFileFilter implements 
IOFileFilter, PathVisitor {
         }
     }
 
+    FileVisitResult get(final IOSupplier<FileVisitResult> supplier) {
+        try {
+            return supplier.get();
+        } catch (IOException e) {
+            return handle(e);
+        }
+    }
+
     /**
      * Handles exceptions caught while accepting.
      *
diff --git a/src/main/java/org/apache/commons/io/filefilter/AgeFileFilter.java 
b/src/main/java/org/apache/commons/io/filefilter/AgeFileFilter.java
index f94e336b..8f04ffa1 100644
--- a/src/main/java/org/apache/commons/io/filefilter/AgeFileFilter.java
+++ b/src/main/java/org/apache/commons/io/filefilter/AgeFileFilter.java
@@ -17,7 +17,6 @@
 package org.apache.commons.io.filefilter;
 
 import java.io.File;
-import java.io.IOException;
 import java.io.Serializable;
 import java.nio.file.FileVisitResult;
 import java.nio.file.Path;
@@ -197,11 +196,7 @@ public class AgeFileFilter extends AbstractFileFilter 
implements Serializable {
      */
     @Override
     public FileVisitResult accept(final Path file, final BasicFileAttributes 
attributes) {
-        try {
-            return toFileVisitResult(acceptOlder != PathUtils.isNewer(file, 
cutoffInstant));
-        } catch (final IOException e) {
-            return handle(e);
-        }
+        return get(() -> toFileVisitResult(acceptOlder != 
PathUtils.isNewer(file, cutoffInstant)));
     }
 
     /**
diff --git 
a/src/main/java/org/apache/commons/io/filefilter/EmptyFileFilter.java 
b/src/main/java/org/apache/commons/io/filefilter/EmptyFileFilter.java
index 76d3c5d2..ec936745 100644
--- a/src/main/java/org/apache/commons/io/filefilter/EmptyFileFilter.java
+++ b/src/main/java/org/apache/commons/io/filefilter/EmptyFileFilter.java
@@ -17,7 +17,6 @@
 package org.apache.commons.io.filefilter;
 
 import java.io.File;
-import java.io.IOException;
 import java.io.Serializable;
 import java.nio.file.FileVisitResult;
 import java.nio.file.Files;
@@ -117,16 +116,14 @@ public class EmptyFileFilter extends AbstractFileFilter 
implements Serializable
      */
     @Override
     public FileVisitResult accept(final Path file, final BasicFileAttributes 
attributes) {
-        try {
+        return get(() -> {
             if (Files.isDirectory(file)) {
                 try (Stream<Path> stream = Files.list(file)) {
                     return toFileVisitResult(!stream.findFirst().isPresent());
                 }
             }
             return toFileVisitResult(Files.size(file) == 0);
-        } catch (final IOException e) {
-            return handle(e);
-        }
+        });
     }
 
 }
diff --git 
a/src/main/java/org/apache/commons/io/filefilter/HiddenFileFilter.java 
b/src/main/java/org/apache/commons/io/filefilter/HiddenFileFilter.java
index 4f161a30..c6678e82 100644
--- a/src/main/java/org/apache/commons/io/filefilter/HiddenFileFilter.java
+++ b/src/main/java/org/apache/commons/io/filefilter/HiddenFileFilter.java
@@ -17,7 +17,6 @@
 package org.apache.commons.io.filefilter;
 
 import java.io.File;
-import java.io.IOException;
 import java.io.Serializable;
 import java.nio.file.FileVisitResult;
 import java.nio.file.Files;
@@ -111,11 +110,7 @@ public class HiddenFileFilter extends AbstractFileFilter 
implements Serializable
      */
     @Override
     public FileVisitResult accept(final Path file, final BasicFileAttributes 
attributes) {
-        try {
-            return toFileVisitResult(Files.isHidden(file));
-        } catch (final IOException e) {
-            return handle(e);
-        }
+        return get(() -> toFileVisitResult(Files.isHidden(file)));
     }
 
 }
diff --git 
a/src/main/java/org/apache/commons/io/filefilter/PathVisitorFileFilter.java 
b/src/main/java/org/apache/commons/io/filefilter/PathVisitorFileFilter.java
index 410c9692..75ea800c 100644
--- a/src/main/java/org/apache/commons/io/filefilter/PathVisitorFileFilter.java
+++ b/src/main/java/org/apache/commons/io/filefilter/PathVisitorFileFilter.java
@@ -68,11 +68,7 @@ public class PathVisitorFileFilter extends 
AbstractFileFilter {
 
     @Override
     public FileVisitResult accept(final Path path, final BasicFileAttributes 
attributes) {
-        try {
-            return Files.isDirectory(path) ? 
pathVisitor.postVisitDirectory(path, null) : visitFile(path, attributes);
-        } catch (final IOException e) {
-            return handle(e);
-        }
+        return get(() -> Files.isDirectory(path) ? 
pathVisitor.postVisitDirectory(path, null) : visitFile(path, attributes));
     }
 
     @Override
diff --git a/src/main/java/org/apache/commons/io/filefilter/SizeFileFilter.java 
b/src/main/java/org/apache/commons/io/filefilter/SizeFileFilter.java
index 09adc2e6..287144a0 100644
--- a/src/main/java/org/apache/commons/io/filefilter/SizeFileFilter.java
+++ b/src/main/java/org/apache/commons/io/filefilter/SizeFileFilter.java
@@ -137,11 +137,7 @@ public class SizeFileFilter extends AbstractFileFilter 
implements Serializable {
      */
     @Override
     public FileVisitResult accept(final Path file, final BasicFileAttributes 
attributes) {
-        try {
-            return toFileVisitResult(accept(Files.size(file)));
-        } catch (final IOException e) {
-            return handle(e);
-        }
+        return get(() -> toFileVisitResult(accept(Files.size(file))));
     }
 
     /**

Reply via email to