Skip to content

Commit 67d9803

Browse files
committed
Use forEach()
1 parent 6327a1c commit 67d9803

26 files changed

Lines changed: 68 additions & 197 deletions

src/main/java/org/apache/commons/io/FileUtils.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -692,8 +692,7 @@ public static void copyDirectory(final File srcDir, final File destDir, final Fi
692692
if (srcFiles.length > 0) {
693693
exclusionList = new ArrayList<>(srcFiles.length);
694694
for (final File srcFile : srcFiles) {
695-
final File copiedFile = new File(destDir, srcFile.getName());
696-
exclusionList.add(copiedFile.getCanonicalPath());
695+
exclusionList.add(new File(destDir, srcFile.getName()).getCanonicalPath());
697696
}
698697
}
699698
}

src/main/java/org/apache/commons/io/FilenameUtils.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1005,13 +1005,7 @@ public static boolean isExtension(final String fileName, final Collection<String
10051005
if (extensions == null || extensions.isEmpty()) {
10061006
return indexOfExtension(fileName) == NOT_FOUND;
10071007
}
1008-
final String fileExt = getExtension(fileName);
1009-
for (final String extension : extensions) {
1010-
if (fileExt.equals(extension)) {
1011-
return true;
1012-
}
1013-
}
1014-
return false;
1008+
return extensions.contains(getExtension(fileName));
10151009
}
10161010

10171011
/**

src/main/java/org/apache/commons/io/IOCase.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.apache.commons.io;
1818

1919
import java.util.Objects;
20+
import java.util.stream.Stream;
2021

2122
/**
2223
* Enumeration of IO case sensitivity.
@@ -75,12 +76,8 @@ public enum IOCase {
7576
* @throws IllegalArgumentException if the name is invalid
7677
*/
7778
public static IOCase forName(final String name) {
78-
for (final IOCase ioCase : IOCase.values()) {
79-
if (ioCase.getName().equals(name)) {
80-
return ioCase;
81-
}
82-
}
83-
throw new IllegalArgumentException("Invalid IOCase name: " + name);
79+
return Stream.of(IOCase.values()).filter(ioCase -> ioCase.getName().equals(name)).findFirst()
80+
.orElseThrow(() -> new IllegalArgumentException("Invalid IOCase name: " + name));
8481
}
8582

8683
/**

src/main/java/org/apache/commons/io/comparator/CompositeFileComparator.java

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,8 @@
1818

1919
import java.io.File;
2020
import java.io.Serializable;
21-
import java.util.ArrayList;
2221
import java.util.Comparator;
23-
import java.util.List;
22+
import java.util.stream.StreamSupport;
2423

2524
/**
2625
* Compare two files using a set of delegate file {@link Comparator}.
@@ -56,9 +55,9 @@ public class CompositeFileComparator extends AbstractFileComparator implements S
5655
@SuppressWarnings("unchecked") // casts 1 & 2 must be OK because types are already correct
5756
public CompositeFileComparator(final Comparator<File>... delegates) {
5857
if (delegates == null) {
59-
this.delegates = (Comparator<File>[]) EMPTY_COMPARATOR_ARRAY;//1
58+
this.delegates = (Comparator<File>[]) EMPTY_COMPARATOR_ARRAY; //1
6059
} else {
61-
this.delegates = delegates.clone();//2
60+
this.delegates = delegates.clone(); //2
6261
}
6362
}
6463

@@ -72,11 +71,7 @@ public CompositeFileComparator(final Iterable<Comparator<File>> delegates) {
7271
if (delegates == null) {
7372
this.delegates = (Comparator<File>[]) EMPTY_COMPARATOR_ARRAY; //1
7473
} else {
75-
final List<Comparator<File>> list = new ArrayList<>();
76-
for (final Comparator<File> comparator : delegates) {
77-
list.add(comparator);
78-
}
79-
this.delegates = (Comparator<File>[]) list.toArray(EMPTY_COMPARATOR_ARRAY); //2
74+
this.delegates = StreamSupport.stream(delegates.spliterator(), false).toArray(Comparator[]::new);
8075
}
8176
}
8277

src/main/java/org/apache/commons/io/file/spi/FileSystemProviders.java

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import java.nio.file.FileSystems;
2323
import java.nio.file.Path;
2424
import java.nio.file.spi.FileSystemProvider;
25+
import java.util.Collections;
2526
import java.util.List;
2627
import java.util.Objects;
2728

@@ -61,7 +62,7 @@ public static FileSystemProviders installed() {
6162
* Might make public later.
6263
*/
6364
private FileSystemProviders(final List<FileSystemProvider> providers) {
64-
this.providers = providers;
65+
this.providers = providers != null ? providers : Collections.emptyList();
6566
}
6667

6768
/**
@@ -78,14 +79,7 @@ public FileSystemProvider getFileSystemProvider(final String scheme) {
7879
return FileSystems.getDefault().provider();
7980
}
8081
// Find provider.
81-
if (providers != null) {
82-
for (final FileSystemProvider provider : providers) {
83-
if (provider.getScheme().equalsIgnoreCase(scheme)) {
84-
return provider;
85-
}
86-
}
87-
}
88-
return null;
82+
return providers.stream().filter(provider -> provider.getScheme().equalsIgnoreCase(scheme)).findFirst().orElse(null);
8983
}
9084

9185
/**

src/main/java/org/apache/commons/io/filefilter/AndFileFilter.java

Lines changed: 4 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -112,31 +112,15 @@ public AndFileFilter(final List<IOFileFilter> fileFilters) {
112112
*/
113113
@Override
114114
public boolean accept(final File file) {
115-
if (isEmpty()) {
116-
return false;
117-
}
118-
for (final IOFileFilter fileFilter : fileFilters) {
119-
if (!fileFilter.accept(file)) {
120-
return false;
121-
}
122-
}
123-
return true;
115+
return !isEmpty() && fileFilters.stream().allMatch(fileFilter -> fileFilter.accept(file));
124116
}
125117

126118
/**
127119
* {@inheritDoc}
128120
*/
129121
@Override
130122
public boolean accept(final File file, final String name) {
131-
if (isEmpty()) {
132-
return false;
133-
}
134-
for (final IOFileFilter fileFilter : fileFilters) {
135-
if (!fileFilter.accept(file, name)) {
136-
return false;
137-
}
138-
}
139-
return true;
123+
return !isEmpty() && fileFilters.stream().allMatch(fileFilter -> fileFilter.accept(file, name));
140124
}
141125

142126
/**
@@ -145,15 +129,8 @@ public boolean accept(final File file, final String name) {
145129
*/
146130
@Override
147131
public FileVisitResult accept(final Path file, final BasicFileAttributes attributes) {
148-
if (isEmpty()) {
149-
return FileVisitResult.TERMINATE;
150-
}
151-
for (final IOFileFilter fileFilter : fileFilters) {
152-
if (fileFilter.accept(file, attributes) != FileVisitResult.CONTINUE) {
153-
return FileVisitResult.TERMINATE;
154-
}
155-
}
156-
return FileVisitResult.CONTINUE;
132+
return isEmpty() ? FileVisitResult.TERMINATE
133+
: toDefaultFileVisitResult(fileFilters.stream().allMatch(fileFilter -> fileFilter.accept(file, attributes) == FileVisitResult.CONTINUE));
157134
}
158135

159136
/**

src/main/java/org/apache/commons/io/filefilter/NameFileFilter.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import java.nio.file.attribute.BasicFileAttributes;
2424
import java.util.List;
2525
import java.util.Objects;
26+
import java.util.stream.Stream;
2627

2728
import org.apache.commons.io.IOCase;
2829

@@ -185,12 +186,7 @@ public FileVisitResult accept(final Path file, final BasicFileAttributes attribu
185186
}
186187

187188
private boolean acceptBaseName(final String baseName) {
188-
for (final String testName : names) {
189-
if (ioCase.checkEquals(baseName, testName)) {
190-
return true;
191-
}
192-
}
193-
return false;
189+
return Stream.of(names).anyMatch(testName -> ioCase.checkEquals(baseName, testName));
194190
}
195191

196192
private IOCase toIOCase(final IOCase ioCase) {

src/main/java/org/apache/commons/io/filefilter/OrFileFilter.java

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -107,38 +107,23 @@ public OrFileFilter(final List<IOFileFilter> fileFilters) {
107107
*/
108108
@Override
109109
public boolean accept(final File file) {
110-
for (final IOFileFilter fileFilter : fileFilters) {
111-
if (fileFilter.accept(file)) {
112-
return true;
113-
}
114-
}
115-
return false;
110+
return fileFilters.stream().anyMatch(fileFilter -> fileFilter.accept(file));
116111
}
117112

118113
/**
119114
* {@inheritDoc}
120115
*/
121116
@Override
122117
public boolean accept(final File file, final String name) {
123-
for (final IOFileFilter fileFilter : fileFilters) {
124-
if (fileFilter.accept(file, name)) {
125-
return true;
126-
}
127-
}
128-
return false;
118+
return fileFilters.stream().anyMatch(fileFilter -> fileFilter.accept(file, name));
129119
}
130120

131121
/**
132122
* {@inheritDoc}
133123
*/
134124
@Override
135125
public FileVisitResult accept(final Path file, final BasicFileAttributes attributes) {
136-
for (final IOFileFilter fileFilter : fileFilters) {
137-
if (fileFilter.accept(file, attributes) == FileVisitResult.CONTINUE) {
138-
return FileVisitResult.CONTINUE;
139-
}
140-
}
141-
return FileVisitResult.TERMINATE;
126+
return toDefaultFileVisitResult(fileFilters.stream().anyMatch(fileFilter -> fileFilter.accept(file, attributes) == FileVisitResult.CONTINUE));
142127
}
143128

144129
/**

src/main/java/org/apache/commons/io/filefilter/PrefixFileFilter.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import java.nio.file.attribute.BasicFileAttributes;
2424
import java.util.List;
2525
import java.util.Objects;
26+
import java.util.stream.Stream;
2627

2728
import org.apache.commons.io.IOCase;
2829

@@ -191,12 +192,7 @@ public FileVisitResult accept(final Path file, final BasicFileAttributes attribu
191192
}
192193

193194
private boolean accept(final String name) {
194-
for (final String prefix : prefixes) {
195-
if (isCase.checkStartsWith(name, prefix)) {
196-
return true;
197-
}
198-
}
199-
return false;
195+
return Stream.of(prefixes).anyMatch(prefix -> isCase.checkStartsWith(name, prefix));
200196
}
201197

202198
/**

src/main/java/org/apache/commons/io/filefilter/SuffixFileFilter.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import java.nio.file.attribute.BasicFileAttributes;
2424
import java.util.List;
2525
import java.util.Objects;
26+
import java.util.stream.Stream;
2627

2728
import org.apache.commons.io.IOCase;
2829

@@ -191,12 +192,7 @@ public FileVisitResult accept(final Path file, final BasicFileAttributes attribu
191192
}
192193

193194
private boolean accept(final String name) {
194-
for (final String suffix : this.suffixes) {
195-
if (ioCase.checkEndsWith(name, suffix)) {
196-
return true;
197-
}
198-
}
199-
return false;
195+
return Stream.of(suffixes).anyMatch(suffix -> ioCase.checkEndsWith(name, suffix));
200196
}
201197

202198
/**

0 commit comments

Comments
 (0)