2021-07-09 17:28:31 +02:00
|
|
|
package net.playeranalytics.plan;
|
|
|
|
|
|
|
|
import com.djrapitops.plan.PlanSystem;
|
|
|
|
import com.djrapitops.plan.commands.PlanCommand;
|
2022-09-13 17:26:54 +02:00
|
|
|
import com.djrapitops.plan.modules.FiltersModule;
|
|
|
|
import com.djrapitops.plan.modules.PlatformAbstractionLayerModule;
|
2021-07-09 17:28:31 +02:00
|
|
|
import dagger.BindsInstance;
|
|
|
|
import dagger.Component;
|
2022-09-13 17:26:54 +02:00
|
|
|
import net.playeranalytics.plan.module.StandaloneBindingModule;
|
|
|
|
import net.playeranalytics.plan.module.StandaloneProvidingModule;
|
|
|
|
import net.playeranalytics.plan.module.StandaloneServerPropertiesModule;
|
|
|
|
import net.playeranalytics.plugin.PlatformAbstractionLayer;
|
|
|
|
|
|
|
|
import javax.inject.Singleton;
|
|
|
|
|
|
|
|
@Singleton
|
|
|
|
@Component(modules = {
|
|
|
|
PlatformAbstractionLayerModule.class,
|
|
|
|
FiltersModule.class,
|
|
|
|
|
|
|
|
StandaloneBindingModule.class,
|
|
|
|
StandaloneProvidingModule.class,
|
|
|
|
StandaloneServerPropertiesModule.class
|
|
|
|
})
|
2021-07-09 17:28:31 +02:00
|
|
|
public interface PlanStandaloneComponent {
|
|
|
|
|
|
|
|
PlanCommand planCommand();
|
|
|
|
|
|
|
|
PlanSystem system();
|
|
|
|
|
|
|
|
@Component.Builder
|
|
|
|
interface Builder {
|
|
|
|
|
|
|
|
@BindsInstance
|
|
|
|
Builder plan(PlanStandalone plan);
|
|
|
|
|
2022-09-13 17:26:54 +02:00
|
|
|
@BindsInstance
|
|
|
|
Builder abstractionLayer(PlatformAbstractionLayer abstractionLayer);
|
|
|
|
|
2021-07-09 17:28:31 +02:00
|
|
|
PlanStandaloneComponent build();
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|