diff --git a/event-loop/src/main/java/mc/core/events/cachelike/Handler.java b/event-loop/src/main/java/mc/core/events/cachelike/Handler.java new file mode 100644 index 0000000..0208662 --- /dev/null +++ b/event-loop/src/main/java/mc/core/events/cachelike/Handler.java @@ -0,0 +1,16 @@ +package mc.core.events.cachelike; + +import mc.core.events.LoginEvent; + +public class SampleHandler { + + @Preprocessor(preprocessor = (new PreprocessorContext() { + @Override + protected void init() { + + } + }).class) + public void onLogin(LoginEvent event){ + + } +} diff --git a/event-loop/src/main/java/mc/core/events/cachelike/Preprocessor.java b/event-loop/src/main/java/mc/core/events/cachelike/Preprocessor.java new file mode 100644 index 0000000..36bd1f3 --- /dev/null +++ b/event-loop/src/main/java/mc/core/events/cachelike/Preprocessor.java @@ -0,0 +1,5 @@ +package mc.core.events.cachelike; + +public @interface Preprocessor { + Class preprocessor(); +} diff --git a/event-loop/src/main/java/mc/core/events/cachelike/PreprocessorContext.java b/event-loop/src/main/java/mc/core/events/cachelike/PreprocessorContext.java new file mode 100644 index 0000000..99292fc --- /dev/null +++ b/event-loop/src/main/java/mc/core/events/cachelike/PreprocessorContext.java @@ -0,0 +1,17 @@ +package mc.core.events.cachelike; + +import com.google.common.base.Function; + +import java.util.ArrayList; +import java.util.List; + +public abstract class PreprocessorContext { + private List> fetchers = new ArrayList<>(); + + protected void push(Function fetcher) { + fetchers.add(fetcher); + } + + protected abstract void init() ; + +}