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 <[email protected]>
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))));
}
/**