diff options
Diffstat (limited to 'dicore3/core/src/main/java/io/dico/dicore/event')
8 files changed, 344 insertions, 344 deletions
diff --git a/dicore3/core/src/main/java/io/dico/dicore/event/ChainedListener.java b/dicore3/core/src/main/java/io/dico/dicore/event/ChainedListener.java index 93584ea..378424d 100644 --- a/dicore3/core/src/main/java/io/dico/dicore/event/ChainedListener.java +++ b/dicore3/core/src/main/java/io/dico/dicore/event/ChainedListener.java @@ -1,46 +1,46 @@ -package io.dico.dicore.event; - -import io.dico.dicore.InterfaceChain; - -public interface ChainedListener<T> extends InterfaceChain<SimpleListener<T>, ChainedListener<T>>, SimpleListener<T> { - - @Override - default ChainedListener<T> getEmptyInstance() { - return ChainedListeners.empty(); - } - - @Override - default ChainedListener<T> withElement(SimpleListener<T> element) { - if (element == null) { - return this; - } - - int count = getElementCount() + 1; - return new ChainedListener<T>() { - @Override - public void accept(T event) { - try { - ChainedListener.this.accept(event); - } finally { - element.accept(event); - } - } - - @Override - public ChainedListener<T> withoutLastNode() { - return ChainedListener.this; - } - - @Override - public SimpleListener<T> getDelegateOfLastNode() { - return element; - } - - @Override - public int getElementCount() { - return count; - } - }; - } - -} +package io.dico.dicore.event;
+
+import io.dico.dicore.InterfaceChain;
+
+public interface ChainedListener<T> extends InterfaceChain<SimpleListener<T>, ChainedListener<T>>, SimpleListener<T> {
+
+ @Override
+ default ChainedListener<T> getEmptyInstance() {
+ return ChainedListeners.empty();
+ }
+
+ @Override
+ default ChainedListener<T> withElement(SimpleListener<T> element) {
+ if (element == null) {
+ return this;
+ }
+
+ int count = getElementCount() + 1;
+ return new ChainedListener<T>() {
+ @Override
+ public void accept(T event) {
+ try {
+ ChainedListener.this.accept(event);
+ } finally {
+ element.accept(event);
+ }
+ }
+
+ @Override
+ public ChainedListener<T> withoutLastNode() {
+ return ChainedListener.this;
+ }
+
+ @Override
+ public SimpleListener<T> getDelegateOfLastNode() {
+ return element;
+ }
+
+ @Override
+ public int getElementCount() {
+ return count;
+ }
+ };
+ }
+
+}
diff --git a/dicore3/core/src/main/java/io/dico/dicore/event/ChainedListenerHandle.java b/dicore3/core/src/main/java/io/dico/dicore/event/ChainedListenerHandle.java index 86b8448..875c131 100644 --- a/dicore3/core/src/main/java/io/dico/dicore/event/ChainedListenerHandle.java +++ b/dicore3/core/src/main/java/io/dico/dicore/event/ChainedListenerHandle.java @@ -1,55 +1,55 @@ -package io.dico.dicore.event; - -import io.dico.dicore.InterfaceChain; - -public interface ChainedListenerHandle extends InterfaceChain<ListenerHandle, ChainedListenerHandle>, ListenerHandle { - - @Override - default ChainedListenerHandle getEmptyInstance() { - return ChainedListenerHandles.empty(); - } - - @Override - default ChainedListenerHandle withElement(ListenerHandle element) { - if (element == null) { - return this; - } - - int count = getElementCount() + 1; - return new ChainedListenerHandle() { - @Override - public void register() { - try { - ChainedListenerHandle.this.register(); - } finally { - element.register(); - } - } - - @Override - public void unregister() { - try { - ChainedListenerHandle.this.unregister(); - } finally { - element.unregister(); - } - } - - @Override - public ChainedListenerHandle withoutLastNode() { - return ChainedListenerHandle.this; - } - - @Override - public ListenerHandle getDelegateOfLastNode() { - return element; - } - - @Override - public int getElementCount() { - return count; - } - }; - } - -} +package io.dico.dicore.event;
+
+import io.dico.dicore.InterfaceChain;
+
+public interface ChainedListenerHandle extends InterfaceChain<ListenerHandle, ChainedListenerHandle>, ListenerHandle {
+
+ @Override
+ default ChainedListenerHandle getEmptyInstance() {
+ return ChainedListenerHandles.empty();
+ }
+
+ @Override
+ default ChainedListenerHandle withElement(ListenerHandle element) {
+ if (element == null) {
+ return this;
+ }
+
+ int count = getElementCount() + 1;
+ return new ChainedListenerHandle() {
+ @Override
+ public void register() {
+ try {
+ ChainedListenerHandle.this.register();
+ } finally {
+ element.register();
+ }
+ }
+
+ @Override
+ public void unregister() {
+ try {
+ ChainedListenerHandle.this.unregister();
+ } finally {
+ element.unregister();
+ }
+ }
+
+ @Override
+ public ChainedListenerHandle withoutLastNode() {
+ return ChainedListenerHandle.this;
+ }
+
+ @Override
+ public ListenerHandle getDelegateOfLastNode() {
+ return element;
+ }
+
+ @Override
+ public int getElementCount() {
+ return count;
+ }
+ };
+ }
+
+}
diff --git a/dicore3/core/src/main/java/io/dico/dicore/event/ChainedListenerHandles.java b/dicore3/core/src/main/java/io/dico/dicore/event/ChainedListenerHandles.java index 0be0508..15c4553 100644 --- a/dicore3/core/src/main/java/io/dico/dicore/event/ChainedListenerHandles.java +++ b/dicore3/core/src/main/java/io/dico/dicore/event/ChainedListenerHandles.java @@ -1,63 +1,63 @@ -package io.dico.dicore.event; - -public class ChainedListenerHandles { - - private ChainedListenerHandles() { - - } - - private static final ChainedListenerHandle empty = new ChainedListenerHandle() { - @Override - public void register() { - - } - - public void unregister() { - - } - - @Override - public ChainedListenerHandle withElement(ListenerHandle other) { - return ChainedListenerHandles.singleton(other); - } - - @Override - public int getElementCount() { - return 0; - } - - @Override - public ListenerHandle getDelegateOfLastNode() { - return null; - } - }; - - public static ChainedListenerHandle empty() { - return empty; - } - - public static ChainedListenerHandle singleton(ListenerHandle element) { - if (element instanceof ChainedListenerHandle) { - return (ChainedListenerHandle) element; - } - if (element == null) { - return empty(); - } - return new ChainedListenerHandle() { - @Override - public void register() { - element.register(); - } - - public void unregister() { - element.unregister(); - } - - @Override - public ListenerHandle getDelegateOfLastNode() { - return element; - } - }; - } - -} +package io.dico.dicore.event;
+
+public class ChainedListenerHandles {
+
+ private ChainedListenerHandles() {
+
+ }
+
+ private static final ChainedListenerHandle empty = new ChainedListenerHandle() {
+ @Override
+ public void register() {
+
+ }
+
+ public void unregister() {
+
+ }
+
+ @Override
+ public ChainedListenerHandle withElement(ListenerHandle other) {
+ return ChainedListenerHandles.singleton(other);
+ }
+
+ @Override
+ public int getElementCount() {
+ return 0;
+ }
+
+ @Override
+ public ListenerHandle getDelegateOfLastNode() {
+ return null;
+ }
+ };
+
+ public static ChainedListenerHandle empty() {
+ return empty;
+ }
+
+ public static ChainedListenerHandle singleton(ListenerHandle element) {
+ if (element instanceof ChainedListenerHandle) {
+ return (ChainedListenerHandle) element;
+ }
+ if (element == null) {
+ return empty();
+ }
+ return new ChainedListenerHandle() {
+ @Override
+ public void register() {
+ element.register();
+ }
+
+ public void unregister() {
+ element.unregister();
+ }
+
+ @Override
+ public ListenerHandle getDelegateOfLastNode() {
+ return element;
+ }
+ };
+ }
+
+}
diff --git a/dicore3/core/src/main/java/io/dico/dicore/event/ChainedListeners.java b/dicore3/core/src/main/java/io/dico/dicore/event/ChainedListeners.java index 1d2bcd4..44050a2 100644 --- a/dicore3/core/src/main/java/io/dico/dicore/event/ChainedListeners.java +++ b/dicore3/core/src/main/java/io/dico/dicore/event/ChainedListeners.java @@ -1,56 +1,56 @@ -package io.dico.dicore.event; - -@SuppressWarnings("unchecked") -public class ChainedListeners { - - private static final ChainedListener<?> empty = new ChainedListener<Object>() { - @Override - public void accept(Object event) { - - } - - @Override - public ChainedListener<Object> withElement(SimpleListener other) { - return ChainedListeners.singleton(other); - } - - @Override - public int getElementCount() { - return 0; - } - - @Override - public SimpleListener<Object> getDelegateOfLastNode() { - return null; - } - }; - - private ChainedListeners() { - - } - - public static <T> ChainedListener<T> empty() { - return (ChainedListener<T>) empty; - } - - public static <T> ChainedListener<T> singleton(SimpleListener<T> element) { - if (element instanceof ChainedListener) { - return (ChainedListener<T>) element; - } - if (element == null) { - return empty(); - } - return new ChainedListener<T>() { - @Override - public void accept(T event) { - element.accept(event); - } - - @Override - public SimpleListener getDelegateOfLastNode() { - return element; - } - }; - } - -} +package io.dico.dicore.event;
+
+@SuppressWarnings("unchecked")
+public class ChainedListeners {
+
+ private static final ChainedListener<?> empty = new ChainedListener<Object>() {
+ @Override
+ public void accept(Object event) {
+
+ }
+
+ @Override
+ public ChainedListener<Object> withElement(SimpleListener other) {
+ return ChainedListeners.singleton(other);
+ }
+
+ @Override
+ public int getElementCount() {
+ return 0;
+ }
+
+ @Override
+ public SimpleListener<Object> getDelegateOfLastNode() {
+ return null;
+ }
+ };
+
+ private ChainedListeners() {
+
+ }
+
+ public static <T> ChainedListener<T> empty() {
+ return (ChainedListener<T>) empty;
+ }
+
+ public static <T> ChainedListener<T> singleton(SimpleListener<T> element) {
+ if (element instanceof ChainedListener) {
+ return (ChainedListener<T>) element;
+ }
+ if (element == null) {
+ return empty();
+ }
+ return new ChainedListener<T>() {
+ @Override
+ public void accept(T event) {
+ element.accept(event);
+ }
+
+ @Override
+ public SimpleListener getDelegateOfLastNode() {
+ return element;
+ }
+ };
+ }
+
+}
diff --git a/dicore3/core/src/main/java/io/dico/dicore/event/HandlerList.java b/dicore3/core/src/main/java/io/dico/dicore/event/HandlerList.java index 56265bb..fa290c0 100644 --- a/dicore3/core/src/main/java/io/dico/dicore/event/HandlerList.java +++ b/dicore3/core/src/main/java/io/dico/dicore/event/HandlerList.java @@ -1,91 +1,91 @@ -package io.dico.dicore.event; - -import org.bukkit.event.Cancellable; -import org.bukkit.event.EventPriority; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; -import java.util.function.Consumer; - -public final class HandlerList<T> { - private final List<Listener<T>> source = new ArrayList<>(); - private Listener<T>[] listeners = newArray(0); - - public void refresh() { - source.sort(Comparator.comparingInt(l -> l.getPriority().ordinal())); - listeners = source.toArray(newArray(source.size())); - } - - @SuppressWarnings("unchecked") - private static <T> Listener<T>[] newArray(int length) { - return new Listener[length]; - } - - public void register(Listener<T> listener) { - if (!source.contains(listener) && source.add(listener)) { - refresh(); - } - } - - public ListenerHandle getListenerHandle(Listener<T> listener) { - return new ListenerHandle() { - @Override - public void register() { - HandlerList.this.register(listener); - } - - @Override - public void unregister() { - HandlerList.this.unregister(listener); - } - }; - } - - public void register(EventPriority priority, Consumer<T> listener) { - register(new Listener<T>() { - @Override - public EventPriority getPriority() { - return priority; - } - - @Override - public void accept(T event) { - listener.accept(event); - } - }); - } - - public List<Listener<T>> getRegistrations() { - return Collections.unmodifiableList(source); - } - - public void unregister(Listener<T> listener) { - if (source.remove(listener)) { - refresh(); - } - } - - public void callEvent(T event) { - if (event instanceof Cancellable) { - Cancellable c = (Cancellable) event; - boolean cancelled = c.isCancelled(); - for (Listener<T> listener : listeners) { - if (listener.listensToCancelledState(cancelled)) { - //EnchantsPlugin.getInstance().debug("Listener acceptance: " + listener.getClass().getSimpleName()); - listener.accept(event); - cancelled = c.isCancelled(); - } /*else { - EnchantsPlugin.getInstance().debug("Listener does not listen to cancelled state of " + cancelled + ": " + listener.getClass().getSimpleName()); - }*/ - } - } else { - for (Listener<T> listener : listeners) { - //EnchantsPlugin.getInstance().debug("Listener acceptance: " + listener.getClass().getSimpleName()); - listener.accept(event); - } - } - } - -} +package io.dico.dicore.event;
+
+import org.bukkit.event.Cancellable;
+import org.bukkit.event.EventPriority;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+import java.util.function.Consumer;
+
+public final class HandlerList<T> {
+ private final List<Listener<T>> source = new ArrayList<>();
+ private Listener<T>[] listeners = newArray(0);
+
+ public void refresh() {
+ source.sort(Comparator.comparingInt(l -> l.getPriority().ordinal()));
+ listeners = source.toArray(newArray(source.size()));
+ }
+
+ @SuppressWarnings("unchecked")
+ private static <T> Listener<T>[] newArray(int length) {
+ return new Listener[length];
+ }
+
+ public void register(Listener<T> listener) {
+ if (!source.contains(listener) && source.add(listener)) {
+ refresh();
+ }
+ }
+
+ public ListenerHandle getListenerHandle(Listener<T> listener) {
+ return new ListenerHandle() {
+ @Override
+ public void register() {
+ HandlerList.this.register(listener);
+ }
+
+ @Override
+ public void unregister() {
+ HandlerList.this.unregister(listener);
+ }
+ };
+ }
+
+ public void register(EventPriority priority, Consumer<T> listener) {
+ register(new Listener<T>() {
+ @Override
+ public EventPriority getPriority() {
+ return priority;
+ }
+
+ @Override
+ public void accept(T event) {
+ listener.accept(event);
+ }
+ });
+ }
+
+ public List<Listener<T>> getRegistrations() {
+ return Collections.unmodifiableList(source);
+ }
+
+ public void unregister(Listener<T> listener) {
+ if (source.remove(listener)) {
+ refresh();
+ }
+ }
+
+ public void callEvent(T event) {
+ if (event instanceof Cancellable) {
+ Cancellable c = (Cancellable) event;
+ boolean cancelled = c.isCancelled();
+ for (Listener<T> listener : listeners) {
+ if (listener.listensToCancelledState(cancelled)) {
+ //EnchantsPlugin.getInstance().debug("Listener acceptance: " + listener.getClass().getSimpleName());
+ listener.accept(event);
+ cancelled = c.isCancelled();
+ } /*else {
+ EnchantsPlugin.getInstance().debug("Listener does not listen to cancelled state of " + cancelled + ": " + listener.getClass().getSimpleName());
+ }*/
+ }
+ } else {
+ for (Listener<T> listener : listeners) {
+ //EnchantsPlugin.getInstance().debug("Listener acceptance: " + listener.getClass().getSimpleName());
+ listener.accept(event);
+ }
+ }
+ }
+
+}
diff --git a/dicore3/core/src/main/java/io/dico/dicore/event/Listener.java b/dicore3/core/src/main/java/io/dico/dicore/event/Listener.java index c3e5413..064cd28 100644 --- a/dicore3/core/src/main/java/io/dico/dicore/event/Listener.java +++ b/dicore3/core/src/main/java/io/dico/dicore/event/Listener.java @@ -1,17 +1,17 @@ -package io.dico.dicore.event; - -import org.bukkit.event.EventPriority; - -public interface Listener<T> { - - default EventPriority getPriority() { - return EventPriority.NORMAL; - } - - default boolean listensToCancelledState(boolean cancelled) { - return !cancelled; - } - - void accept(T event); - -} +package io.dico.dicore.event;
+
+import org.bukkit.event.EventPriority;
+
+public interface Listener<T> {
+
+ default EventPriority getPriority() {
+ return EventPriority.NORMAL;
+ }
+
+ default boolean listensToCancelledState(boolean cancelled) {
+ return !cancelled;
+ }
+
+ void accept(T event);
+
+}
diff --git a/dicore3/core/src/main/java/io/dico/dicore/event/ListenerHandle.java b/dicore3/core/src/main/java/io/dico/dicore/event/ListenerHandle.java index 6042954..fbedd9f 100644 --- a/dicore3/core/src/main/java/io/dico/dicore/event/ListenerHandle.java +++ b/dicore3/core/src/main/java/io/dico/dicore/event/ListenerHandle.java @@ -1,9 +1,9 @@ -package io.dico.dicore.event; - -public interface ListenerHandle { - - void register(); - - void unregister(); - -} +package io.dico.dicore.event;
+
+public interface ListenerHandle {
+
+ void register();
+
+ void unregister();
+
+}
diff --git a/dicore3/core/src/main/java/io/dico/dicore/event/SimpleListener.java b/dicore3/core/src/main/java/io/dico/dicore/event/SimpleListener.java index 9688975..4e49a55 100644 --- a/dicore3/core/src/main/java/io/dico/dicore/event/SimpleListener.java +++ b/dicore3/core/src/main/java/io/dico/dicore/event/SimpleListener.java @@ -1,7 +1,7 @@ -package io.dico.dicore.event; - -public interface SimpleListener<T> { - - void accept(T event); - -} +package io.dico.dicore.event;
+
+public interface SimpleListener<T> {
+
+ void accept(T event);
+
+}
|