package fr.Alphart.BAT.Modules;
import java.util.List;
public interface IModule {
// Constants
// Server groups related
public static final String NO_REASON = "noreason";
public static final String GLOBAL_SERVER = "(global)";
public static final String ANY_SERVER = "(any)";
// Module part
public final static Integer ON_STATE = 1;
public final static Integer OFF_STATE = 0;
public String getName();
/**
* Load the module
*
* @return true if everything's ok otherwise false
*/
public boolean load();
/**
* Get the configuration section of this module
*
* @return configuration section of this module
*/
public ModuleConfiguration getConfig();
/**
* Unload the module
*
* @return true if everything's ok otherwise false
*/
public boolean unload();
/**
* Get main command name
*
* @return name of the main command without a slash
*/
public String getMainCommand();
/**
* Get commands used by this module
*
* @return list of commands
*/
public List<BATCommand> getCommands();
}