You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2022/07/15 18:02:54 UTC

[commons-io] branch master updated (9327a98a -> 67d98034)

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

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


    from 9327a98a Bump actions/cache 3.0.4 to 3.0.5
     new 6327a1ca Javadoc
     new 67d98034 Use forEach()

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 src/main/java/org/apache/commons/io/FileUtils.java |  3 +--
 .../java/org/apache/commons/io/FilenameUtils.java  |  8 +-----
 src/main/java/org/apache/commons/io/IOCase.java    |  9 +++----
 .../io/comparator/CompositeFileComparator.java     | 13 +++------
 .../commons/io/file/spi/FileSystemProviders.java   | 12 +++------
 .../commons/io/filefilter/AndFileFilter.java       | 31 +++-------------------
 .../commons/io/filefilter/NameFileFilter.java      |  8 ++----
 .../apache/commons/io/filefilter/OrFileFilter.java | 21 +++------------
 .../commons/io/filefilter/PrefixFileFilter.java    |  8 ++----
 .../commons/io/filefilter/SuffixFileFilter.java    |  8 ++----
 .../commons/io/filefilter/WildcardFileFilter.java  |  8 ++----
 .../commons/io/filefilter/WildcardFilter.java      | 28 ++++---------------
 .../commons/io/input/ObservableInputStream.java    | 29 ++++++++++----------
 .../commons/io/monitor/FileAlterationListener.java |  4 +--
 .../commons/io/monitor/FileAlterationMonitor.java  |  4 +--
 src/test/java/org/apache/commons/io/DemuxTest.java |  8 ++----
 .../apache/commons/io/FileUtilsListFilesTest.java  | 16 +++++------
 .../commons/io/file/DirectoryStreamFilterTest.java |  4 +--
 .../io/file/spi/FileSystemProvidersTest.java       |  4 +--
 .../commons/io/filefilter/AgeFileFilterTest.java   |  3 ---
 .../commons/io/filefilter/AndFileFilterTest.java   |  4 +--
 .../ConditionalFileFilterAbstractTest.java         |  8 +++---
 .../io/filefilter/DirectoryFileFilterTest.java     |  3 ---
 .../io/filefilter/IOFileFilterAbstractTest.java    | 14 +++-------
 .../commons/io/filefilter/NameFileFilterTest.java  |  3 ---
 .../commons/io/filefilter/OrFileFilterTest.java    |  4 +--
 .../io/monitor/FileAlterationMonitorTest.java      |  4 +--
 27 files changed, 70 insertions(+), 199 deletions(-)


[commons-io] 02/02: Use forEach()

Posted by gg...@apache.org.
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

commit 67d980343fee071ef3fdd4a0fc0b7e7208309c93
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Fri Jul 15 14:02:47 2022 -0400

    Use forEach()
---
 src/main/java/org/apache/commons/io/FileUtils.java |  3 +--
 .../java/org/apache/commons/io/FilenameUtils.java  |  8 +-----
 src/main/java/org/apache/commons/io/IOCase.java    |  9 +++----
 .../io/comparator/CompositeFileComparator.java     | 13 +++------
 .../commons/io/file/spi/FileSystemProviders.java   | 12 +++------
 .../commons/io/filefilter/AndFileFilter.java       | 31 +++-------------------
 .../commons/io/filefilter/NameFileFilter.java      |  8 ++----
 .../apache/commons/io/filefilter/OrFileFilter.java | 21 +++------------
 .../commons/io/filefilter/PrefixFileFilter.java    |  8 ++----
 .../commons/io/filefilter/SuffixFileFilter.java    |  8 ++----
 .../commons/io/filefilter/WildcardFileFilter.java  |  8 ++----
 .../commons/io/filefilter/WildcardFilter.java      | 28 ++++---------------
 .../commons/io/input/ObservableInputStream.java    | 29 ++++++++++----------
 .../commons/io/monitor/FileAlterationMonitor.java  |  4 +--
 src/test/java/org/apache/commons/io/DemuxTest.java |  8 ++----
 .../apache/commons/io/FileUtilsListFilesTest.java  | 16 +++++------
 .../commons/io/file/DirectoryStreamFilterTest.java |  4 +--
 .../io/file/spi/FileSystemProvidersTest.java       |  4 +--
 .../commons/io/filefilter/AgeFileFilterTest.java   |  3 ---
 .../commons/io/filefilter/AndFileFilterTest.java   |  4 +--
 .../ConditionalFileFilterAbstractTest.java         |  8 +++---
 .../io/filefilter/DirectoryFileFilterTest.java     |  3 ---
 .../io/filefilter/IOFileFilterAbstractTest.java    | 14 +++-------
 .../commons/io/filefilter/NameFileFilterTest.java  |  3 ---
 .../commons/io/filefilter/OrFileFilterTest.java    |  4 +--
 .../io/monitor/FileAlterationMonitorTest.java      |  4 +--
 26 files changed, 68 insertions(+), 197 deletions(-)

diff --git a/src/main/java/org/apache/commons/io/FileUtils.java b/src/main/java/org/apache/commons/io/FileUtils.java
index c7876c74..cf915511 100644
--- a/src/main/java/org/apache/commons/io/FileUtils.java
+++ b/src/main/java/org/apache/commons/io/FileUtils.java
@@ -692,8 +692,7 @@ public class FileUtils {
             if (srcFiles.length > 0) {
                 exclusionList = new ArrayList<>(srcFiles.length);
                 for (final File srcFile : srcFiles) {
-                    final File copiedFile = new File(destDir, srcFile.getName());
-                    exclusionList.add(copiedFile.getCanonicalPath());
+                    exclusionList.add(new File(destDir, srcFile.getName()).getCanonicalPath());
                 }
             }
         }
diff --git a/src/main/java/org/apache/commons/io/FilenameUtils.java b/src/main/java/org/apache/commons/io/FilenameUtils.java
index 83fecf2b..67d2303c 100644
--- a/src/main/java/org/apache/commons/io/FilenameUtils.java
+++ b/src/main/java/org/apache/commons/io/FilenameUtils.java
@@ -1005,13 +1005,7 @@ public class FilenameUtils {
         if (extensions == null || extensions.isEmpty()) {
             return indexOfExtension(fileName) == NOT_FOUND;
         }
-        final String fileExt = getExtension(fileName);
-        for (final String extension : extensions) {
-            if (fileExt.equals(extension)) {
-                return true;
-            }
-        }
-        return false;
+        return extensions.contains(getExtension(fileName));
     }
 
     /**
diff --git a/src/main/java/org/apache/commons/io/IOCase.java b/src/main/java/org/apache/commons/io/IOCase.java
index 6e93fd07..4893ec16 100644
--- a/src/main/java/org/apache/commons/io/IOCase.java
+++ b/src/main/java/org/apache/commons/io/IOCase.java
@@ -17,6 +17,7 @@
 package org.apache.commons.io;
 
 import java.util.Objects;
+import java.util.stream.Stream;
 
 /**
  * Enumeration of IO case sensitivity.
@@ -75,12 +76,8 @@ public enum IOCase {
      * @throws IllegalArgumentException if the name is invalid
      */
     public static IOCase forName(final String name) {
-        for (final IOCase ioCase : IOCase.values()) {
-            if (ioCase.getName().equals(name)) {
-                return ioCase;
-            }
-        }
-        throw new IllegalArgumentException("Invalid IOCase name: " + name);
+        return Stream.of(IOCase.values()).filter(ioCase -> ioCase.getName().equals(name)).findFirst()
+                .orElseThrow(() -> new IllegalArgumentException("Invalid IOCase name: " + name));
     }
 
     /**
diff --git a/src/main/java/org/apache/commons/io/comparator/CompositeFileComparator.java b/src/main/java/org/apache/commons/io/comparator/CompositeFileComparator.java
index 0c798317..5ca90e61 100644
--- a/src/main/java/org/apache/commons/io/comparator/CompositeFileComparator.java
+++ b/src/main/java/org/apache/commons/io/comparator/CompositeFileComparator.java
@@ -18,9 +18,8 @@ package org.apache.commons.io.comparator;
 
 import java.io.File;
 import java.io.Serializable;
-import java.util.ArrayList;
 import java.util.Comparator;
-import java.util.List;
+import java.util.stream.StreamSupport;
 
 /**
  * Compare two files using a set of delegate file {@link Comparator}.
@@ -56,9 +55,9 @@ public class CompositeFileComparator extends AbstractFileComparator implements S
     @SuppressWarnings("unchecked") // casts 1 & 2 must be OK because types are already correct
     public CompositeFileComparator(final Comparator<File>... delegates) {
         if (delegates == null) {
-            this.delegates = (Comparator<File>[]) EMPTY_COMPARATOR_ARRAY;//1
+            this.delegates = (Comparator<File>[]) EMPTY_COMPARATOR_ARRAY; //1
         } else {
-            this.delegates = delegates.clone();//2
+            this.delegates = delegates.clone(); //2
         }
     }
 
@@ -72,11 +71,7 @@ public class CompositeFileComparator extends AbstractFileComparator implements S
         if (delegates == null) {
             this.delegates = (Comparator<File>[]) EMPTY_COMPARATOR_ARRAY; //1
         } else {
-            final List<Comparator<File>> list = new ArrayList<>();
-            for (final Comparator<File> comparator : delegates) {
-                list.add(comparator);
-            }
-            this.delegates = (Comparator<File>[]) list.toArray(EMPTY_COMPARATOR_ARRAY); //2
+            this.delegates = StreamSupport.stream(delegates.spliterator(), false).toArray(Comparator[]::new);
         }
     }
 
diff --git a/src/main/java/org/apache/commons/io/file/spi/FileSystemProviders.java b/src/main/java/org/apache/commons/io/file/spi/FileSystemProviders.java
index c87ac057..93926662 100644
--- a/src/main/java/org/apache/commons/io/file/spi/FileSystemProviders.java
+++ b/src/main/java/org/apache/commons/io/file/spi/FileSystemProviders.java
@@ -22,6 +22,7 @@ import java.net.URL;
 import java.nio.file.FileSystems;
 import java.nio.file.Path;
 import java.nio.file.spi.FileSystemProvider;
+import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
 
@@ -61,7 +62,7 @@ public class FileSystemProviders {
      * Might make public later.
      */
     private FileSystemProviders(final List<FileSystemProvider> providers) {
-        this.providers = providers;
+        this.providers = providers != null ? providers : Collections.emptyList();
     }
 
     /**
@@ -78,14 +79,7 @@ public class FileSystemProviders {
             return FileSystems.getDefault().provider();
         }
         // Find provider.
-        if (providers != null) {
-            for (final FileSystemProvider provider : providers) {
-                if (provider.getScheme().equalsIgnoreCase(scheme)) {
-                    return provider;
-                }
-            }
-        }
-        return null;
+        return providers.stream().filter(provider -> provider.getScheme().equalsIgnoreCase(scheme)).findFirst().orElse(null);
     }
 
     /**
diff --git a/src/main/java/org/apache/commons/io/filefilter/AndFileFilter.java b/src/main/java/org/apache/commons/io/filefilter/AndFileFilter.java
index 163c9940..6afb3fc9 100644
--- a/src/main/java/org/apache/commons/io/filefilter/AndFileFilter.java
+++ b/src/main/java/org/apache/commons/io/filefilter/AndFileFilter.java
@@ -112,15 +112,7 @@ public class AndFileFilter
      */
     @Override
     public boolean accept(final File file) {
-        if (isEmpty()) {
-            return false;
-        }
-        for (final IOFileFilter fileFilter : fileFilters) {
-            if (!fileFilter.accept(file)) {
-                return false;
-            }
-        }
-        return true;
+        return !isEmpty() && fileFilters.stream().allMatch(fileFilter -> fileFilter.accept(file));
     }
 
     /**
@@ -128,15 +120,7 @@ public class AndFileFilter
      */
     @Override
     public boolean accept(final File file, final String name) {
-        if (isEmpty()) {
-            return false;
-        }
-        for (final IOFileFilter fileFilter : fileFilters) {
-            if (!fileFilter.accept(file, name)) {
-                return false;
-            }
-        }
-        return true;
+        return !isEmpty() && fileFilters.stream().allMatch(fileFilter -> fileFilter.accept(file, name));
     }
 
     /**
@@ -145,15 +129,8 @@ public class AndFileFilter
      */
     @Override
     public FileVisitResult accept(final Path file, final BasicFileAttributes attributes) {
-        if (isEmpty()) {
-            return FileVisitResult.TERMINATE;
-        }
-        for (final IOFileFilter fileFilter : fileFilters) {
-            if (fileFilter.accept(file, attributes) != FileVisitResult.CONTINUE) {
-                return FileVisitResult.TERMINATE;
-            }
-        }
-        return FileVisitResult.CONTINUE;
+        return isEmpty() ? FileVisitResult.TERMINATE
+                : toDefaultFileVisitResult(fileFilters.stream().allMatch(fileFilter -> fileFilter.accept(file, attributes) == FileVisitResult.CONTINUE));
     }
 
     /**
diff --git a/src/main/java/org/apache/commons/io/filefilter/NameFileFilter.java b/src/main/java/org/apache/commons/io/filefilter/NameFileFilter.java
index d301a81d..b916fae6 100644
--- a/src/main/java/org/apache/commons/io/filefilter/NameFileFilter.java
+++ b/src/main/java/org/apache/commons/io/filefilter/NameFileFilter.java
@@ -23,6 +23,7 @@ import java.nio.file.Path;
 import java.nio.file.attribute.BasicFileAttributes;
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Stream;
 
 import org.apache.commons.io.IOCase;
 
@@ -185,12 +186,7 @@ public class NameFileFilter extends AbstractFileFilter implements Serializable {
     }
 
     private boolean acceptBaseName(final String baseName) {
-        for (final String testName : names) {
-            if (ioCase.checkEquals(baseName, testName)) {
-                return true;
-            }
-        }
-        return false;
+        return Stream.of(names).anyMatch(testName -> ioCase.checkEquals(baseName, testName));
     }
 
     private IOCase toIOCase(final IOCase ioCase) {
diff --git a/src/main/java/org/apache/commons/io/filefilter/OrFileFilter.java b/src/main/java/org/apache/commons/io/filefilter/OrFileFilter.java
index 1c612542..18016ed5 100644
--- a/src/main/java/org/apache/commons/io/filefilter/OrFileFilter.java
+++ b/src/main/java/org/apache/commons/io/filefilter/OrFileFilter.java
@@ -107,12 +107,7 @@ public class OrFileFilter extends AbstractFileFilter implements ConditionalFileF
      */
     @Override
     public boolean accept(final File file) {
-        for (final IOFileFilter fileFilter : fileFilters) {
-            if (fileFilter.accept(file)) {
-                return true;
-            }
-        }
-        return false;
+        return fileFilters.stream().anyMatch(fileFilter -> fileFilter.accept(file));
     }
 
     /**
@@ -120,12 +115,7 @@ public class OrFileFilter extends AbstractFileFilter implements ConditionalFileF
      */
     @Override
     public boolean accept(final File file, final String name) {
-        for (final IOFileFilter fileFilter : fileFilters) {
-            if (fileFilter.accept(file, name)) {
-                return true;
-            }
-        }
-        return false;
+        return fileFilters.stream().anyMatch(fileFilter -> fileFilter.accept(file, name));
     }
 
     /**
@@ -133,12 +123,7 @@ public class OrFileFilter extends AbstractFileFilter implements ConditionalFileF
      */
     @Override
     public FileVisitResult accept(final Path file, final BasicFileAttributes attributes) {
-        for (final IOFileFilter fileFilter : fileFilters) {
-            if (fileFilter.accept(file, attributes) == FileVisitResult.CONTINUE) {
-                return FileVisitResult.CONTINUE;
-            }
-        }
-        return FileVisitResult.TERMINATE;
+        return toDefaultFileVisitResult(fileFilters.stream().anyMatch(fileFilter -> fileFilter.accept(file, attributes) == FileVisitResult.CONTINUE));
     }
 
     /**
diff --git a/src/main/java/org/apache/commons/io/filefilter/PrefixFileFilter.java b/src/main/java/org/apache/commons/io/filefilter/PrefixFileFilter.java
index 852e82bb..f573ad9f 100644
--- a/src/main/java/org/apache/commons/io/filefilter/PrefixFileFilter.java
+++ b/src/main/java/org/apache/commons/io/filefilter/PrefixFileFilter.java
@@ -23,6 +23,7 @@ import java.nio.file.Path;
 import java.nio.file.attribute.BasicFileAttributes;
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Stream;
 
 import org.apache.commons.io.IOCase;
 
@@ -191,12 +192,7 @@ public class PrefixFileFilter extends AbstractFileFilter implements Serializable
     }
 
     private boolean accept(final String name) {
-        for (final String prefix : prefixes) {
-            if (isCase.checkStartsWith(name, prefix)) {
-                return true;
-            }
-        }
-        return false;
+        return Stream.of(prefixes).anyMatch(prefix -> isCase.checkStartsWith(name, prefix));
     }
 
     /**
diff --git a/src/main/java/org/apache/commons/io/filefilter/SuffixFileFilter.java b/src/main/java/org/apache/commons/io/filefilter/SuffixFileFilter.java
index 7c417539..92532273 100644
--- a/src/main/java/org/apache/commons/io/filefilter/SuffixFileFilter.java
+++ b/src/main/java/org/apache/commons/io/filefilter/SuffixFileFilter.java
@@ -23,6 +23,7 @@ import java.nio.file.Path;
 import java.nio.file.attribute.BasicFileAttributes;
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Stream;
 
 import org.apache.commons.io.IOCase;
 
@@ -191,12 +192,7 @@ public class SuffixFileFilter extends AbstractFileFilter implements Serializable
     }
 
     private boolean accept(final String name) {
-        for (final String suffix : this.suffixes) {
-            if (ioCase.checkEndsWith(name, suffix)) {
-                return true;
-            }
-        }
-        return false;
+        return Stream.of(suffixes).anyMatch(suffix -> ioCase.checkEndsWith(name, suffix));
     }
 
     /**
diff --git a/src/main/java/org/apache/commons/io/filefilter/WildcardFileFilter.java b/src/main/java/org/apache/commons/io/filefilter/WildcardFileFilter.java
index aa7c0daf..af54b094 100644
--- a/src/main/java/org/apache/commons/io/filefilter/WildcardFileFilter.java
+++ b/src/main/java/org/apache/commons/io/filefilter/WildcardFileFilter.java
@@ -23,6 +23,7 @@ import java.nio.file.Path;
 import java.nio.file.attribute.BasicFileAttributes;
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Stream;
 
 import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.io.IOCase;
@@ -191,12 +192,7 @@ public class WildcardFileFilter extends AbstractFileFilter implements Serializab
     }
 
     private boolean accept(final String name) {
-        for (final String wildcard : wildcards) {
-            if (FilenameUtils.wildcardMatch(name, wildcard, ioCase)) {
-                return true;
-            }
-        }
-        return false;
+        return Stream.of(wildcards).anyMatch(wildcard -> FilenameUtils.wildcardMatch(name, wildcard, ioCase));
     }
 
     /**
diff --git a/src/main/java/org/apache/commons/io/filefilter/WildcardFilter.java b/src/main/java/org/apache/commons/io/filefilter/WildcardFilter.java
index 47f45c74..3b9eae89 100644
--- a/src/main/java/org/apache/commons/io/filefilter/WildcardFilter.java
+++ b/src/main/java/org/apache/commons/io/filefilter/WildcardFilter.java
@@ -24,6 +24,7 @@ import java.nio.file.Path;
 import java.nio.file.attribute.BasicFileAttributes;
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Stream;
 
 import org.apache.commons.io.FilenameUtils;
 
@@ -129,14 +130,7 @@ public class WildcardFilter extends AbstractFileFilter implements Serializable {
         if (file.isDirectory()) {
             return false;
         }
-
-        for (final String wildcard : wildcards) {
-            if (FilenameUtils.wildcardMatch(file.getName(), wildcard)) {
-                return true;
-            }
-        }
-
-        return false;
+        return Stream.of(wildcards).anyMatch(wildcard -> FilenameUtils.wildcardMatch(file.getName(), wildcard));
     }
 
     /**
@@ -151,14 +145,7 @@ public class WildcardFilter extends AbstractFileFilter implements Serializable {
         if (dir != null && new File(dir, name).isDirectory()) {
             return false;
         }
-
-        for (final String wildcard : wildcards) {
-            if (FilenameUtils.wildcardMatch(name, wildcard)) {
-                return true;
-            }
-        }
-
-        return false;
+        return Stream.of(wildcards).anyMatch(wildcard -> FilenameUtils.wildcardMatch(name, wildcard));
     }
 
     /**
@@ -173,14 +160,9 @@ public class WildcardFilter extends AbstractFileFilter implements Serializable {
         if (Files.isDirectory(file)) {
             return FileVisitResult.TERMINATE;
         }
+        return toDefaultFileVisitResult(
+                Stream.of(wildcards).anyMatch(wildcard -> FilenameUtils.wildcardMatch(Objects.toString(file.getFileName(), null), wildcard)));
 
-        for (final String wildcard : wildcards) {
-            if (FilenameUtils.wildcardMatch(Objects.toString(file.getFileName(), null), wildcard)) {
-                return FileVisitResult.CONTINUE;
-            }
-        }
-
-        return FileVisitResult.TERMINATE;
     }
 
 }
diff --git a/src/main/java/org/apache/commons/io/input/ObservableInputStream.java b/src/main/java/org/apache/commons/io/input/ObservableInputStream.java
index e1b3b631..d83ce9c0 100644
--- a/src/main/java/org/apache/commons/io/input/ObservableInputStream.java
+++ b/src/main/java/org/apache/commons/io/input/ObservableInputStream.java
@@ -23,8 +23,10 @@ import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Objects;
 
 import org.apache.commons.io.IOUtils;
+import org.apache.commons.io.function.IOConsumer;
 
 /**
  * The {@link ObservableInputStream} allows, that an InputStream may be consumed by other receivers, apart from the
@@ -172,6 +174,13 @@ public class ObservableInputStream extends ProxyInputStream {
         IOUtils.consume(this);
     }
 
+    private void forEachObserver(final IOConsumer<Observer> action) throws IOException {
+        Objects.requireNonNull(action);
+        for (final Observer t : observers) {
+            action.accept(t);
+        }
+    }
+
     /**
      * Gets all currently registered observers.
      *
@@ -188,9 +197,7 @@ public class ObservableInputStream extends ProxyInputStream {
      * @throws IOException Some observer has thrown an exception, which is being passed down.
      */
     protected void noteClosed() throws IOException {
-        for (final Observer observer : getObservers()) {
-            observer.closed();
-        }
+        forEachObserver(Observer::closed);
     }
 
     /**
@@ -200,9 +207,7 @@ public class ObservableInputStream extends ProxyInputStream {
      * @throws IOException Some observer has thrown an exception, which is being passed down.
      */
     protected void noteDataByte(final int value) throws IOException {
-        for (final Observer observer : getObservers()) {
-            observer.data(value);
-        }
+        forEachObserver(observer -> observer.data(value));
     }
 
     /**
@@ -214,9 +219,7 @@ public class ObservableInputStream extends ProxyInputStream {
      * @throws IOException Some observer has thrown an exception, which is being passed down.
      */
     protected void noteDataBytes(final byte[] buffer, final int offset, final int length) throws IOException {
-        for (final Observer observer : getObservers()) {
-            observer.data(buffer, offset, length);
-        }
+        forEachObserver(observer -> observer.data(buffer, offset, length));
     }
 
     /**
@@ -227,9 +230,7 @@ public class ObservableInputStream extends ProxyInputStream {
      *         exception, which has been passed as an argument.
      */
     protected void noteError(final IOException exception) throws IOException {
-        for (final Observer observer : getObservers()) {
-            observer.error(exception);
-        }
+        forEachObserver(observer -> observer.error(exception));
     }
 
     /**
@@ -238,9 +239,7 @@ public class ObservableInputStream extends ProxyInputStream {
      * @throws IOException Some observer has thrown an exception, which is being passed down.
      */
     protected void noteFinished() throws IOException {
-        for (final Observer observer : getObservers()) {
-            observer.finished();
-        }
+        forEachObserver(Observer::finished);
     }
 
     private void notify(final byte[] buffer, final int offset, final int result, final IOException ioe) throws IOException {
diff --git a/src/main/java/org/apache/commons/io/monitor/FileAlterationMonitor.java b/src/main/java/org/apache/commons/io/monitor/FileAlterationMonitor.java
index 9a4b81b0..4384b3b6 100644
--- a/src/main/java/org/apache/commons/io/monitor/FileAlterationMonitor.java
+++ b/src/main/java/org/apache/commons/io/monitor/FileAlterationMonitor.java
@@ -139,9 +139,7 @@ public final class FileAlterationMonitor implements Runnable {
     @Override
     public void run() {
         while (running) {
-            for (final FileAlterationObserver observer : observers) {
-                observer.checkAndNotify();
-            }
+            observers.forEach(FileAlterationObserver::checkAndNotify);
             if (!running) {
                 break;
             }
diff --git a/src/test/java/org/apache/commons/io/DemuxTest.java b/src/test/java/org/apache/commons/io/DemuxTest.java
index a9da9b09..dfad2830 100644
--- a/src/test/java/org/apache/commons/io/DemuxTest.java
+++ b/src/test/java/org/apache/commons/io/DemuxTest.java
@@ -120,8 +120,7 @@ public class DemuxTest {
 
     private final HashMap<String, Thread> threadMap = new HashMap<>();
 
-    private void doJoin()
-            throws Exception {
+    private void doJoin() throws InterruptedException {
         for (final String name : threadMap.keySet()) {
             final Thread thread = threadMap.get(name);
             thread.join();
@@ -129,10 +128,7 @@ public class DemuxTest {
     }
 
     private void doStart() {
-        for (final String name : threadMap.keySet()) {
-            final Thread thread = threadMap.get(name);
-            thread.start();
-        }
+        threadMap.keySet().forEach(name -> threadMap.get(name).start());
     }
 
     private String getInput(final String threadName) {
diff --git a/src/test/java/org/apache/commons/io/FileUtilsListFilesTest.java b/src/test/java/org/apache/commons/io/FileUtilsListFilesTest.java
index f13ff7c4..9603d73e 100644
--- a/src/test/java/org/apache/commons/io/FileUtilsListFilesTest.java
+++ b/src/test/java/org/apache/commons/io/FileUtilsListFilesTest.java
@@ -20,10 +20,12 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
+
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Iterator;
+import java.util.stream.Collectors;
 
 import org.apache.commons.io.filefilter.FileFilterUtils;
 import org.apache.commons.io.filefilter.IOFileFilter;
@@ -40,19 +42,13 @@ public class FileUtilsListFilesTest {
     public File temporaryFolder;
 
     private Collection<String> filesToFilenames(final Collection<File> files) {
-        final Collection<String> filenames = new ArrayList<>(files.size());
-        for (final File file : files) {
-            filenames.add(file.getName());
-        }
-        return filenames;
+        return files.stream().map(File::getName).collect(Collectors.toList());
     }
 
     private Collection<String> filesToFilenames(final Iterator<File> files) {
-        final Collection<String> filenames = new ArrayList<>();
-        while (files.hasNext()) {
-            filenames.add(files.next().getName());
-        }
-        return filenames;
+        final Collection<String> fileNames = new ArrayList<>();
+        files.forEachRemaining(f -> fileNames.add(f.getName()));
+        return fileNames;
     }
 
     @SuppressWarnings("ResultOfMethodCallIgnored")
diff --git a/src/test/java/org/apache/commons/io/file/DirectoryStreamFilterTest.java b/src/test/java/org/apache/commons/io/file/DirectoryStreamFilterTest.java
index 6d5bb3e9..60e5442b 100644
--- a/src/test/java/org/apache/commons/io/file/DirectoryStreamFilterTest.java
+++ b/src/test/java/org/apache/commons/io/file/DirectoryStreamFilterTest.java
@@ -55,9 +55,7 @@ public class DirectoryStreamFilterTest {
         final DirectoryStreamFilter streamFilter = new DirectoryStreamFilter(pathFilter);
         assertEquals(pathFilter, streamFilter.getPathFilter());
         try (DirectoryStream<Path> stream = Files.newDirectoryStream(PathUtils.current(), streamFilter)) {
-            for (final Path path : stream) {
-                assertNotEquals(PATH_FIXTURE, path.getFileName().toString());
-            }
+            stream.forEach(path -> assertNotEquals(PATH_FIXTURE, path.getFileName().toString()));
         }
     }
 
diff --git a/src/test/java/org/apache/commons/io/file/spi/FileSystemProvidersTest.java b/src/test/java/org/apache/commons/io/file/spi/FileSystemProvidersTest.java
index ee9fb081..8dc34ec3 100644
--- a/src/test/java/org/apache/commons/io/file/spi/FileSystemProvidersTest.java
+++ b/src/test/java/org/apache/commons/io/file/spi/FileSystemProvidersTest.java
@@ -26,7 +26,6 @@ import java.net.URISyntaxException;
 import java.net.URL;
 import java.nio.file.Paths;
 import java.nio.file.spi.FileSystemProvider;
-import java.util.List;
 
 import org.junit.jupiter.api.Test;
 
@@ -36,8 +35,7 @@ public class FileSystemProvidersTest {
 
     @Test
     public void testGetFileSystemProvider_all() throws URISyntaxException {
-        final List<FileSystemProvider> installedProviders = FileSystemProvider.installedProviders();
-        for (final FileSystemProvider fileSystemProvider : installedProviders) {
+        for (final FileSystemProvider fileSystemProvider : FileSystemProvider.installedProviders()) {
             final String scheme = fileSystemProvider.getScheme();
             final URI uri = new URI(scheme, "ssp", "fragment");
             assertEquals(scheme, FileSystemProviders.installed().getFileSystemProvider(uri).getScheme());
diff --git a/src/test/java/org/apache/commons/io/filefilter/AgeFileFilterTest.java b/src/test/java/org/apache/commons/io/filefilter/AgeFileFilterTest.java
index f660e71a..c0ea7941 100644
--- a/src/test/java/org/apache/commons/io/filefilter/AgeFileFilterTest.java
+++ b/src/test/java/org/apache/commons/io/filefilter/AgeFileFilterTest.java
@@ -49,9 +49,6 @@ public class AgeFileFilterTest {
         // We are interested in files older than one day
         final long cutoffMillis = System.currentTimeMillis();
         final String[] files = dir.list(new AgeFileFilter(cutoffMillis));
-        for (final String file : files) {
-            // System.out.println(files[i]);
-        }
         // End of Javadoc example
         assertTrue(files.length > 0);
     }
diff --git a/src/test/java/org/apache/commons/io/filefilter/AndFileFilterTest.java b/src/test/java/org/apache/commons/io/filefilter/AndFileFilterTest.java
index caf4090b..28886bdf 100644
--- a/src/test/java/org/apache/commons/io/filefilter/AndFileFilterTest.java
+++ b/src/test/java/org/apache/commons/io/filefilter/AndFileFilterTest.java
@@ -42,9 +42,7 @@ public class AndFileFilterTest extends ConditionalFileFilterAbstractTest {
   @Override
   protected IOFileFilter buildFilterUsingAdd(final List<IOFileFilter> filters) {
     final AndFileFilter filter = new AndFileFilter();
-    for (final IOFileFilter filter1 : filters) {
-      filter.addFileFilter(filter1);
-    }
+    filters.forEach(filter::addFileFilter);
     return filter;
   }
 
diff --git a/src/test/java/org/apache/commons/io/filefilter/ConditionalFileFilterAbstractTest.java b/src/test/java/org/apache/commons/io/filefilter/ConditionalFileFilterAbstractTest.java
index acbc56dd..daffdb40 100644
--- a/src/test/java/org/apache/commons/io/filefilter/ConditionalFileFilterAbstractTest.java
+++ b/src/test/java/org/apache/commons/io/filefilter/ConditionalFileFilterAbstractTest.java
@@ -85,9 +85,9 @@ public abstract class ConditionalFileFilterAbstractTest extends IOFileFilterAbst
             fileFilter.addFileFilter(filters.get(i));
             assertEquals(i + 1, fileFilter.getFileFilters().size(), "file filters count: ");
         }
-        for (final IOFileFilter filter : fileFilter.getFileFilters()) {
+        fileFilter.getFileFilters().forEach(filter -> {
             assertTrue(filters.contains(filter), "found file filter");
-        }
+        });
         assertEquals(filters.size(), fileFilter.getFileFilters().size(), "file filters count");
     }
 
@@ -175,10 +175,10 @@ public abstract class ConditionalFileFilterAbstractTest extends IOFileFilterAbst
         filters.add(new TesterTrueFileFilter());
         filters.add(new TesterTrueFileFilter());
         filters.add(new TesterTrueFileFilter());
-        for (final TesterTrueFileFilter filter : filters) {
+        filters.forEach(filter -> {
             fileFilter.removeFileFilter(filter);
             assertFalse(fileFilter.getFileFilters().contains(filter), "file filter removed");
-        }
+        });
         assertEquals(0, fileFilter.getFileFilters().size(), "file filters count");
     }
 }
diff --git a/src/test/java/org/apache/commons/io/filefilter/DirectoryFileFilterTest.java b/src/test/java/org/apache/commons/io/filefilter/DirectoryFileFilterTest.java
index 22958a8a..eae17962 100644
--- a/src/test/java/org/apache/commons/io/filefilter/DirectoryFileFilterTest.java
+++ b/src/test/java/org/apache/commons/io/filefilter/DirectoryFileFilterTest.java
@@ -48,9 +48,6 @@ public class DirectoryFileFilterTest {
     public void testJavadocExampleUsingIo() {
         final File dir = FileUtils.current();
         final String[] files = dir.list(DirectoryFileFilter.INSTANCE);
-        for (final String file : files) {
-            // System.out.println(files[i]);
-        }
         // End of Javadoc example
         assertTrue(files.length > 0);
     }
diff --git a/src/test/java/org/apache/commons/io/filefilter/IOFileFilterAbstractTest.java b/src/test/java/org/apache/commons/io/filefilter/IOFileFilterAbstractTest.java
index face2f4f..b4ec8f4d 100644
--- a/src/test/java/org/apache/commons/io/filefilter/IOFileFilterAbstractTest.java
+++ b/src/test/java/org/apache/commons/io/filefilter/IOFileFilterAbstractTest.java
@@ -19,6 +19,8 @@ package org.apache.commons.io.filefilter;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.io.File;
+import java.util.Objects;
+import java.util.stream.Stream;
 
 public abstract class IOFileFilterAbstractTest {
 
@@ -129,18 +131,10 @@ public abstract class IOFileFilterAbstractTest {
     }
 
     public static void resetFalseFilters(final TesterFalseFileFilter[] filters) {
-        for (final TesterFalseFileFilter filter : filters) {
-            if (filter != null) {
-                filter.reset();
-            }
-        }
+        Stream.of(filters).filter(Objects::nonNull).forEach(TesterFalseFileFilter::reset);
     }
 
     public static void resetTrueFilters(final TesterTrueFileFilter[] filters) {
-        for (final TesterTrueFileFilter filter : filters) {
-            if (filter != null) {
-                filter.reset();
-            }
-        }
+        Stream.of(filters).filter(Objects::nonNull).forEach(TesterTrueFileFilter::reset);
     }
 }
diff --git a/src/test/java/org/apache/commons/io/filefilter/NameFileFilterTest.java b/src/test/java/org/apache/commons/io/filefilter/NameFileFilterTest.java
index 09162b1d..cca9c678 100644
--- a/src/test/java/org/apache/commons/io/filefilter/NameFileFilterTest.java
+++ b/src/test/java/org/apache/commons/io/filefilter/NameFileFilterTest.java
@@ -48,9 +48,6 @@ public class NameFileFilterTest {
     public void testJavadocExampleUsingIo() {
         final File dir = FileUtils.current();
         final String[] files = dir.list(new NameFileFilter("NOTICE.txt"));
-        for (final String file : files) {
-            // System.out.println(file);
-        }
         // End of Javadoc example
         assertEquals(1, files.length);
     }
diff --git a/src/test/java/org/apache/commons/io/filefilter/OrFileFilterTest.java b/src/test/java/org/apache/commons/io/filefilter/OrFileFilterTest.java
index 719e4352..932bca08 100644
--- a/src/test/java/org/apache/commons/io/filefilter/OrFileFilterTest.java
+++ b/src/test/java/org/apache/commons/io/filefilter/OrFileFilterTest.java
@@ -38,9 +38,7 @@ public class OrFileFilterTest extends ConditionalFileFilterAbstractTest {
   @Override
   protected IOFileFilter buildFilterUsingAdd(final List<IOFileFilter> filters) {
     final OrFileFilter filter = new OrFileFilter();
-    for (final IOFileFilter filter1 : filters) {
-      filter.addFileFilter(filter1);
-    }
+    filters.forEach(filter::addFileFilter);
     return filter;
   }
 
diff --git a/src/test/java/org/apache/commons/io/monitor/FileAlterationMonitorTest.java b/src/test/java/org/apache/commons/io/monitor/FileAlterationMonitorTest.java
index 8972595c..b7bc3e28 100644
--- a/src/test/java/org/apache/commons/io/monitor/FileAlterationMonitorTest.java
+++ b/src/test/java/org/apache/commons/io/monitor/FileAlterationMonitorTest.java
@@ -195,9 +195,7 @@ public class FileAlterationMonitorTest extends AbstractMonitorTest {
         Thread.sleep(10); // wait until the watcher thread enters Thread.sleep()
         monitor.stop(100);
 
-        for (final Thread thread : createdThreads) {
-            assertFalse(thread.isAlive(), "The FileAlterationMonitor did not stop the threads it created.");
-        }
+        createdThreads.forEach(thread -> assertFalse(thread.isAlive(), "The FileAlterationMonitor did not stop the threads it created."));
     }
 
     /**


[commons-io] 01/02: Javadoc

Posted by gg...@apache.org.
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

commit 6327a1ca621637a72638f4a42258f984470aeecc
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Fri Jul 15 11:31:18 2022 -0400

    Javadoc
---
 .../java/org/apache/commons/io/monitor/FileAlterationListener.java    | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/apache/commons/io/monitor/FileAlterationListener.java b/src/main/java/org/apache/commons/io/monitor/FileAlterationListener.java
index fd3f40a0..07f2311c 100644
--- a/src/main/java/org/apache/commons/io/monitor/FileAlterationListener.java
+++ b/src/main/java/org/apache/commons/io/monitor/FileAlterationListener.java
@@ -18,12 +18,12 @@ package org.apache.commons.io.monitor;
 import java.io.File;
 
 /**
- * A listener that receives events of file system modifications.
+ * Receives events of file system modifications.
  * <p>
  * Register {@link FileAlterationListener}s with a {@link FileAlterationObserver}.
+ * </p>
  *
  * @see FileAlterationObserver
- *
  * @since 2.0
  */
 public interface FileAlterationListener {