Merge branch 'master' of ssh://git.indexdata.com/home/git/private/mkjsf.git into...
[mkjsf-moved-to-github.git] / src / main / java / com / indexdata / mkjsf / config / ConfigurationReader.java
diff --git a/src/main/java/com/indexdata/mkjsf/config/ConfigurationReader.java b/src/main/java/com/indexdata/mkjsf/config/ConfigurationReader.java
new file mode 100644 (file)
index 0000000..cb0df8b
--- /dev/null
@@ -0,0 +1,31 @@
+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