1
mirror of https://github.com/CarmJos/EasyListener.git synced 2024-09-19 13:25:51 +00:00

chore(code): 简化判断代码

This commit is contained in:
Carm Jos 2022-06-25 05:05:26 +08:00
parent dfe9c833f7
commit 9f9adc39dd

View File

@ -136,7 +136,9 @@ public class EasyListener implements Listener {
@Nullable EventPriority priority,
@Nullable Predicate<? super T> eventPredicate,
@Nullable Consumer<? super T> afterCancelled) {
requireType(Cancellable.class, eventClass, "Event class " + eventClass.getName() + " is not cancellable");
if (!Cancellable.class.isAssignableFrom(eventClass)) {
throw new IllegalArgumentException("Event class " + eventClass.getName() + " is not cancellable");
}
final Predicate<? super T> predicate = Optional.ofNullable(eventPredicate).orElse(t -> true);
return handle(eventClass, priority, true, (event) -> {
@ -274,13 +276,6 @@ public class EasyListener implements Listener {
};
}
protected void requireType(@NotNull Class<?> target, @NotNull Class<?> value,
@Nullable String message) throws IllegalArgumentException {
if (target.isAssignableFrom(value)) return;
if (message == null) throw new IllegalArgumentException();
else throw new IllegalArgumentException(message);
}
protected void register(@NotNull Class<? extends Event> eventClass, @NotNull RegisteredListener listener) {
getEventListeners(eventClass).register(listener);
}