ProcessorConfigurer
ProcessorConfigurer allows you to write your own class processor.
import xyz.failutee.mineject.bean.BeanProcessor;
import xyz.failutee.mineject.dependency.DependencyProvider;
import xyz.failutee.mineject.processor.ProcessorConfigurer;
public class ExampleProcessorConfigurer implements ProcessorConfigurer {
private final DependencyProvider dependencyProvider;
public ExampleProcessorConfigurer(DependencyProvider dependencyProvider) {
this.dependencyProvider = dependencyProvider;
}
@Override
public void configureProcessor(BeanProcessor beanProcessor) {
/*
* The parameters (TestAnnotation.class & Object.class)
* simply mean that any class that has TestAnnotation annotations
* and is an Object (really any class) will be processed
*/
beanProcessor.onProcess(TestAnnotation.class, Object.class, ((testAnnotation, object) -> {
/*
* You want to use the #getOrCreate method here because
* the object you want to gett may not be created yet
*/
TestManager testManager = this.dependencyProvider.getOrCreate(TestManager.class);
testManager.test();
}))
// The annotation parameter is optional, and you do not need to use it
.onProcess(Object.class, (object) -> {
// Code...
});
}
}
Register ProcessorConfigurer
Mineject mineject = MinejectFactory.create()
.dependencySettings((settings, context) -> {
settings.packageName("xyz.failutee.test");
settings.processorConfigurer(new ExampleProcessorConfigurer(context.dependencyProvider()));
})
...
Last updated