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 544f060 Only create wrapper set once. 544f060 is described below commit 544f060994fb05e547730243ee1157cc83b0d3e2 Author: Gary Gregory <gardgreg...@gmail.com> AuthorDate: Wed May 12 16:52:53 2021 -0400 Only create wrapper set once. --- .../commons/io/input/AbstractCharacterFilterReader.java | 2 +- .../org/apache/commons/io/input/CharacterSetFilterReader.java | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/apache/commons/io/input/AbstractCharacterFilterReader.java b/src/main/java/org/apache/commons/io/input/AbstractCharacterFilterReader.java index 02147ca..62629a9 100644 --- a/src/main/java/org/apache/commons/io/input/AbstractCharacterFilterReader.java +++ b/src/main/java/org/apache/commons/io/input/AbstractCharacterFilterReader.java @@ -28,7 +28,7 @@ import java.util.function.IntPredicate; */ public abstract class AbstractCharacterFilterReader extends FilterReader { - private static final IntPredicate SKIP_NONE = ch -> false; + protected static final IntPredicate SKIP_NONE = ch -> false; private final IntPredicate skip; diff --git a/src/main/java/org/apache/commons/io/input/CharacterSetFilterReader.java b/src/main/java/org/apache/commons/io/input/CharacterSetFilterReader.java index a7577a9..0634c32 100644 --- a/src/main/java/org/apache/commons/io/input/CharacterSetFilterReader.java +++ b/src/main/java/org/apache/commons/io/input/CharacterSetFilterReader.java @@ -21,6 +21,7 @@ import java.util.Arrays; import java.util.Collections; import java.util.HashSet; import java.util.Set; +import java.util.function.IntPredicate; /** * A filter reader that removes a given set of characters represented as {@code int} code points, handy to remove known @@ -32,6 +33,14 @@ import java.util.Set; */ public class CharacterSetFilterReader extends AbstractCharacterFilterReader { + private static IntPredicate toIntPredicate(final Set<Integer> skip) { + if (skip == null) { + return SKIP_NONE; + } + final Set<Integer> unmodifiableSet = Collections.unmodifiableSet(skip); + return c -> unmodifiableSet.contains(Integer.valueOf(c)); + } + /** * Constructs a new reader. * @@ -50,7 +59,7 @@ public class CharacterSetFilterReader extends AbstractCharacterFilterReader { * @param skip the set of characters to filter out. */ public CharacterSetFilterReader(final Reader reader, final Set<Integer> skip) { - super(reader, c -> skip == null ? null : Collections.unmodifiableSet(skip).contains(Integer.valueOf(c))); + super(reader, toIntPredicate(skip)); } }