summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/MultiFilter.kt35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/MultiFilter.kt b/src/main/java/at/hannibal2/skyhanni/utils/MultiFilter.kt
new file mode 100644
index 000000000..13968c0ae
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/utils/MultiFilter.kt
@@ -0,0 +1,35 @@
+package at.hannibal2.skyhanni.utils
+
+import com.google.gson.JsonObject
+
+class MultiFilter {
+
+ val equals = mutableListOf<String>()
+ val startsWith = mutableListOf<String>()
+ val endsWith = mutableListOf<String>()
+
+ fun load(hideNpcSell: JsonObject) {
+ equals.clear()
+ startsWith.clear()
+ endsWith.clear()
+
+ for (element in hideNpcSell["equals"].asJsonArray) {
+ equals.add(element.asString)
+ }
+ for (element in hideNpcSell["startsWith"].asJsonArray) {
+ startsWith.add(element.asString)
+ }
+ for (element in hideNpcSell["endsWith"].asJsonArray) {
+ endsWith.add(element.asString)
+ }
+ }
+
+ fun match(name: String): Boolean {
+ if (equals.contains(name)) return true
+
+ if (startsWith.any { name.startsWith(it) }) return true
+ if (endsWith.any { name.endsWith(it) }) return true
+
+ return false
+ }
+} \ No newline at end of file