29 lines
889 B
Java
29 lines
889 B
Java
package net.tomatentum.marinara.wrapper;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.function.Consumer;
|
|
public abstract class LibraryWrapper {
|
|
|
|
private List<Consumer<Object>> interactionSubscriber;
|
|
|
|
protected LibraryWrapper() {
|
|
this.interactionSubscriber = new ArrayList<>();
|
|
}
|
|
|
|
public void handleInteraction(Object context) {
|
|
interactionSubscriber.forEach((o) -> o.accept(context));
|
|
}
|
|
|
|
public void subscribeInteractions(Consumer<Object> consumer) {
|
|
interactionSubscriber.add(consumer);
|
|
}
|
|
public void unsubscribeInteractions(Consumer<Object> consumer) {
|
|
interactionSubscriber.remove(consumer);
|
|
}
|
|
|
|
public abstract CommandRegisterer<?> getRegisterer();
|
|
public abstract IdentifierProvider createIdentifierProvider();
|
|
public abstract ContextObjectProvider getContextObjectProvider();
|
|
|
|
} |