package wa.server.plugin;


import java.util.List;

public interface WAServiceConfig {
	/**
	 * @return the String name of this configuration type
	 */
	public String getName();

	/**
	 * Read in current configuration data
	 */
	//public void read() throws Exception;

	/**
	 * Save configured data to disk or database
	 */
	//public void save() throws Exception;

	public WAConfigEntry createConfig();
	public void deleteConfig(int id);

	/**
	 * Configure service with current configuration data
	 */
	public void configure() throws Exception;



    /**
     * @return a list of configuration objects, the object
     *          configuration can be changed with the
     *          {@link zutil.db.bean.Configurator} class.
     */
	public List<? extends WAConfigEntry> getConfigData();

    /**
     * @return the class that contains the configuration data
     */
    public Class<? extends WAConfigEntry> getConfigClass();
}
