--- /dev/null
+package com.indexdata.mkjsf.config;\r
+\r
+import java.io.Serializable;\r
+import java.util.List;\r
+\r
+import com.indexdata.mkjsf.errors.ConfigurationException;\r
+\r
+/**\r
+ * Interface to be implemented by classes that read configurations from a source -\r
+ * i.e. from web.xml, the file system, a database or hard-coded. \r
+ * \r
+ * @author Niels Erik\r
+ *\r
+ */\r
+public interface ConfigurationReader extends Serializable {\r
+ \r
+ /**\r
+ * Returns a Configuration to be used by the given Configurable\r
+ * \r
+ * @param configurable the configurable to be configured by a configuration obtained by this reader\r
+ * @return a Configuration, basically a set of key-value pairs\r
+ * @throws ConfigurationException\r
+ */\r
+ public Configuration getConfiguration(Configurable configurable) throws ConfigurationException;\r
+ \r
+ /**\r
+ * Returns documentation for the key-value pairs obtained by this reader\r
+ * @return\r
+ */\r
+ public List<String> document();\r
+}\r