make utility methods separate classes, removing downstream boilerplate

This commit is contained in:
FalsePattern committed 2022-04-17 20:30:32 +02:00
1 parent e7468305c6
commit 320d010008
2 files changed
+28 -26

No files matched your search

@@ -21,27 +21,28 @@ public interface IMixin {
&& getFilter().test(loadedMods);
}
static Predicate<List<ITargetedMod>> never() {
return (list) -> false;
}
final class PredicateHelpers {
public static Predicate<List<ITargetedMod>> never() {
return (list) -> false;
}
static Predicate<List<ITargetedMod>> condition(Supplier<Boolean> condition) {
return (list) -> condition.get();
}
public static Predicate<List<ITargetedMod>> condition(Supplier<Boolean> condition) {
return (list) -> condition.get();
}
static Predicate<List<ITargetedMod>> always() {
return (list) -> true;
}
public static Predicate<List<ITargetedMod>> always() {
return (list) -> true;
}
static Predicate<List<ITargetedMod>> require(ITargetedMod mod) {
return (list) -> list.contains(mod);
}
public static Predicate<List<ITargetedMod>> require(ITargetedMod mod) {
return (list) -> list.contains(mod);
}
static Predicate<List<ITargetedMod>> avoid(ITargetedMod mod) {
return (list) -> !list.contains(mod);
public static Predicate<List<ITargetedMod>> avoid(ITargetedMod mod) {
return (list) -> !list.contains(mod);
}
}
enum Side {
COMMON,
CLIENT,
@@ -6,15 +6,6 @@ import java.nio.file.Path;
import java.util.function.Predicate;
public interface ITargetedMod {
static Predicate<String> startsWith(String subString) {
return (name) -> name.startsWith(subString);
}
static Predicate<String> contains(String subString) {
return (name) -> name.contains(subString);
}
static Predicate<String> matches(String regex) {
return (name) -> name.matches(regex);
}
String getModName();
Predicate<String> getCondition();
@@ -28,7 +19,17 @@ public interface ITargetedMod {
return "jar".equals(fileExtension) && getCondition().test(nameLowerCase);
}
default String toStringDefault() {
return String.format("TargetedMod{%s}", getModName());
final class PredicateHelpers {
public static Predicate<String> startsWith(String subString) {
return (name) -> name.startsWith(subString);
}
public static Predicate<String> contains(String subString) {
return (name) -> name.contains(subString);
}
public static Predicate<String> matches(String regex) {
return (name) -> name.matches(regex);
}
}
}