01: /*
02: * This file is part of JGAP.
03: *
04: * JGAP offers a dual license model containing the LGPL as well as the MPL.
05: *
06: * For licensing information please see the file license.txt included with JGAP
07: * or have a look at the top of class org.jgap.Chromosome which representatively
08: * includes the JGAP license policy applicable for any file delivered with JGAP.
09: */
10: package org.jgap.data.config;
11:
12: import java.util.*;
13: import org.jgap.*;
14:
15: /**
16: * The interface for the GUI to retrieve the information about what a
17: * Configurable looks like and how it must be rendered.
18: *
19: * @author Siddhartha Azad
20: * @since 2.3
21: * */
22: public interface ConfigurationHandler {
23: /** String containing the CVS revision. Read out via reflection!*/
24: final static String CVS_REVISION = "$Revision: 1.5 $";
25:
26: /**
27: * Return the name of this Configuration Object to be used in the properties
28: * file.
29: * @return name of this config Object (name of what you are configuring)
30: */
31: String getName();
32:
33: /**
34: * Return the information to generate the GUI for configuring this class.
35: * @return a list of ConfigProperty objects
36: */
37: List getConfigProperties();
38:
39: /**
40: * Method that will populate a Configurable with the properties in the
41: * config file.
42: *
43: * @author Siddhartha Azad
44: * @since 2.3
45: */
46: void readConfig() throws ConfigException,
47: InvalidConfigurationException;
48:
49: /**
50: * Get the namespace to be used in the config file for the Configurable
51: * this ConfigurationHandler belongs to.
52: * @return namepsace of the Configurable
53: *
54: * @author Siddhartha Azad
55: * @since 2.3
56: */
57: String getNS();
58:
59: /**
60: * Set the Configurable to which this ConfigurationHandler belongs.
61: * @param a_configurable The Configurable to which this ConfigurationHandler
62: * belongs.
63: *
64: * @author Siddhartha Azad
65: * @since 2.3
66: */
67: void setConfigurable(Configurable a_configurable);
68: }
|