diff options
Diffstat (limited to 'src/main/java/me/shedaniel/rei/client/SearchArgument.java')
| -rw-r--r-- | src/main/java/me/shedaniel/rei/client/SearchArgument.java | 32 |
1 files changed, 2 insertions, 30 deletions
diff --git a/src/main/java/me/shedaniel/rei/client/SearchArgument.java b/src/main/java/me/shedaniel/rei/client/SearchArgument.java index c71ed8913..2cf8ef415 100644 --- a/src/main/java/me/shedaniel/rei/client/SearchArgument.java +++ b/src/main/java/me/shedaniel/rei/client/SearchArgument.java @@ -5,8 +5,6 @@ package me.shedaniel.rei.client; -import com.google.common.base.CharMatcher; - import java.util.Locale; import java.util.function.Function; @@ -15,8 +13,8 @@ public class SearchArgument { public static final SearchArgument ALWAYS = new SearchArgument(ArgumentType.ALWAYS, "", true); private ArgumentType argumentType; private String text; - public final Function<String, Boolean> INCLUDE = s -> search(text, s); - public final Function<String, Boolean> NOT_INCLUDE = s -> !search(text, s); + public final Function<String, Boolean> INCLUDE = s -> s.contains(text); + public final Function<String, Boolean> NOT_INCLUDE = s -> !s.contains(text); private boolean include; public SearchArgument(ArgumentType argumentType, String text, boolean include) { @@ -29,32 +27,6 @@ public class SearchArgument { this.include = include; } - public static boolean search(CharSequence pattern, String text) { - int patternLength = pattern.length(); - if (patternLength == 0) - return true; - if (patternLength > text.length()) - return false; - if (!CharMatcher.ascii().matchesAllOf(text) || !CharMatcher.ascii().matchesAllOf(pattern)) - return text.contains(pattern); - int shift[] = new int[256]; - for(int k = 0; k < 256; k++) - shift[k] = patternLength; - for(int k = 0; k < patternLength - 1; k++) - shift[pattern.charAt(k)] = patternLength - 1 - k; - int i = 0, j = 0; - while ((i + patternLength) <= text.length()) { - j = patternLength - 1; - while (text.charAt(i + j) == pattern.charAt(j)) { - j -= 1; - if (j < 0) - return i >= 0; - } - i = i + shift[text.charAt(i + patternLength - 1)]; - } - return false; - } - public Function<String, Boolean> getFunction(boolean include) { return include ? INCLUDE : NOT_INCLUDE; } |
