001package co.aikar.commands;
002
003import net.dv8tion.jda.core.JDA;
004import org.jetbrains.annotations.NotNull;
005
006public class JDACommandManagerBuilder {
007    private JDA jda;
008    private CommandConfig defaultConfig = null;
009    private CommandConfigProvider configProvider = null;
010    private CommandPermissionResolver permissionResolver = null;
011
012    public JDACommandManagerBuilder(JDA jda) {
013        this.jda = jda;
014    }
015
016    public JDACommandManagerBuilder defaultConfig(@NotNull CommandConfig defaultConfig) {
017        this.defaultConfig = defaultConfig;
018        return this;
019    }
020
021    public JDACommandManagerBuilder configProvider(@NotNull CommandConfigProvider configProvider) {
022        this.configProvider = configProvider;
023        return this;
024    }
025
026    public JDACommandManagerBuilder permissionResolver(@NotNull CommandPermissionResolver permissionResolver) {
027        this.permissionResolver = permissionResolver;
028        return this;
029    }
030
031    public JDACommandManager create() {
032        return new JDACommandManager(jda, defaultConfig, configProvider, permissionResolver);
033    }
034}