1 package com.github.celldynamics.quimp.plugin; 2 3 import com.github.celldynamics.quimp.plugin.utils.QWindowBuilder; 4 5 /** 6 * Allow to attach upload and download configuration from plugin. 7 * 8 * @author p.baniukiewicz 9 * @see QWindowBuilder 10 * @see ParamList 11 */ 12 public interface IQuimpPluginExchangeData { 13 14 /** 15 * Pass to plugin its configuration data as pairs (key,value). 16 * 17 * <p>This method is used for restoring configuration from config files maintained by caller. 18 * Caller do not modify these values and only stores them as the were returned by 19 * getPluginConfig() method. 20 * 21 * <p>Numerical values should be passed as Double. setPluginConfig(ParamList) and 22 * getPluginConfig() should use the same convention of key naming 23 * and parameters casting 24 * 25 * @param par plugin configuration. 26 * @throws QuimpPluginException on problems with understanding parameters by plugin e.g. \b key 27 * is not understood or converting from \c String \b value to other type has not been 28 * successful. 29 */ 30 void setPluginConfig(final ParamList par) throws QuimpPluginException; 31 32 /** 33 * Retrieve plugin configuration data as pairs (key,value>=). 34 * 35 * <p>This configuration is not used by QuimP but it may be stored in QuimP configuration. 36 * 37 * @return Plugin configuration 38 * @see #setPluginConfig(ParamList) 39 */ 40 ParamList getPluginConfig(); 41 }