forked from Minecraft/Hush
45 lines
1.2 KiB
Java
45 lines
1.2 KiB
Java
package com.zerohighdef.hush;
|
|
|
|
import java.util.List;
|
|
import java.util.regex.Pattern;
|
|
import java.util.stream.Collectors;
|
|
|
|
public class WatchList {
|
|
private final String permission;
|
|
private final String banMessage;
|
|
private final List<Pattern> banPatterns;
|
|
private final List<Pattern> monitorPatterns;
|
|
|
|
WatchList(String permission, String banMessage, List<String> banPatterns, List<String> monitorPatterns) {
|
|
this.permission = permission;
|
|
this.banMessage = banMessage;
|
|
this.banPatterns = WatchList.buildPattern(banPatterns);
|
|
this.monitorPatterns = WatchList.buildPattern(monitorPatterns);
|
|
}
|
|
|
|
private static List<Pattern> buildPattern(List<String> patternList) {
|
|
return patternList
|
|
.stream()
|
|
.map(p -> Pattern.compile(String.format("(%s)", p)))
|
|
.collect(Collectors.toList());
|
|
}
|
|
|
|
public String getPermission() {
|
|
return permission;
|
|
}
|
|
|
|
public List<Pattern> getBanPatterns() {
|
|
return banPatterns;
|
|
}
|
|
|
|
public List<Pattern> getMonitorPatterns() {
|
|
return monitorPatterns;
|
|
}
|
|
|
|
public String getBanMessage() {
|
|
return banMessage;
|
|
}
|
|
|
|
|
|
}
|