View Javadoc
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  }