You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tamaya.apache.org by po...@apache.org on 2016/12/18 23:05:11 UTC

[1/9] incubator-tamaya-site git commit: TAMAYA-187: Update docs to get the javadoc part of the site

Repository: incubator-tamaya-site
Updated Branches:
  refs/heads/master fa91eb9d0 -> 4176b5bc1


TAMAYA-187: Update docs to get the javadoc part of the site


Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/commit/86c4f5b5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/tree/86c4f5b5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/diff/86c4f5b5

Branch: refs/heads/master
Commit: 86c4f5b56d9672468c2bce4e497d87c5bf08bc42
Parents: fa91eb9
Author: Phil Ottlinger <po...@apache.org>
Authored: Mon Dec 19 00:03:55 2016 +0100
Committer: Phil Ottlinger <po...@apache.org>
Committed: Mon Dec 19 00:03:55 2016 +0100

----------------------------------------------------------------------
 README.md | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/86c4f5b5/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index c95d2f5..5e2a93f 100644
--- a/README.md
+++ b/README.md
@@ -45,7 +45,8 @@ tbd
 1. Generate Javadoc for Tamaya Core
 ```
 $ cd tamaya
-$ mvn javadoc:javadoc
+$ mvn site
+(since javadoc:javadoc does not generate a full report)
 ```
 1. Launch the bash script to generate the homepage and switch the the asf branch:
 ```
@@ -55,7 +56,7 @@ $ ./copy-site.sh
 1. Make sure you are on branch asf-site! Copy the generated Javadoc into apidocs
 ```
 $ git checkout asf-site
-$ cp -r pathToJavadoc/* ./apidocs/
+$ cp -r pathToTamayaCoreRepo/target/site/apidocs .
 ```
 1. Push your changes
 ```


[9/9] incubator-tamaya-site git commit: TAMAYA-178: Update file structure to reflect menu structure

Posted by po...@apache.org.
TAMAYA-178: Update file structure to reflect menu structure


Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/commit/4176b5bc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/tree/4176b5bc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/diff/4176b5bc

Branch: refs/heads/master
Commit: 4176b5bc1d2aa8bc5b9156827b2442bf68651995
Parents: 86c4f5b
Author: Phil Ottlinger <po...@apache.org>
Authored: Mon Dec 19 00:04:28 2016 +0100
Committer: Phil Ottlinger <po...@apache.org>
Committed: Mon Dec 19 00:04:28 2016 +0100

----------------------------------------------------------------------
 development/community.html                      |  316 +++++
 development/source.html                         |  199 +++
 documentation/api.html                          | 1140 ++++++++++++++++++
 documentation/core.html                         |  596 +++++++++
 documentation/extensions.html                   |  394 ++++++
 documentation/extensions/mod_builder.html       |  258 ++++
 documentation/extensions/mod_camel.html         |  310 +++++
 documentation/extensions/mod_cdi.html           |  443 +++++++
 .../extensions/mod_classloader_support.html     |  279 +++++
 documentation/extensions/mod_collections.html   |  466 +++++++
 documentation/extensions/mod_consul.html        |  245 ++++
 documentation/extensions/mod_environment.html   |  215 ++++
 documentation/extensions/mod_etcd.html          |  381 ++++++
 documentation/extensions/mod_events.html        |  504 ++++++++
 documentation/extensions/mod_filter.html        |  301 +++++
 documentation/extensions/mod_formats.html       |  462 +++++++
 documentation/extensions/mod_functions.html     |  338 ++++++
 documentation/extensions/mod_injection.html     |  700 +++++++++++
 documentation/extensions/mod_jodatime.html      |  223 ++++
 documentation/extensions/mod_json.html          |  237 ++++
 documentation/extensions/mod_management.html    |  297 +++++
 .../extensions/mod_metamodel-staged.html        |  252 ++++
 documentation/extensions/mod_model.html         |  792 ++++++++++++
 .../extensions/mod_mutable_config.html          |  505 ++++++++
 documentation/extensions/mod_optional.html      |  225 ++++
 documentation/extensions/mod_osgi.html          |  315 +++++
 documentation/extensions/mod_remote.html        |  288 +++++
 documentation/extensions/mod_resolver.html      |  313 +++++
 documentation/extensions/mod_resources.html     |  337 ++++++
 documentation/extensions/mod_server.html        |  582 +++++++++
 documentation/extensions/mod_spi-support.html   |  244 ++++
 documentation/extensions/mod_spring.html        |  331 +++++
 documentation/extensions/mod_yaml.html          |  288 +++++
 documentation/quickstart.html                   |  398 ++++++
 documentation/usecases.html                     | 1073 +++++++++++++++++
 35 files changed, 14247 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/development/community.html
----------------------------------------------------------------------
diff --git a/development/community.html b/development/community.html
new file mode 100644
index 0000000..33eeaf4
--- /dev/null
+++ b/development/community.html
@@ -0,0 +1,316 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya: Community</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../css/base.css" rel="stylesheet"/>
+	    <link href="../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../index.html">Home</a></li>
+						<li><a href="../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../documentation/api.html">API</a></li>
+								<li><a href="../documentation/core.html">Core</a></li>
+								<li><a href="../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../development/source.html">Sources</a></li>
+								<li><a href="../development/community.html">Community</a></li>
+								<li><a href="../devguide.html">Development Guide</a></li>
+								<li><a href="../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../download.html">Download</a></li>
+								<li><a href="../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../sitemap.xml">Sitemap</a></li>
+						<li><a href="../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya: Community</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div class="sect1">
+<h2 id="_users">1. Users</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>If you are a new user and you would like to participate in Tamaya
+(would be great!), you can have a look at the current
+project documentation. Apache Tamaya currently does
+not yet have a users mailing list. If you want discuss your use cases
+we encourage you to <a href="mailto:dev-subscribe@tamaya.incubator.apache.org">subscribe</a>
+to our <a href="mailto:dev@tamaya.incubator.apache.org">mailing list for developers</a>.
+Furthermore, you can check our <a href="#a_mailing_lists">mail-archives</a>.</p>
+</div>
+<div class="paragraph">
+<p>Before you file a ticket in our <a href="https://issues.apache.org/jira/browse/TAMAYA" target="_blank">Jira</a>
+please ask on the mailing list if it&#8217;s a known issue in case of a
+bug or if there is an ongoing discussion in case of a feature.</p>
+</div>
+<div class="paragraph">
+<p>You are very welcome to follow our twitter account
+<a href="https://twitter.com/TBD_tamaya" target="_blank">@TBD_tamaya</a> and spread the word
+of Tamaya with tweets, blog entries,&#8230;&#8203;</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_getting_involved">2. Getting Involved</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Everybody is welcome to get involved with our community. You can find general
+information at <a href="https://apache.org/foundation/getinvolved.html" class="bare">https://apache.org/foundation/getinvolved.html</a> and
+<a href="https://apache.org/foundation/how-it-works.html" class="bare">https://apache.org/foundation/how-it-works.html</a>.
+The following sections provides some details about the different levels of getting involved.</p>
+</div>
+<div class="paragraph">
+<p>If you want to contribute to the
+documentation of Apache Tamaya, please
+read the instructions about the Documentation
+that addresses how to contribute, render and publish it.</p>
+</div>
+<div class="sect2">
+<h3 id="_contributors">2.1. Contributors</h3>
+<div class="paragraph">
+<p>Before you get a committer you have to contribute to our effort.
+E.g. you can help users, participate in discussions on the dev list,
+submit patches,&#8230;&#8203; . Therefore, it&#8217;s essential to file
+a <a href="https://www.apache.org/licenses/icla.txt" target="_blank">Individual Contributor License Agreement (ICLA)</a>
+or <a href="https://www.apache.org/licenses/cla-corporate.txt" target="_blank">Software Grant and Corporate Contributor License Agreement (CCLA)</a>
+and send it to secretary at apache dot org (or fax it) as early as possible.</p>
+</div>
+<div class="paragraph">
+<p>If you would like to submit a patch through Jira, you can have a look at the
+<a href="devguide.html">suggested Git approach</a>.</p>
+</div>
+<div class="paragraph">
+<p>The lists of current contributors and committers can be found
+on the <a href="team-list.html" target="_blank">team and contributers page</a>.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_committers">2.2. Committers</h3>
+<div class="paragraph">
+<p>Before you read this section, please ensure that you have read
+the contributor section. All of you are welcome to join our development effort.
+<a href="mailto:dev-subscribe@tamaya.incubator.apache.org">Subscribe</a> to our
+<a href="mailto:dev@tamaya.incubator.apache.org">mailing list for developers</a> and
+start contributing and help users.</p>
+</div>
+<div class="paragraph">
+<p>Optionally <a href="mailto:commits-subscribe@tamaya.incubator.apache.org">subscribe</a> to our
+<a href="mailto:commits@tamaya.incubator.apache.org">mailing list for commits</a>.
+Furthermore, you can check our <a href="community.html#mailing-lists">mail-archives</a>.</p>
+</div>
+<div class="paragraph">
+<p>Further details are available at <a href="https://www.apache.org/dev/" target="_blank">https://www.apache.org/dev/</a>.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_mailing_lists">2.3. Mailing lists</h3>
+<div class="paragraph">
+<p>The table below lists all mailings used by the Tamaya project.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 70%;">
+<colgroup>
+<col style="width: 20%;">
+<col style="width: 20%;">
+<col style="width: 20%;">
+<col style="width: 20%;">
+<col style="width: 20%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">List</th>
+<th class="tableblock halign-left valign-top">Subscribe</th>
+<th class="tableblock halign-left valign-top">Unsubscribe</th>
+<th class="tableblock halign-left valign-top">Archive</th>
+<th class="tableblock halign-left valign-top">Mirrors</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Developer List</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="mailto:dev-subscribe@tamaya.incubator.apache.org">Subscribe</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="mailto:dev-unsubscribe@tamaya.incubator.apache.org">Unsubscribe</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="http://mail-archives.apache.org/mod_mbox/incubator-tamaya-dev/" target="_blank">Archive</a></p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Committer List</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="mailto:commits-subscribe@tamaya.incubator.apache.org">Subscribe</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="mailto:commits-unsubscribe@tamaya.incubator.apache.org">Unsubscribe</a></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="http://mail-archives.apache.org/mod_mbox/incubator-tamaya-commits/" target="_blank">Archive</a></p></td>
+<td class="tableblock halign-left valign-top"></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_jira">2.4. JIRA</h3>
+<div class="paragraph">
+<p>Any kind of issue has to be filed in our
+<a href="https://issues.apache.org/jira/browse/TAMAYA" target="_blank">issue tracker</a>.
+If you have any question, you can ask us
+(e.g. via the mailing list for developers).</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_spread_the_word">2.5. Spread the word</h3>
+<div class="paragraph">
+<p>You are very welcome e.g. to write blog entries, mention our twitter handle
+ @TBD_tamaya if you tweet about the project or just follow our twitter
+account <a href="https://twitter.com/TBD_tamaya" target="_blank">@TBD_tamaya</a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_irc">2.6. IRC</h3>
+<div class="paragraph">
+<p>Usually discussions happen on the mailing list. Some informal discussions take
+place in our IRC-Channel <a href="irc://irc.freenode.net/apache-tamaya" class="bare">irc://irc.freenode.net/apache-tamaya</a>.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>// with the irssi command-line client:
+$ irssi
+
+&gt; /connect irc.freenode.net
+&gt; /join #apache-tamaya</pre>
+</div>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../js/jquery-1.11.1.min.js"></script>
+		    <script src="../js/bootstrap.min.js"></script>
+		    <script src="../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/development/source.html
----------------------------------------------------------------------
diff --git a/development/source.html b/development/source.html
new file mode 100644
index 0000000..e278fcc
--- /dev/null
+++ b/development/source.html
@@ -0,0 +1,199 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya: Sources</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../css/base.css" rel="stylesheet"/>
+	    <link href="../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../index.html">Home</a></li>
+						<li><a href="../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../documentation/api.html">API</a></li>
+								<li><a href="../documentation/core.html">Core</a></li>
+								<li><a href="../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../development/source.html">Sources</a></li>
+								<li><a href="../development/community.html">Community</a></li>
+								<li><a href="../devguide.html">Development Guide</a></li>
+								<li><a href="../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../download.html">Download</a></li>
+								<li><a href="../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../sitemap.xml">Sitemap</a></li>
+						<li><a href="../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya: Sources</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div class="sect1">
+<h2 id="_source_code_repositories">1. Source Code Repositories</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The current source code can be found at:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="http://git-wip-us.apache.org/repos/asf/incubator-tamaya.git" class="bare">http://git-wip-us.apache.org/repos/asf/incubator-tamaya.git</a> (read-only)</p>
+</li>
+<li>
+<p><a href="https://git-wip-us.apache.org/repos/asf/incubator-tamaya.git" class="bare">https://git-wip-us.apache.org/repos/asf/incubator-tamaya.git</a></p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Alternatively there is also a GitHub read-only mirror at
+<a href="https://github.com/apache/incubator-tamaya" target="_blank">https://github.com/apache/incubator-tamaya</a>.</p>
+</div>
+<div class="paragraph">
+<p>The GitHub mirror also provides the project as downloadable zip archive.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_contributions">2. Contributions</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>If you like to contribute to Apache Tamaya please also refer also to our
+<a href="devguide.html#contributing-workflow">section on contributing to Apache Tamaya</a>.</p>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../js/jquery-1.11.1.min.js"></script>
+		    <script src="../js/bootstrap.min.js"></script>
+		    <script src="../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/api.html
----------------------------------------------------------------------
diff --git a/documentation/api.html b/documentation/api.html
new file mode 100644
index 0000000..c2f7956
--- /dev/null
+++ b/documentation/api.html
@@ -0,0 +1,1140 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Tamaya Incubator</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../css/base.css" rel="stylesheet"/>
+	    <link href="../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../index.html">Home</a></li>
+						<li><a href="../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../documentation/api.html">API</a></li>
+								<li><a href="../documentation/core.html">Core</a></li>
+								<li><a href="../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../development/source.html">Sources</a></li>
+								<li><a href="../development/community.html">Community</a></li>
+								<li><a href="../devguide.html">Development Guide</a></li>
+								<li><a href="../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../download.html">Download</a></li>
+								<li><a href="../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../sitemap.xml">Sitemap</a></li>
+						<li><a href="../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1></h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div class="sect1">
+<h2 id="CoreDesign">Apache Tamaya: API</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Though Tamaya is a very powerful and flexible solution there are basically only a few simple core concepts required
+that are the base of all the other mechanisms. As a starting point we recommend you read the corresponding
+l<a href="HighLevelDesign.html">High Level Design Documentation</a></p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="API">The Tamaya API</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The API provides the artifacts as described in the <a href="HighLevelDesign.html">High Level Design Documentation</a>, which are:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>A simple but complete SE <strong>API</strong> for accessing key/value based <em>Configuration</em>:</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Configuration hereby models configuration, the main interface of Tamaya. Configuration provides</p>
+<div class="ulist">
+<ul>
+<li>
+<p>access to literal key/value pairs.</p>
+</li>
+<li>
+<p>functional extension points (with, query) using a unary ConfigOperator or
+a function ConfigurationQuery&lt;T&gt;.</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>ConfigurationProvider provides with getConfiguration() the static entry point for accessing configuration.</p>
+</li>
+<li>
+<p>ConfigException defines a runtime exception for usage by the configuration system.</p>
+</li>
+<li>
+<p>TypeLiteral provides a possibility to type safely define the target type to be returned by a registered
+PropertyProvider.</p>
+</li>
+<li>
+<p>PropertyConverter, which defines conversion of configuration values (String) into any required target type.</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>Additionally the <strong>SPI</strong> provides:</p>
+<div class="ulist">
+<ul>
+<li>
+<p><em>PropertySource:</em> is the the SPI for adding configuration data. A PropertySource hereby</p>
+<div class="ulist">
+<ul>
+<li>
+<p>is designed as a minimalistic interface that be implemented by any kind of data provider (local or remote)</p>
+</li>
+<li>
+<p>provides single access for key/value pairs in raw format as String key/values only (getPropertyValue).</p>
+</li>
+<li>
+<p>can optionally support scanning of its provided values, implementing getProperties().</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p><em>PropertySourceProvider:</em> allows to register multiple property sources dynamically, e.g. all config files found in
+file system folder..</p>
+</li>
+<li>
+<p>ConfigurationProviderSpi defines the SPI that is used as a backing bean for the ConfigurationProvider
+singleton.</p>
+</li>
+<li>
+<p>PropertyFilter, which allows filtering of property values prior getting returned to the caller.</p>
+</li>
+<li>
+<p>PropertyValueCombinationPolicy optionally can be registered to change the way how different key/value
+pairs are combined to build up the final Configuration passed over to the filters registered.</p>
+</li>
+<li>
+<p>ConfigurationContext, which provides a container for all the artifacts needed to build up a Configuration.
+For example a context contains the property sources, property filters, converters and combination policy used.
+Also the ordering of the property sources is defined by the context. A context instance given a
+Configuration can be created by calling ConfigurationProvider.createConfiguration(context);.</p>
+</li>
+<li>
+<p>Similarly a ConfigurationContext can be created using a ConfigurationContextBuilder. This builder can be
+obtained calling ConfigurationProvider.getConfigurationContextBuilder();.</p>
+</li>
+<li>
+<p>ServiceContext, which provides access to the components loaded, depending on the current runtime stack.</p>
+</li>
+<li>
+<p>ServiceContextManager provides static access to the ServiceContext loaded.</p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>This is also reflected in the main packages of the API:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>org.apache.tamaya contains the main API abstractions used by users.</p>
+</li>
+<li>
+<p>org.apache.tamaya.spi contains the SPI interfaces to be implemented by implementations and the ServiceContext
+mechanism.</p>
+</li>
+</ul>
+</div>
+<div class="sect2">
+<h3 id="APIKeyValues">Key/Value Pairs</h3>
+<div class="paragraph">
+<p>Basically configuration is a very generic concept. Therefore it should be modelled in a generic way. The most simple
+and most commonly used approach are simple literal key/value pairs. So the core building block of {name} are key/value pairs.
+You can think of a common .properties file, e.g.</p>
+</div>
+<div class="listingblock">
+<div class="title">A simple properties file</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties">a.b.c=cVal
+a.b.c.1=cVal1
+a.b.c.2=cVal2
+a=aVal
+a.b=abVal
+a.b2=abVal</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Now you can use java.util.Properties to read this file and access the corresponding properties, e.g.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties">Properties props = new Properties();
+props.readProperties(...);
+String val = props.getProperty("a.b.c");
+val = props.getProperty("a.b.c.1");
+...</code></pre>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_why_using_strings_only">Why Using Strings Only</h4>
+<div class="paragraph">
+<p>There are good reason to keep of non String-values as core storage representation of configuration. Mostly
+there are several huge advantages:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Strings are simple to understand</p>
+</li>
+<li>
+<p>Strings are human readable and therefore easy to prove for correctness</p>
+</li>
+<li>
+<p>Strings can easily be used within different language, different VMs, files or network communications.</p>
+</li>
+<li>
+<p>Strings can easily be compared and manipulated</p>
+</li>
+<li>
+<p>Strings can easily be searched, indexed and cached</p>
+</li>
+<li>
+<p>It is very easy to provide Strings as configuration, which gives much flexibility for providing configuration in
+production as well in testing.</p>
+</li>
+<li>
+<p>and more&#8230;&#8203;</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>On the other side there are also disadvantages:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Strings are inherently not type safe, they do not provide validation out of the box for special types, such as
+numbers, dates etc.</p>
+</li>
+<li>
+<p>In many cases you want to access configuration in a typesafe way avoiding conversion to the target types explicitly
+throughout your code.</p>
+</li>
+<li>
+<p>Strings are neither hierarchical nor multi-valued, so mapping hierarchical and collection structures requires some
+extra efforts.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Nevertheless most of these advantages can be mitigated easily, hereby still keeping all the benefits from above:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Adding type safe adapters on top of String allow to add any type easily, that can be directly mapped out of Strings.
+This includes all common base types such as numbers, dates, time, but also timezones, formatting patterns and more.</p>
+</li>
+<li>
+<p>Also multi-valued, complex and collection types can be defined as a corresponding PropertyAdapter knows how to
+parse and create the target instance required.</p>
+</li>
+<li>
+<p>String s also can be used as references pointing to other locations and formats, where configuration is
+accessible.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>[[API Configuration]]
+=== Configuration</p>
+</div>
+<div class="paragraph">
+<p>Configuration is the main API provided by Tamaya. It allows reading of single property values or the whole
+property map, but also supports type safe access:</p>
+</div>
+<div class="listingblock">
+<div class="title">Interface Configuration</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public interface Configuration{
+    String get(String key);
+    String getOrDefault(String key, String value);
+    &lt;T&gt; T get(String key, Class&lt;T&gt; type);
+    &lt;T&gt; T getOrDefault(String key, Class&lt;T&gt; type, T defaultValue);
+    &lt;T&gt; T get(String key, TypeLiteral&lt;T&gt; type);
+    &lt;T&gt; T getOrDefault(String key, TypeLiteral&lt;T&gt; type, T defaultValue);
+    Map&lt;String,String&gt; getProperties();
+
+    // extension points
+    Configuration with(ConfigOperator operator);
+    &lt;T&gt; T query(ConfigQuery&lt;T&gt; query);
+
+    ConfigurationContext getContext();
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Hereby</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>&lt;T&gt; T get(String, Class&lt;T&gt;) provides type safe accessors for all basic wrapper types of the JDK.</p>
+</li>
+<li>
+<p>with, query provide the extension points for adding additional functionality.</p>
+</li>
+<li>
+<p>getProperties() provides access to all key/values, whereas entries from non scannable property sources may not
+be included.</p>
+</li>
+<li>
+<p>getOrDefault allows to pass default values as needed, returned if the requested value evaluated to null.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The class TypeLiteral is basically similar to the same class provided with CDI:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public class TypeLiteral&lt;T&gt; implements Serializable {
+
+    [...]
+
+    protected TypeLiteral(Type type) {
+        this.type = type;
+    }
+
+    protected TypeLiteral() { }
+
+    public static &lt;L&gt; TypeLiteral&lt;L&gt; of(Type type){...}
+    public static &lt;L&gt; TypeLiteral&lt;L&gt; of(Class&lt;L&gt; type){...}
+
+    public final Type getType() {...}
+    public final Class&lt;T&gt; getRawType() {...}
+
+    public static Type getGenericInterfaceTypeParameter(Class&lt;?&gt; clazz, Class&lt;?&gt; interfaceType){...}
+    public static Type getTypeParameter(Class&lt;?&gt; clazz, Class&lt;?&gt; interfaceType){...}
+
+    [...]
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Instances of Configuration can be accessed from the ConfigurationProvider singleton:</p>
+</div>
+<div class="listingblock">
+<div class="title">Accessing Configuration</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">Configuration config = ConfigurationProvider.getConfiguration();</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Hereby the singleton is backed up by an instance of ConfigurationProviderSpi.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="PropertyConverter">Property Type Conversion</h4>
+<div class="paragraph">
+<p>As illustrated in the previous section, Configuration also to access non String types. Nevertheless internally
+all properties are strictly modelled as pure Strings only, so non String types must be derived by converting the
+configured String values into the required target type. This is achieved with the help of PropertyConverters:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public interface PropertyConverter&lt;T&gt;{
+    T convert(String value, ConversionContext context);
+    //X TODO Collection&lt;String&gt; getSupportedFormats();
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The ConversionContext contains additional meta-information for the accessed key, inclusing the key&#8217;a name and
+additional metadata.</p>
+</div>
+<div class="paragraph">
+<p>PropertyConverter instances can be implemented and registered by default using the ServiceLoader. Hereby
+a configuration String value is passed to all registered converters for a type in order of their annotated @Priority
+value. The first non-null result of a converter is then returned as the current configuration value.</p>
+</div>
+<div class="paragraph">
+<p>Access to converters is provided by the current ConfigurationContext, which is accessible from
+the ConfigurationProvider singleton.</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="ExtensionPoints">Extension Points</h3>
+<div class="paragraph">
+<p>We are well aware of the fact that this library will not be able to cover all kinds of use cases. Therefore
+we have added functional extension mechanisms to Configuration that were used in other areas of the Java eco-system
+as well:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>with(ConfigOperator operator) allows to pass arbitrary unary functions that take and return instances of
+Configuration. Operators can be used to cover use cases such as filtering, configuration views, security
+interception and more.</p>
+</li>
+<li>
+<p>query(ConfigQuery query) allows to apply a function returning any kind of result based on a
+Configuration instance. Queries are used for accessing/deriving any kind of data based on of a Configuration
+instance, e.g. accessing a Set&lt;String&gt; of root keys present.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Both interfaces hereby are functional interfaces. Because of backward compatibility with Java 7 we did not use
+UnaryOperator and Function from the java.util.function package. Nevertheless usage is similar, so you can
+use Lambdas and method references in Java 8:</p>
+</div>
+<div class="listingblock">
+<div class="title">Applying a ConfigurationQuery using a method reference</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">ConfigSecurity securityContext = ConfigurationProvider.getConfiguration().query(ConfigSecurity::targetSecurityContext);</code></pre>
+</div>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+ConfigSecurity is an arbitrary class only for demonstration purposes.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Operator calls basically look similar:</p>
+</div>
+<div class="listingblock">
+<div class="title">Applying a ConfigurationOperator using a lambda expression:</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">Configuration secured = ConfigurationProvider.getConfiguration()
+                           .with((config) -&gt;
+                                 config.get("foo")!=null?;
+                                 FooFilter.apply(config):
+                                 config);</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="ConfigException">ConfigException</h3>
+<div class="paragraph">
+<p>The class ConfigException models the base <strong>runtime</strong> exception used by the configuration system.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="SPI">SPI</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="PropertySource">Interface PropertySource</h3>
+<div class="paragraph">
+<p>We have seen that constraining configuration aspects to simple literal key/value pairs provides us with an easy to
+understand, generic, flexible, yet expendable mechanism. Looking at the Java language features a java.util.Map&lt;String,
+String&gt; and java.util.Properties basically model these aspects out of the box.</p>
+</div>
+<div class="paragraph">
+<p>Though there are advantages in using these types as a model, there are some severe drawbacks, notably implementation
+of these types is far not trivial and the collection API offers additional functionality not useful when aiming
+for modelling simple property sources.</p>
+</div>
+<div class="paragraph">
+<p>To render an implementation of a custom PropertySource as convenient as possible only the following methods were
+identified to be necessary:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public interface PropertySource{
+      int getOrdinal();
+      String getName();
+      String get(String key);
+      boolean isScannable();
+      Map&lt;String, String&gt; getProperties();
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Hereby</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>get looks similar to the methods on Map. It may return null in case no such entry is available.</p>
+</li>
+<li>
+<p>getProperties allows to extract all property data to a Map&lt;String,String&gt;. Other methods like containsKey,
+keySet as well as streaming operations then can be applied on the returned Map instance.</p>
+</li>
+<li>
+<p>But not in all scenarios a property source may be scannable, e.g. when looking up keys is very inefficient, it
+may not make sense to iterator over all keys to collect the corresponding properties.
+This can be evaluated by calling isScannable(). If a PropertySource is defined as non scannable accesses to
+getProperties() may not return all key/value pairs that would be available when accessed directly using the
+String get(String) method.</p>
+</li>
+<li>
+<p>getOrdinal() defines the ordinal of the PropertySource. Property sources are managed in an ordered chain, where
+property sources with higher ordinals override the ones with lower ordinals. If ordinal are the same, the natural
+ordering of the fulloy qualified class names of the property source implementations are used. The reason for
+not using @Priority annotations is that property sources can define dynamically their ordinals, e.g. based on
+a property contained with the configuration itself.</p>
+</li>
+<li>
+<p>Finally getName() returns a (unique) name that identifies the PropertySource within the current
+ConfigurationContext.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>This interface can be implemented by any kind of logic. It could be a simple in memory map, a distributed configuration
+provided by a data grid, a database, the JNDI tree or other resources. Or it can be a combination of multiple
+property sources with additional combination/aggregation rules in place.</p>
+</div>
+<div class="paragraph">
+<p>PropertySources are by default registered using the Java ServiceLoader or the mechanism provided by the current
+ active ServiceContext.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="PropertySourceProvider">Interface PropertySourceProvider</h3>
+<div class="paragraph">
+<p>Instances of this type can be used to register multiple instances of PropertySource.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">// @FunctionalInterface in Java 8
+public interface PropertySourceProvider{
+    Collection&lt;PropertySource&gt; getPropertySources();
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This allows to evaluate the property sources to be read/that are available dynamically. All property sources
+are read out and added to the current chain of PropertySource instances within the current ConfigurationContext,
+refer also to <a id="ConfigurationContext"></a>.</p>
+</div>
+<div class="paragraph">
+<p>PropertySourceProviders are by default registered using the Java ServiceLoader or the mechanism provided by the
+current active ServiceContext.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="PropertyFilter">Interface PropertyFilter</h3>
+<div class="paragraph">
+<p>Also PropertyFilters can be added to a Configuration. They are evaluated before a Configuration instance is
+passed to the user. Filters can hereby used for multiple purposes, such as</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>resolving placeholders</p>
+</li>
+<li>
+<p>masking sensitive entries, such as passwords</p>
+</li>
+<li>
+<p>constraining visibility based on the current active user</p>
+</li>
+<li>
+<p>&#8230;&#8203;</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>PropertyFilters are by default registered using the Java ServiceLoader or the mechanism provided by the current
+active ServiceContext. Similar to property sources they are managed in an ordered filter chain, based on the
+applied @Priority annotations.</p>
+</div>
+<div class="paragraph">
+<p>A PropertyFilter is defined as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">// Functional Interface
+public interface PropertyFilter{
+    String filterProperty(String value, FilterContext context);
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Hereby:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>returning null will remove the key from the final result</p>
+</li>
+<li>
+<p>non null values are used as the current value of the key. Nevertheless for resolving multi-step dependencies
+filter evaluation has to be continued as long as filters are still changing some of the values to be returned.
+To prevent possible endless loops after a defined number of loops evaluation is stopped.</p>
+</li>
+<li>
+<p>FilterContext provides additional metdata, inclusing the key accessed, which is useful in many use cases.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>This method is called each time a single entry is accessed, and for each property in a full properties result.</p>
+</div>
+<div class="sect3">
+<h4 id="PropertyValueCombinationPolicy">Interface PropertyValueCombinationPolicy</h4>
+<div class="paragraph">
+<p>This interface can be implemented optional. It can be used to adapt the way how property key/value pairs are combined to
+build up the final Configuration to be passed over to the PropertyFilters. The default implementation is just
+overriding all values read before with the new value read. Nevertheless for collections and other use cases it is
+often useful to have alternate combination policies in place, e.g. for combining values from previous sources with the
+new value. Finally looking at the method&#8217;s signature it may be surprising to find a Map for the value. The basic
+value hereby is defined by currentValue.get(key). Nevertheless the Map may also contain additional meta entries,
+which may be considered by the policy implementation.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">// FunctionalInterface
+public interface PropertyValueCombinationPolicy{
+
+   PropertyValueCombinationPolicy DEFAULT_OVERRIDING_COLLECTOR =
+     new PropertyValueCombinationPolicy(){
+       @Override
+       public Map&lt;String,String&gt; collect(Map&lt;String,String&gt; currentValue, String key,
+                                         PropertySource propertySource) {
+           PropertyValue value = propertySource.get(key);
+           return value!=null?value.getConfigEntries():currentValue;
+       }
+   };
+
+   String collect(Map&lt;String,String&gt; currentValue currentValue, String key,
+                  PropertySource propertySource);
+
+}</code></pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="ConfigurationContext">The Configuration Context</h4>
+<div class="paragraph">
+<p>A Configuration is created from a ConfigurationContext, which is
+accessible from Configuration.getContext():</p>
+</div>
+<div class="listingblock">
+<div class="title">Accessing the current ConfigurationContext</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">ConfigurationContext context = ConfigurationProvider.getConfiguration().getContext();</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The ConfigurationContext provides access to the internal artifacts that determine the final Configuration and
+also defines the ordering of the property sources, filters and converters contained:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>PropertySources registered (including the PropertySources provided from PropertySourceProvider instances).</p>
+</li>
+<li>
+<p>PropertyFilters registered, which filter values before they are returned to the client</p>
+</li>
+<li>
+<p>PropertyConverter instances that provide conversion functionality for converting String values to any other types.</p>
+</li>
+<li>
+<p>the current PropertyValueCombinationPolicy that determines how property values from different PropertySources are
+combined to the final property value returned to the client.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="Mutability">Changing the current Configuration Context</h4>
+<div class="paragraph">
+<p>A ConfigurationContext is not mutable once it is created. In many cases mutability is also not needed. Nevertheless
+there are use cases where the current ConfigurationContext (and
+consequently Configuration) must be adapted:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>New configuration files where detected in a folder observed by Tamaya.</p>
+</li>
+<li>
+<p>Remote configuration, e.g. stored in a database or alternate ways has been updated and the current system must
+be adapted to these changes.</p>
+</li>
+<li>
+<p>The overall configuration context is manually setup by the application logic.</p>
+</li>
+<li>
+<p>Within unit testing alternate configuration setup should be setup to meet the configuration requirements of the
+tests executed.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>In such cases the ConfigurationContext must be changed, meaning it must be possible:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>to add or remove PropertySource instances</p>
+</li>
+<li>
+<p>to add or remove PropertyFilter instances</p>
+</li>
+<li>
+<p>to add or remove PropertyConverter instances</p>
+</li>
+<li>
+<p>to redefine the current PropertyValueCombinationPolicy instances.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>This can be achieved by obtaining an instance of ConfigurationContextBuilder. Instances of this builder can be
+accessed either</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>calling ConfigurationContext.toBuilder(), hereby returning a builder instance preinitialized with the values from the
+current ConfigurationContext.</p>
+</li>
+<li>
+<p>calling ConfigurationProvider.getConfigurationContextBuilder().</p>
+</li>
+</ul>
+</div>
+<div class="listingblock">
+<div class="title">Accessing a ConfigurationContextBuilder</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">ConfigurationContextBuilder preinitializedContextBuilder = ConfigurationProvider.getConfiguration().getContext().toBuilder();
+ConfigurationContextBuilder emptyContextBuilder = ConfigurationProvider.getConfigurationContextBuilder();</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>With such a builder a new ConfigurationContext can be created and then applied:</p>
+</div>
+<div class="listingblock">
+<div class="title">Creating and applying a new ConfigurationContext</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">ConfigurationContext context = ConfigurationProvider.getConfiguration().getContext()
+                                    .toBuilder();
+                                    .addPropertySources(new MyPropertySource())
+                                    .addPropertyFilter(new MyFilter())
+                                    .build();</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Hereby the builder provides several methods for adding, removing of property sources and also operations
+for programmatically change the property sourcepriorities, e.g.</p>
+</div>
+<div class="listingblock">
+<div class="title">Chain manipulation using ConfigurationContextBuilder</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">PropertySource propertySource = builder.getPropertySource("sourceId");
+
+// changing the priority of a property source. The ordinal value hereby is not considered.
+// Instead the position of the property source within the chain is changed.
+builder.decreasePriority(propertySource);
+
+// Alternately a comparator expression can be passed to establish the defined ordering...
+builder.sortPropertyFilters(MyFilterComparator::compare);</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Finally if the new context is ready a new configuration can be created, or the context is applied to the
+current configuration.</p>
+</div>
+<div class="listingblock">
+<div class="title">Creating and applying a new ConfigurationContext</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">ConfigurationContext context = builder.build();
+
+// Creates a new matching Configuration instance
+Configuration newConfig = ConfigurationProvider.createConfiguration(context);
+
+// Apply the new context to replace the current configuration:
+ConfigurationProvider.setConfigurationContext(context);</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Hereby ConfigurationProvider.setConfigurationContext(context) can throw an UnsupportedOperationException.
+This can be checked by calling the method boolean ConfigurationProvider.isConfigurationContextSettable().</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="ConfigurationProviderSpi">Implementing and Managing Configuration</h4>
+<div class="paragraph">
+<p>One of the most important SPI in Tamaya if the ConfigurationProviderSpi interface, which is backing up the
+ConfigurationProvider singleton. Implementing this class allows</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>to fully determine the implementation class for Configuration</p>
+</li>
+<li>
+<p>to manage the current ConfigurationContext in the scope and granularity required.</p>
+</li>
+<li>
+<p>to provide access to the right Configuration/ConfigurationContext based on the current runtime context.</p>
+</li>
+<li>
+<p>Performing changes as set with the current ConfigurationContextBuilder.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+</div>
+<h1 id="_interface_configurationcontextbuilder" class="sect0">Interface ConfigurationContextBuilder</h1>
+<div class="paragraph">
+<p>Unresolved directive in &lt;stdin&gt; - include::temp-properties-files-for-site/attributes.adoc[]</p>
+</div>
+<div class="sect1">
+<h2 id="BuilderCore">Interface ConfigurationContextBuilder</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>The Tamaya builder module provides a generic (one time) builder for creating Configuration instances,
+e.g. as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">ConfigurationBuilder builder = new ConfigurationBuilder();
+// do something
+Configuration config = builder.build();</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Basically the builder allows to create configuration instances completely independent of the current configuration
+setup. This gives you full control on the Configuration setup.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_supported_functionality">Supported Functionality</h3>
+<div class="paragraph">
+<p>The builder allows you to add PropertySource instances:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">ConfigurationContextBuilder builder = ConfigurationProvider.getConfigurationContextBuilder();
+builder.addPropertySources(sourceOne, sourceTwo, sourceThree
+Configuration config = ConfigurationProvider.createConfiguration(builder.build());</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Hereby the ordering of the propertysources is not changed, regardless of the ordinals provided
+by the property sources. This allows alternate ordering policies easily being implemented because
+creating a configuration based on a configuration context is already implemented and provided by the core
+API.</p>
+</div>
+<div class="paragraph">
+<p>Similarly you can add filters:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">builder.addPropertyFilters(new MyConfigFilter());</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>&#8230;&#8203;or PropertySourceProvider instances:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">builder.addPropertySourceProvider(new MyPropertySourceProvider());</code></pre>
+</div>
+</div>
+<div class="sect3">
+<h4 id="ServiceContext">The ServiceContext</h4>
+<div class="paragraph">
+<p>The ServiceContext is also a very important SPI, which allows to define how components are loaded in Tamaya.
+The ServiceContext hereby defines access methods to obtain components, whereas itself it is available from the
+ServiceContextManager singleton:</p>
+</div>
+<div class="listingblock">
+<div class="title">Accessing the ServiceContext</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">ServiceContext serviceContext = ServiceContextManager.getServiceContext();
+
+public interface ServiceContext{
+    int ordinal();
+    &lt;T&gt; T getService(Class&lt;T&gt; serviceType);
+    &lt;T&gt; List&lt;T&gt; getServices(Class&lt;T&gt; serviceType);
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>With the ServiceContext a component can be accessed in two different ways:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>access as as a single property. Hereby the registered instances (if multiple) are sorted by priority and then finally
+the most significant instance is returned only.</p>
+</li>
+<li>
+<p>access all items given its type. This will return (by default) all  instances loadedable from the current
+runtime context, ordered by priority, hereby the most significant components added first.</p>
+</li>
+</ol>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_examples">Examples</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_accessing_configuration">Accessing Configuration</h3>
+<div class="paragraph">
+<p><em>Configuration</em> is obtained from the ConfigurationProvider singleton:</p>
+</div>
+<div class="listingblock">
+<div class="title">Accessing Configuration</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">Configuration config = ConfigurationProvider.getConfiguration();</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Many users in a SE context will probably only work with <em>Configuration</em>, since it offers all functionality
+needed for basic configuration with a very lean memory and runtime footprint. In Java 7 access to the keys is
+very similar to <strong>Map&lt;String,String&gt;</strong>, whereas in Java 8 additionally usage of <em>Optional</em> is supported:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">Configuration config = ConfigurationProvider.getConfiguration();
+String myKey = config.get("myKey");                         // may return null
+int myLimit = config.get("all.size.limit", int.class);</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_environment_and_system_properties">Environment and System Properties</h3>
+<div class="paragraph">
+<p>By default environment and system properties are included into the <em>Configuration</em>. So we can access the current
+<em>PROMPT</em> environment variable as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">String prompt = ConfigurationProvider.getConfiguration().get("PROMPT");</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Similary the system properties are directly applied to the <em>Configuration</em>. So if we pass the following system
+property to our JVM:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">java ... -Duse.my.system.answer=yes</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>we can access it as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">boolean useMySystem = ConfigurationProvider.getConfiguration().get("use.my.system.answer", boolean.class);</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_adding_a_custom_configuration">Adding a Custom Configuration</h3>
+<div class="paragraph">
+<p>Adding a classpath based configuration is simply as well: just implement an according <em>PropertySource</em>. With the
+<em>tamaya-spi-support</em> module you just have to perform a few steps:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Define a PropertySource as follows:</p>
+</li>
+</ol>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">  public class MyPropertySource extends PropertiesResourcePropertySource{
+
+    public MyPropertySource(){
+        super(ClassLoader.getSystemClassLoader().getResource("META-INF/cfg/myconfig.properties"), DEFAULT_ORDINAL);
+    }
+  }</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Then register MyPropertySource using the ServiceLoader by adding the following file:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-listing" data-lang="listing">META-INF/services/org.apache.tamaya.spi.PropertySource</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>&#8230;&#8203;containing the following line:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-listing" data-lang="listing">com.mypackage.MyPropertySource</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="APIImpl">API Implementation</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The API is implemented by the Tamaya _Core_module. Refer to the <a href="Core.html">Core documentation</a> for
+further details.</p>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../js/jquery-1.11.1.min.js"></script>
+		    <script src="../js/bootstrap.min.js"></script>
+		    <script src="../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>


[4/9] incubator-tamaya-site git commit: TAMAYA-178: Update file structure to reflect menu structure

Posted by po...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions/mod_model.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_model.html b/documentation/extensions/mod_model.html
new file mode 100644
index 0000000..119c3a5
--- /dev/null
+++ b/documentation/extensions/mod_model.html
@@ -0,0 +1,792 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Model Documentation and Validation</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../../css/base.css" rel="stylesheet"/>
+	    <link href="../../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../../index.html">Home</a></li>
+						<li><a href="../../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../../documentation/api.html">API</a></li>
+								<li><a href="../../documentation/core.html">Core</a></li>
+								<li><a href="../../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../development/source.html">Sources</a></li>
+								<li><a href="../../development/community.html">Community</a></li>
+								<li><a href="../../devguide.html">Development Guide</a></li>
+								<li><a href="../../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../download.html">Download</a></li>
+								<li><a href="../../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../../sitemap.xml">Sitemap</a></li>
+						<li><a href="../../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Model Documentation and Validation</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div id="preamble">
+<div class="sectionbody">
+<!-- toc disabled -->
+</div>
+</div>
+<div class="sect1">
+<h2 id="ExtModel">Tamaya Model Documentation and Validation (Extension Module)</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>The Tamaya model module provides support for documenting configuration and validating configuration read and processed
+against this model. Documentation and config models can be provided in different ways:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>as separate meta-model documents</p>
+</li>
+<li>
+<p>by providers that check classes/packages for configuration annotations (planned)</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_compatibility">Compatibility</h3>
+<div class="paragraph">
+<p>The module is based on Java 7, so it will not run on Java 7 and beyond.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installation">Installation</h3>
+<div class="paragraph">
+<p>To benefit from configuration builder support you only must add the corresponding dependency to your module:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-model&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_describing_the_configuration_meta_model">Describing the Configuration Meta-Model</h3>
+<div class="paragraph">
+<p>Basically configuration is modelled using key, value-pairs. Looking at a keys
+a.b.c.param1 and a.b.c.param2 the following concepts can be used to defined/describe
+configuration:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>the <em>configuration section:</em> In our case this equals to a.b.c, which itself also includes the
+transitive entries a.b and a.</p>
+</li>
+<li>
+<p>the <em>configuration parameter:</em> Basically parameters are adressed using their fully qualified names,
+which equals to the containing section name and the relative parameter name, separated by the dor separator.
+In the above example a.b.c.param1 and a.b.c.param2 are the fully qualified parameter names.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>Now with only these 2 concepts a simple configuration meta-model can be defined as</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>a meta-model&#8217;s name, used just for grouping different meta-models and entries to better separate
+descriptions, e.g. in a management console or generated configuration documentation site.</p>
+</li>
+<li>
+<p>a set of sections.</p>
+</li>
+<li>
+<p>a set of parameters.</p>
+</li>
+<li>
+<p>Both, sections (.model.target=Section) as well as parameter models (.model.target=Parameter)</p>
+<div class="ulist">
+<ul>
+<li>
+<p>can be modelled by a meta-data entry, by default _my.config.key.model.</p>
+</li>
+<li>
+<p>may be required, or optional (.model.required=true|false)</p>
+</li>
+<li>
+<p>may have an optional description</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>Parameters additionally have</p>
+<div class="ulist">
+<ul>
+<li>
+<p>a <em>type</em> (.model.type=Classname), described by the fully qualified class name, into which any configured (String)
+value must be convertable into. If no type is configured java.ui.lang.String is assumed as default.</p>
+</li>
+<li>
+<p>an optional regular expression that can be used to validate the String values returned from a
+configuration (.model.expression=regexpression).</p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Given these concepts a configuration can be fully described. Entries that are not contained in one of the given
+sections (or its children), or parameters not described or marked as valid (e.g. for dynamic configModels of
+a section), are called <em>undefined</em>. Undefined parameters should be grouped with its parent section. Each section, as
+well as all parent sections, including transitive) of any parametet read, should similarly marked as undefined, if and
+only if</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>the section itself is (directly) <em>undefined</em></p>
+</li>
+<li>
+<p>the section is not a <em>super section</em> of a defined section.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>As en example the section definition of a.b.c also implicitly includes the sections a.b and a to be defined
+sections, despite the fact that section properties, such as description and custom configModels are not inherited to
+its parent, or child section.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_defining_meta_configuration_model">Defining Meta-Configuration Model</h3>
+<div class="paragraph">
+<p>The configuration meta-model is defined by simple configuration meta-data entries. The section for all model
+configuration by default is called model, which results in entries such as _my.config.key.model.target=Section.
+Within this section fully qualified configuration keys defines
+which part of the configuration is targeted by certain entries.</p>
+</div>
+<div class="sect3">
+<h4 id="_defining_sections">Defining Sections</h4>
+<div class="paragraph">
+<p>First we start to define some configuration sections, the example below starts with the most important
+variants supported:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-listing" data-lang="listing"># Metamodel information
+_model.provider=ConfigModel Extension
+
+# org.mycompany.root (optional section)
+_org.mycompany.root.model.target=Section
+_org.mycompany.root.model.description=Root section defining my company configuration.
+
+# org.mycompany.security (required section)
+_org.mycompany.security.model.target=Section
+_org.mycompany.security.model.required=true
+_org.mycompany.security.model.description=Security related settings.\
+         refer for further details to XXX.
+
+# minmal section
+_minimal.model.target=Section
+
+# custom validated section
+_validated.model.target=Section
+_validated.model.validator=org.apache.tamaya.model.TestValidator</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Above org.mycompany.root transitively defines 3 sections:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>org</p>
+</li>
+<li>
+<p>org.mycompany</p>
+</li>
+<li>
+<p>org.mycompany.root</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>All sections are optional. Additionally the model above also defines a required section org.mycompany.security.
+Required sections are checked so the section is not empty. It is not checked for any specific parameter hereby,
+only the existance of any child parameter is validated.</p>
+</div>
+<div class="paragraph">
+<p>The <em>class</em> attribute has to be defined for any section definition, because if not set a model entry is, by default,
+defined to be a parameter configModel entry. Given above the entry for the section minimal shows such a minimal
+entry.</p>
+</div>
+<div class="paragraph">
+<p>validated defines a section, which is validated through a customizable validator. Hereby an ordered list of validators
+can be provided, separated by commas.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_defining_parameters">Defining Parameters</h4>
+<div class="paragraph">
+<p>Similarly parameters also can be defined:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-listing" data-lang="listing"># org.mycompany.root.name (required parameter)
+_org.mycompany.root.name.model.target=Parameter
+_org.mycompany.root.name.model.required=true
+_org.mycompany.root.name.model.description=The company's name, also used in the application's main header.
+
+# org.mycompany.security (required parameters)
+_org.mycompany.security.uid.model.required=true
+_org.mycompany.security.uid.model.description=The user id.
+_org.mycompany.security.realm.model.required=true
+_org.mycompany.security.realm.model.validator=org.apache.tamaya.model.RealmValidator
+_org.mycompany.security.realm.model.description=The security realm required.
+_org.mycompany.security.tokenid.model.description=The token id, if the token service is used (optional).
+
+# A minmal parameter
+_minimalClass.model.target=Class</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Similarly as when defining section also parameter entries define transitively its containing sections. E.g.
+the entry above for org.mycompany.security.realm also defines the following sections (as optional).</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>org</p>
+</li>
+<li>
+<p>org.mycompany</p>
+</li>
+<li>
+<p>org.mycompany.security</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Additional entries for section, e.g. configModels to be done, can be added as described in the previous section,
+but are optional.</p>
+</div>
+<div class="paragraph">
+<p>Since the parameter is the default type for model entries, a minmal parameter model entry only only needs it&#8217;s
+parameter type to be defined. In the example above we define a parameter minimalClass of type Class.
+Types hereby are fully qualified class names, whereas as 'java.ui.lang' for built-in language types can be
+ommitted.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_model_locations">Model Locations</h4>
+<div class="paragraph">
+<p>By default the configuration model can be defined at the following locations:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>classpath*:META-INF/configmodel.properties, separate to the current Configuration. This functionality is enabled
+by default, but can be disabled by adding org.apache.tamaya.model.default.enabled=false to your current
+Configuration.</p>
+</li>
+<li>
+<p>implicitly as part of the current +Configuration. THis can be disabled by setting
+the org.apache.tamaya.model.integrated.enabled configuration poarameter to false.</p>
+</li>
+<li>
+<p>customized by configuring the org.apache.tamaya.model.resources in the current Configuration. This
+parameter allows to define the locations from where the model extension is trying to read the
+model configuration. If the <em>resources extension</em> is available in your system it is used to
+evaluate the locations. If not the default Classloader.getResources command is issued. Also it
+is required that the <em>formats extension</em> is available, since this is used to effectively read the
+data. This extension also allows you to use alternate representation formats such as ini, xml, yml, json.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_tracking_configuration_access">Tracking Configuration Access</h3>
+<div class="paragraph">
+<p>The model module also allows tracking which code accesses configuration properties or configuration parameters.
+It checks the stacktrace to evaluate the calling code location, hereby any unwanted packages can be implicitly
+ommitted from the stacktrace. Also the maximal length of the stacktrace retained can be constraint in length.
+The usages are recorded as Usage instances. Hereby for each parameter accessed a corresponding Usage
+instance is created. It can be accessed by calling Usage ConfigUsageStats.getUsage(String key). Usage
+statistics for calling Configuration.getProperties() can be obtained calling Usage getUsageAllProps();.</p>
+</div>
+<div class="paragraph">
+<p>Usage tracking is disabled by default. It can be enabled by calling ConfigUsageStats.enableUsageTracking(true);.
+ConfigUsageStats.isUsageTrackingEnabled() returns the current tracking status.</p>
+</div>
+<div class="paragraph">
+<p>The Usage class itself provides access to further fainer grained usage data (AccessDetail) containing:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>the access point (fqn.ClassName#method(line: xxx)).</p>
+</li>
+<li>
+<p>the number of accesses</p>
+</li>
+<li>
+<p>the first an last access</p>
+</li>
+<li>
+<p>the values read</p>
+</li>
+<li>
+<p>the access stacktrace (filtered by ignored packages).</p>
+</li>
+</ul>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public final class Usage {
+    [...]
+    public String getKey();
+    public void clearMetrics();
+    public int getReferenceCount();
+    public int getUsageCount();
+    public Collection&lt;AccessDetail&gt; getAccessDetails(Class type);
+    public Collection&lt;AccessDetail&gt; getAccessDetails(Package pack);
+    public Collection&lt;AccessDetail&gt; getAccessDetails(String lookupExpression);
+    public Collection&lt;AccessDetail&gt; getAccessDetails();
+    public void trackUsage(String value);
+    public void trackUsage(String value, int maxTraceLength);
+
+
+    public static final class AccessDetail {
+        [...]
+        public void clearStats();
+        public long trackAccess(String value);
+        public long getAccessCount();
+        public String getAccessPoint();
+        public long getFirstAccessTS();
+        public long getLastAccessTS();
+        public String[] getStackTrace();
+        public Map&lt;Long, String&gt; getTrackedValues();
+    }
+
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>With ConfigUsageStats.clearUsageStats() the collected statistics can be reset at any time. Summarizing the main
+singleton for configuration statistics is defined as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public final class ConfigUsageStats{
+    public static Set&lt;String&gt; getIgnoredUsagePackages();
+    public static void addIgnoredUsagePackages(String... packageName);
+    public static void enableUsageTracking(boolean enabled);
+    public static Usage getUsage(String key);
+    public static Collection&lt;Usage&gt; getUsages();
+    public static void clearUsageStats();
+    public static Usage getUsageAllProperties();
+    public static boolean isUsageTrackingEnabled();
+    public static String getUsageInfo();
+}</code></pre>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_customizing_the_stacktrage_for_usage_reporting">Customizing the Stacktrage for Usage Reporting</h4>
+<div class="paragraph">
+<p>The stacktrace tracked by the system can be customized in several ways:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>ConfigUsageStats.addIgnoredPackageNames(String...) allows to add additional ignored package names.</p>
+</li>
+<li>
+<p>With Usage.setMaxTraceLength(int) the maximal size of the stacktraces logged can be set. Setting a
+negative value will disable stacktrace logging completelely.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_accessing_usage_statistics">Accessing Usage Statistics</h3>
+<div class="paragraph">
+<p>Bascially usage statistics are available in two forms:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>The Usage/AccessDetail object tree can be accessed programmatically from the ConfigUsageStats
+singleton.</p>
+</li>
+<li>
+<p>With ConfigUsageStats.getUsageInfo() also a textual representation of the usage statistics
+can be obtained, as illustrated below (a snipped from the current test output):</p>
+</li>
+</ul>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-listing" data-lang="listing">Apache Tamaya Configuration Usage Metrics
+=========================================
+DATE: Sat Apr 30 21:51:09 CEST 2016
+
+220    &lt;&lt;all&gt;&gt;:
+  - 220   &lt;unknown/filtered/internal&gt;                       , first=Sat Apr 30 21:51:09 CEST 2016, last=Sat Apr 30 21:51:09 CEST 2016
+3      java.version:
+  - 2     test.model.TestConfigAccessor#readProperty(line:43), first=Sat Apr 30 21:51:09 CEST 2016, last=Sat Apr 30 21:51:09 CEST 2016
+  - 1     &lt;unknown/filtered/internal&gt;                       , first=Sat Apr 30 21:51:09 CEST 2016, last=Sat Apr 30 21:51:09 CEST 2016</code></pre>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_programmatic_api">Programmatic API</h4>
+<div class="paragraph">
+<p>Basically the configModel module provides a simple API to access the defined ConfigModel instances and
+validating the current Configuration against the models as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public final class ConfigModelManager {
+
+    private ConfigModelManager() {}
+
+    public static Collection&lt;ConfigModel&gt; getModels();
+    public static Collection&lt;ConfigModel&gt; findModels(ModelType type, String namePattern);
+    public static &lt;T extends ConfigModel&gt; T getModel(String name, Class&lt;T&gt; modelType);
+    public static Collection&lt;ConfigModel&gt; findModels(String namePattern);
+
+    public static Collection&lt;ValidationResult&gt; validate();
+    public static Collection&lt;ValidationResult&gt; validate(boolean showUndefined);
+    public static Collection&lt;ValidationResult&gt; validate(Configuration config);
+    public static Collection&lt;ValidationResult&gt; validate(Configuration config, boolean showUndefined);
+
+    public static void registerMBean();
+    public static void registerMBean(String context);
+
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This singleton allows to validate the current or any Configuration instance. All the ConfigModels read also are
+available from the getModels method. This models can be used to provide documentation, e.g. as part of a CLI interface
+or shown on a documentation web server.</p>
+</div>
+<div class="paragraph">
+<p>A ConfigModel hereby is defined as one single part of configuration, typically corresponding to a specific concern
+of your system. As an example you can define different models for different modules or products plugged together.
+With resolution mechanism in place you can also define a shared module that is targeted by multiple modules as a
+single configuration source (e.g. for configuring the machine&#8217;s IP address and subnet settings only once.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public interface ConfigModel {
+
+    ModelTarget getType();
+    String getName();
+    String getProvider();
+    boolean isRequired();
+    String getDescription();
+    Collection&lt;ValidationResult&gt; validate(Configuration config);
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Hereby ModelTarget defines more details on the kind of model:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public enum ModelTarget {
+    /**
+     * A configuration section.
+     */
+    Section,
+    /**
+     * A configuration paramter.
+     */
+    Parameter,
+    /**
+     * ConfigModel that is a container of other validations.
+     */
+    Group
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>A ValidationResult models one validation executed by a ConfigModel on a certain Configuration instance:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public final class ValidationResult {
+
+    public static ValidationResult ofValid(ConfigModel configModel);
+    public static ValidationResult ofMissing(ConfigModel configModel);
+    public static ValidationResult ofMissing(ConfigModel configModel, String message);
+    public static ValidationResult ofError(ConfigModel configModel, String error);
+    public static ValidationResult ofWarning(ConfigModel configModel, String warning);
+    public static ValidationResult ofDeprecated(ConfigModel configModel, String alternateUsage);
+    public static ValidationResult ofDeprecated(ConfigModel configModel);
+    public static ValidationResult ofUndefined(final String key);
+    public static ValidationResult of(ConfigModel configModel, ValidationState result, String message);
+
+    public ConfigModel getConfigModel();
+    public ValidationState getResult();
+    public String getMessage(),
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The result of a complete validation on a concrete Configuration instance finally is mapped as a
+Collection&lt;ValidationResult&gt;, refer to the methods on ConfigModelManager.</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_auto_documentation_of_classes_with_configuration_injection">Auto-Documentation of Classes with Configuration Injection</h3>
+<div class="paragraph">
+<p>A special feature of this module is that it observes ConfigEvent published through Tamaya&#8217;as event channel
+(tamaya-events module). If no metaconfiguration model is found the model manager by default automatically creates
+models for all injected instances on the fly. In the case of CDI integration this happens typically during deployment
+time, since CDI initializes during deployment time. Other runtime platforms, such as OSGI, may have rather different
+behaviour. Nevertheless this means that after your system has been started you should have access to a complete
+set of ConfigModel instances that automatically document all the classes in your system that consume configuration
+(through injection).</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_model_spi">Model SPI</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_registering_configuration_models">Registering Configuration Models</h3>
+<div class="paragraph">
+<p>The model extension also provides an SPI where customized functionality can be added. The main abstraction hereby is
+the ModelProviderSpi interface, which allows any kind of additional config models to be added to the system:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public interface ModelProviderSpi {
+
+    Collection&lt;ConfigModel&gt; getConfigModels();
+
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>New instances implementing this interface must be registered into the current ServiceContext, by default the
+ServiceLoader is used.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_the_configusagestatsspi">The ConfigUsageStatsSpi</h3>
+<div class="paragraph">
+<p>The methods for managing and tracking of configuration changes are similarly delegated to an
+implementation of the org.apache.tamaya.model.spi.ConfigUsageStatsSpi SPI.
+By implementing this SPI and registerting it with the ServiceContext the usage tracking
+logic can be adapted or replaced.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_other_utility_classes">Other Utility Classes</h3>
+<div class="paragraph">
+<p>The module also provides further utility classes that may be useful for implementing models or testing:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>AbstractModel provides a base class that can be extended, when implementing ConfigModel.</p>
+</li>
+<li>
+<p>AreaConfigModel provides a ConfigModel implementation (with a corresponding Builder) to model the
+requirement of certain configuration sections being present, or opionally present, in the model.</p>
+</li>
+<li>
+<p>ParameterModel provides an implementation base class for validating parameters on existence and compliance
+with a regular expression.</p>
+</li>
+<li>
+<p>ConfigDocumentationMBean is the MBean registered that models similar functionality as ConfigModelManager.</p>
+</li>
+<li>
+<p>ConfigModelGroup provides a ConfigModel that groups several child models.</p>
+</li>
+<li>
+<p>ConfigModelReader allows to read ConfigModels from properties files as described at the beginning of this
+document.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_switches_to_enable_disable_functionality">Switches to enable/disable functionality</h3>
+<div class="paragraph">
+<p>The model module provides different switches that can be used to activate or deactivate features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>tamaya.model.integrated.enabled allows to deactivate reading inline metaconfiguration delivered with
+the normal Tamaya Configuration. By default inline entries (_.abcd.model.*) are evaluated.</p>
+</li>
+<li>
+<p>tamaya.model.default.enabled allows to deactivate reading metamodel information from
+classpath:META-INF/configmodel.properties. By default it is active.</p>
+</li>
+<li>
+<p>tamaya.model.resources allows to define additional resources (loaded through the resources extension),
+that can be used to read metamodel information in any format using Tamaya&#8217;s format module.</p>
+</li>
+<li>
+<p>the system property tamaya.model.autoModelEvents allows to activate/deactivate the automatic
+documentation of classes configured and published by Tamaya ConfiguredType event instances (e.g. published by
+Tamaya&#8217;s injection modules).</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../../js/jquery-1.11.1.min.js"></script>
+		    <script src="../../js/bootstrap.min.js"></script>
+		    <script src="../../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions/mod_mutable_config.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_mutable_config.html b/documentation/extensions/mod_mutable_config.html
new file mode 100644
index 0000000..2485b7b
--- /dev/null
+++ b/documentation/extensions/mod_mutable_config.html
@@ -0,0 +1,505 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Mutable Configuration</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../../css/base.css" rel="stylesheet"/>
+	    <link href="../../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../../index.html">Home</a></li>
+						<li><a href="../../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../../documentation/api.html">API</a></li>
+								<li><a href="../../documentation/core.html">Core</a></li>
+								<li><a href="../../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../development/source.html">Sources</a></li>
+								<li><a href="../../development/community.html">Community</a></li>
+								<li><a href="../../devguide.html">Development Guide</a></li>
+								<li><a href="../../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../download.html">Download</a></li>
+								<li><a href="../../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../../sitemap.xml">Sitemap</a></li>
+						<li><a href="../../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Mutable Configuration</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div id="preamble">
+<div class="sectionbody">
+<!-- toc disabled -->
+</div>
+</div>
+<div class="sect1">
+<h2 id="Core">Tamaya Mutable Configuration (Extension Module)</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>Tamaya Configuration by default is read-only, which covers must of the use cases. But there are many legit scenarios
+where configuration should be written back to some backend systems or the local file system. This module adds this
+functionality.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_compatibility">Compatibility</h3>
+<div class="paragraph">
+<p>The module is based on Java 7, so it can be used with Java 7 and beyond.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installation">Installation</h3>
+<div class="paragraph">
+<p>To benefit from configuration mutability support you only must add the corresponding dependency to your module:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-mutable-config&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_core_architecture">Core Architecture</h3>
+<div class="sect3">
+<h4 id="_accessing_mutableconfiguration">Accessing MutableConfiguration</h4>
+<div class="paragraph">
+<p>The core of the module is the MutableConfigurationProvider singleton, which provides access to MutableConfiguration
+instance, which extends Configuration. This interface adds additional methods to add/update or remove property values.
+Hereby changes applied are managed in a transaction like context, called ConfigChangeContext. Each context defines
+a UUID that identifes a change.
+Backends for writing changes applied are of type MutablePropertySource, similarly extending the PropertySource
+SPI with methods for writing changes back. Registrations and ordering policies are like with ordinary property sources,
+with one important difference. Mutable property source can be targeted by write operations.</p>
+</div>
+<div class="paragraph">
+<p>The example below shows how a MutableConfiguration can be obtained the simplest way:</p>
+</div>
+<div class="listingblock">
+<div class="title">Accessing and changing configuration</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">MutableConfiguration config = MutableConfigurationProvider
+                                      .createMutableConfiguration();
+config.put("newKey", "newValue")
+      .put("anotherKey", "updatedValue")
+      .remove("valueNotValid")
+      .store();</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>In the above scenario we use the overall system&#8217;s configuration as the backend to be used.
+We can also pass any Configuration to render it into a mutable instance, e.g.</p>
+</div>
+<div class="listingblock">
+<div class="title">Explicitly passing the backing configuration</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">Configuration config = ...;
+MutableConfiguration config = MutableConfigurationProvider
+                                       .createMutableConfiguration(config);</code></pre>
+</div>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+If a configuration does not contain any MutablePropertySource instances,
+      a MutableConfiguration built from it will not be able to accept any changes.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Following you see the options how to create a MutableConfiguration using the
+MutableConfigurationProvider singleton:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public final class MutableConfigurationProvider {
+
+    private MutableConfigurationProvider(){}
+
+    public static MutableConfiguration createMutableConfiguration();
+    public static MutableConfiguration createMutableConfiguration(
+                                               ChangePropagationPolicy changePropgationPolicy);
+    public static MutableConfiguration createMutableConfiguration(Configuration configuration);
+    public static MutableConfiguration createMutableConfiguration(
+                                                   Configuration configuration,
+                                                   ChangePropagationPolicy changePropgationPolicy);
+
+    [...]
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Hereby MutableConfiguration is defined as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public interface MutableConfiguration extends Configuration {
+
+    void store();
+
+    ConfigChangeRequest getConfigChangeRequest();
+    ChangePropagationPolicy getChangePropagationPolicy();
+
+    MutableConfiguration put(String key, String value);
+    MutableConfiguration putAll(Map&lt;String, String&gt; properties);
+    MutableConfiguration remove(Collection&lt;String&gt; keys);
+    MutableConfiguration remove(String... keys);
+
+}</code></pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_targeting_the_right_mutablepropertysources">Targeting the right MutablePropertySources</h4>
+<div class="paragraph">
+<p>A Configuration may have multiple MutablePropertySource instances present. These are members of Tamaya&#8217;s oredered list of
+PropertySources to evaluate the configuration. Nevertheless writing back changes requires additional aspects to
+be considered:
+* Should changes being written back to all mutable property sources? Or should a key that could be added or removed
+  on a more significant instance not be written/removed on less significant property source instances?
+* Should a change be applied only to a specific mutable property source, regardless its position in the
+  processing chain?</p>
+</div>
+<div class="paragraph">
+<p>Therefore a ChangePropagationPolicy can be set on a MutableConfiguration instance, which allows to control
+this aspect:</p>
+</div>
+<div class="listingblock">
+<div class="title">Explicitly passing the backing configuration</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public interface ChangePropagationPolicy {
+    /**
+     * Method being called when a multiple key/value pairs are added or updated.
+     * @param propertySources the property sources, including readable property sources of the current configuration,
+     *                        never null.
+     * @param configChange the configuration change, not null.
+     */
+    void applyChange(ConfigChangeRequest configChange, Collection&lt;PropertySource&gt; propertySources);
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>By default, changes are applied to all registered MutablePropertySources similarly.</p>
+</div>
+<div class="paragraph">
+<p>Also the MutableConfigurationProvider provides access to the most commonly used change propagation policies:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public final class MutableConfigurationProvider {
+
+    [...]
+
+    public static ChangePropagationPolicy getApplyAllChangePolicy();
+    public static ChangePropagationPolicy getApplyMostSignificantOnlyChangePolicy();
+    public static ChangePropagationPolicy getApplySelectiveChangePolicy(String... propertySourceNames);
+    public static ChangePropagationPolicy getApplyNonePolicy();
+}</code></pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_some_aspects_to_consider">Some Aspects to consider</h4>
+<div class="paragraph">
+<p>Due to Tamaya&#8217;s design the effective effect of your changes to the overall configuration, cannot
+be sometimes a bit tricky to be predicted, since it depends on several aspects:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>is the corresponding configuration resource configured as part of the current system&#8217;s configuration?</p>
+</li>
+<li>
+<p>what is the PropertySource's priority within the configuration context? Is it overriding or overridden
+by other sources?</p>
+</li>
+<li>
+<p>is the change directly visible to the configuration system? E.g. injected values are normally not updated,
+whereas injecting a DynamicValue&lt;T&gt; instance allows to detect and react single value changes. Also the
+PropertySources implementation must be able to detect any configuration changes and adapt its values returned
+accordingly. Finally values also can be marked as immutable or being cached.</p>
+</li>
+<li>
+<p>Is configuration cached, or written/collected directly on access?</p>
+</li>
+<li>
+<p>can the changes applied be committed at all?</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>So it is part of your application configuration design to clearly define, which property sources may be read-only, which
+may be mutable, how overriding should work and to which backends finally any changes should be written back. Nevertheless
+changing or adding value is very easy:</p>
+</div>
+<div class="listingblock">
+<div class="title">Changing a configuration</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">MutableConfiguration config = MutableConfigurationProvider.createMutableConfiguration();
+config.put("newKey", "newValue");
+config.remove("mycluster.myapp.myKey");
+config.store();</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuration_changes">Configuration Changes</h3>
+<div class="paragraph">
+<p>This module does not handle detection of changes to the overall system&#8217;s Configuration. This can be done in
+several ways, e.g. by:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>using the <em>tamaya-events</em> extension, which can be used to observe the system&#8217;s configuration and
+publishing events when things have been changed.</p>
+</li>
+<li>
+<p>The SPI implementing the MutableConfigurationBackendSpi may inform/update any affected PropertySource,
+PropertySourceProvider instances about the changes applied.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_supported_backends">Supported Backends</h3>
+<div class="paragraph">
+<p>Multiple backends are supported. E.g. the <em>etcd</em> integration module of Tamaya also registers
+corresponding SPI implementations/backends. By default this module comes with
+the following MutablePropertySource implementations:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>MutablePropertySource resources, targeting local .properties files, using the java.util.Properties
+format.</p>
+</li>
+<li>
+<p>MutableXmlPropertySource resources, targeting local .xml property files, using the java.util.Properties
+XML format.</p>
+</li>
+</ul>
+</div>
+<div class="sect3">
+<h4 id="_refreshable_property_sources">Refreshable Property Sources</h4>
+<div class="paragraph">
+<p>Somehow similar to configuration changes applied explicitly is the case, where values of underlying
+configuration backends change and must be reflected in the new configuration tree. Examples are:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Configuration files being edited, added or removed.</p>
+</li>
+<li>
+<p>Changes on remote servers like etcd, consul</p>
+</li>
+<li>
+<p>etc.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>For having a common API for refreshable items a Refreshable interface is defined:</p>
+</div>
+<div class="listingblock">
+<div class="title">Refreshable interface</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">/**
+ * Interface to be implemented by items that can be refreshed. By default
+ * these are property sources, but more types may be supported at a later
+ * point in time.
+ */
+public interface Refreshable {
+
+    /**
+     * Refreshes the item by reloading its internal state.
+     */
+    void refresh();
+
+}</code></pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_refreshable_property_sources_2">Refreshable Property Sources</h4>
+
+</div>
+</div>
+<div class="sect2">
+<h3 id="_spis">SPIs</h3>
+<div class="paragraph">
+<p>The module defines MutableConfigurationProviderSpi, that is used as a delegate by the MutableConfigurationProvider
+singleton accessor:</p>
+</div>
+<div class="listingblock">
+<div class="title">SPI: MutableConfigurationProviderSpi</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public interface MutableConfigurationProviderSpi {
+    /**
+     * Creates a new {@link MutableConfiguration} with {@code autoCommit = false} as default.
+     *
+     * @param configuration the configuration, not null.
+     * @param propagationPolicy policy that defines how changes are published to the property
+     *                          sources.
+     * @return a new mutable configuration instance.
+     */
+    MutableConfiguration createMutableConfiguration(Configuration configuration,
+                                                    ChangePropagationPolicy propagationPolicy);
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Implementations are registered with the current ServiceContext (using by default the
+ java.util.ServiceLoader service).</p>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../../js/jquery-1.11.1.min.js"></script>
+		    <script src="../../js/bootstrap.min.js"></script>
+		    <script src="../../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions/mod_optional.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_optional.html b/documentation/extensions/mod_optional.html
new file mode 100644
index 0000000..cdd5427
--- /dev/null
+++ b/documentation/extensions/mod_optional.html
@@ -0,0 +1,225 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Optional Tamaya Configuration</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../../css/base.css" rel="stylesheet"/>
+	    <link href="../../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../../index.html">Home</a></li>
+						<li><a href="../../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../../documentation/api.html">API</a></li>
+								<li><a href="../../documentation/core.html">Core</a></li>
+								<li><a href="../../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../development/source.html">Sources</a></li>
+								<li><a href="../../development/community.html">Community</a></li>
+								<li><a href="../../devguide.html">Development Guide</a></li>
+								<li><a href="../../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../download.html">Download</a></li>
+								<li><a href="../../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../../sitemap.xml">Sitemap</a></li>
+						<li><a href="../../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Optional Tamaya Configuration</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div id="preamble">
+<div class="sectionbody">
+<!-- toc disabled -->
+</div>
+</div>
+<div class="sect1">
+<h2 id="Optional">Tamaya Optional Configuration (Extension Module)</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>The Tamaya optional module provides contains three types only. It is for projects that want to benefit from Tamaya
+configuration optionally only. E.g. doing an OSS project you can declare to support configuration with Tamaya as
+an optional extension. This module can be added as a hard dependency to your code, hereby adding only three artofacts.
+It automatically checks the availability of Tamaya on the classpath and only if available tries to access it for
+configuration evaluation. Additionally an EvaluationPolicy lets you define the precedence of configured values
+(yours, or Tamaya ones if present).</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_compatibility">Compatibility</h3>
+<div class="paragraph">
+<p>The module is based on Java 7, so it will not run on Java 7 and beyond.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installation">Installation</h3>
+<div class="paragraph">
+<p>To benefit from configuration builder support you only must add the corresponding dependency to your module:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-optional&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_reading_configuration_using_the_tamaya_optional_module">Reading configuration using the Tamaya Optional Module</h3>
+<div class="paragraph">
+<p>The optional module allows reading configuration with a small subset of functionality only. For extended of full
+featured config please consider using the Apache Tamaya as a full configuration backend.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">BigDecimal interestRate =
+                 OptionalConfiguration.of(
+                    EvaluationPolicy.TAMAYA_OVERRIDES_OTHER,
+                    (k) -&gt; MyConfigMechanism.get(k) // String get(String key);
+                 )
+                .get("com.mycomp.ratecalculator.rate", BigDecimal.class))
+                .orElse(BigDecimal.of(0.05d));</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../../js/jquery-1.11.1.min.js"></script>
+		    <script src="../../js/bootstrap.min.js"></script>
+		    <script src="../../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions/mod_osgi.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_osgi.html b/documentation/extensions/mod_osgi.html
new file mode 100644
index 0000000..4ee782a
--- /dev/null
+++ b/documentation/extensions/mod_osgi.html
@@ -0,0 +1,315 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extensions: OSGI Integrations</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../../css/base.css" rel="stylesheet"/>
+	    <link href="../../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../../index.html">Home</a></li>
+						<li><a href="../../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../../documentation/api.html">API</a></li>
+								<li><a href="../../documentation/core.html">Core</a></li>
+								<li><a href="../../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../development/source.html">Sources</a></li>
+								<li><a href="../../development/community.html">Community</a></li>
+								<li><a href="../../devguide.html">Development Guide</a></li>
+								<li><a href="../../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../download.html">Download</a></li>
+								<li><a href="../../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../../sitemap.xml">Sitemap</a></li>
+						<li><a href="../../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extensions: OSGI Integrations</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div id="preamble">
+<div class="sectionbody">
+<!-- toc disabled -->
+</div>
+</div>
+<div class="sect1">
+<h2 id="Optional">Tamaya OSGI Support</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>Tamaya provides also support for integration with OSGI. Hereby several options are available how Tamaya can be used in
+an OSGI context:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>All Tamaya modules, its API and core library are actually valid OSGI bundles. So adding them into your OSGI modules
+and using Tamaya is basically directly supported. Nevertheless OSGI works rather differently from a class- and
+resource loading perspective. As long as you rely on Tamaya&#8217;s mechanisms for resource loading things should work
+out of the box. In the back Tamaya&#8217;s core module actually comes with implicit OSGI support, which is automatically
+activated, if Tamaya is running in an OSGI context. This support actually</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Listens on deployed bundles and actively reads all resources configured as java.util.ServiceLoader services and
+registers them as OSGI services. Hereby integration is complete meaning you can also register Tamaya services
+as normal OSGI services, e.g. your own PropertySource instances.</p>
+</li>
+<li>
+<p>Uses the OSGI bundle to resolve for resources, because accessing them from the classloader directly
+typically fails in an OSGI context.</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>Adding Tamaya&#8217;s OSGI integration module replaces the existing OSGI ConfigAdmin service with an istance based on
+Tamaya. Hereby several aspects can be configured using system properties:</p>
+<div class="ulist">
+<ul>
+<li>
+<p>org.tamaya.integration.osgi.cm.ranking (int) allows to configure the OSGI service ranking used by the Tamaya
+BundleActivator to register Tamaya&#8217;s ConfigAdmin service. In OSGI higher ranking precede lower rankings. By default
+Tamaya&#8217;s OSGI extending service registration mechanism is reusing any annotated @Priority priority values as
+corresponsing rankings.</p>
+</li>
+<li>
+<p>org.tamaya.integration.osgi.cm.override (boolean) allows to configure if Tamaya is overriding any existing
+values from the default ConfigAdmin instance, or only extending them. In other words this setting allows you to
+define, which configuration subsystem has precedence for evaluating the final values, either Tamaya based
+configuration (default) or the configuration mechanisms provided by default from your OSGI container (when this flag
+is set to false).</p>
+</li>
+<li>
+<p>org.tamaya.integration.osgi.cm.inject allows you to deactivate injection of configuration values into your
+OSGI services (by default injection is enabled). In all cases accessing the OSGI ConfigAdmin service to
+read your configuration is working as usual. But Tamaya adds additional injection functionality, which allows
+to inject typed configuration as described by the Tamaya injection api.</p>
+</li>
+</ul>
+</div>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>It is also possible to combine things, e.g. when you only define a low ranking for Tamaya&#8217;s configuration service and
+the same time allow injection to be active, you will have Tamaya&#8217;s injection support based on your default
+OSGI configuration.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_compatibility">Compatibility</h3>
+<div class="paragraph">
+<p>All module described are based on Java 7, so it will run on Java 7 and beyond.
+The modules are built against OSGI Compendium version 5.0.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installation">Installation</h3>
+<div class="paragraph">
+<p>To benefit from Tamaya in an OSGI context you must deploy at least the following modules to your OSGI runtime
+environment:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-listing" data-lang="listing"># API and core
+org.apache.tamaya:tamaya-api:{tamaya_version}
+org.apache.tamaya:tamaya-core:{tamaya_version}
+org.apache.geronimo.specs:geronimo-annotation_1.2_spec:1.0-alpha-1
+# injection API. SE injection module and dependencies
+org.apache.tamaya.ext:tamaya-injection-api:{tamaya_version}
+org.apache.tamaya.ext:tamaya-injection:{tamaya_version}
+org.apache.geronimo.specs:geronimo-atinject_1.0_spec:1.0
+org.apache.geronimo.specs:geronimo-el_2.2_spec:1.0.4
+org.apache.geronimo.specs:geronimo-interceptor_1.1_spec:1.0
+org.apache.geronimo.specs:geronimo-jcdi_1.1_spec:1.0
+# OSGI integration and dependencies
+org.apache.tamaya.ext:tamaya-osgi:{tamaya_version}
+org.apache.tamaya.ext:tamaya-functions:{tamaya_version}</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_usage">Usage</h3>
+<div class="paragraph">
+<p>As an example, what is possible you can implement an OSGI service as a normal POJO and publish it as an OSGI service.
+Given that configuration can be injected very easily:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public class HelloServiceImpl implements HelloService{
+
+    @Config("example.message")
+    @ConfigDefault("A Tamaya default.")
+    private String message;
+
+    @Override
+    public String sayHello() {
+        System.err.println("HELLO: " + message);
+        return message;
+    }
+}</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_spi">SPI</h3>
+<div class="paragraph">
+<p>By default the OSGI pid or factory pid is mapped to a corresponding root section in Tamaya&#8217;s configuration. We are
+well aware that this might not always be the desired approach. Therefore there as an SPI service provided that allows
+to determine this mapping:</p>
+</div>
+<div class="listingblock">
+<div class="title">OSGIConfigRootMapper</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public interface OSGIConfigRootMapper {
+
+    String getTamayaConfigRoot(String pid, String factoryPid);
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Registering your own implementation as an OSGI service allows you to redefine the key mapping.
+By default a configuration mapping for pid/factoryPid==myBundle is mapped to [bundle:myBundle].
+This mapping is used as a prefix when collecting the corresponding entries for the OSGI configuration.</p>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../../js/jquery-1.11.1.min.js"></script>
+		    <script src="../../js/bootstrap.min.js"></script>
+		    <script src="../../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>


[7/9] incubator-tamaya-site git commit: TAMAYA-178: Update file structure to reflect menu structure

Posted by po...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions/mod_cdi.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_cdi.html b/documentation/extensions/mod_cdi.html
new file mode 100644
index 0000000..156eb23
--- /dev/null
+++ b/documentation/extensions/mod_cdi.html
@@ -0,0 +1,443 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Classloader Isolation Support</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../../css/base.css" rel="stylesheet"/>
+	    <link href="../../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../../index.html">Home</a></li>
+						<li><a href="../../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../../documentation/api.html">API</a></li>
+								<li><a href="../../documentation/core.html">Core</a></li>
+								<li><a href="../../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../development/source.html">Sources</a></li>
+								<li><a href="../../development/community.html">Community</a></li>
+								<li><a href="../../devguide.html">Development Guide</a></li>
+								<li><a href="../../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../download.html">Download</a></li>
+								<li><a href="../../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../../sitemap.xml">Sitemap</a></li>
+						<li><a href="../../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Classloader Isolation Support</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div id="preamble">
+<div class="sectionbody">
+<!-- toc disabled -->
+</div>
+</div>
+<div class="sect1">
+<h2 id="Remote">Tamaya CDI Integration (Extension Modules)</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>Apache Tamaya currently provides two implementations for integration with CDI extensions implementing similar
+functionality as described in this document:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Loading of CDI managed SPI components as configuration extensions such as PropertySources, PropertySourceProviders,
+PropertyFilters, etc. This also includes SPI defined by any Tamaya submodules.</p>
+</li>
+<li>
+<p>Implement and enable Tamaya&#8217;s configuration injection services with CDI.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Hereby there are two implementations provided:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>tamaya-cdi-ee implements injection by using CDI&#8217;s injection mechanism to inject configuration values into the
+beans managed by the CDI systems.</p>
+</li>
+<li>
+<p>tamaya-cdi-se implements injection by integrating the tamaya-injection SE based injection module (also used
+for Spring and OSGI injection) with CDI. Injection hereby is performed by the Tamaya SE module, whereas
+beans and injection control overall are still managed by CDI.</p>
+</li>
+<li>
+<p>One difference, of course, is that tamaya-se also provides an SE compatible API (ConfigurationInjection,
+ConfigurationInjector), which is not available, when using the purely Java EE based variant.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The annotations used for all injection functionality in Tamaya is defined as a separate module. This allows you to
+code against the injection API without dependency on the concrete injection implementation. As a consequence your
+components will be compatible regardless if deployed in a pure SE, a Java EE (CDI) or OSGI or Spring environment:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-injection-api&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version}&lt;/version&gt;
+&lt;/dependency&gt;</pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_compatibility">Compatibility</h3>
+<div class="paragraph">
+<p>Both modules are based on Java 7, so they will not run on Java 7 and beyond.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installation">Installation</h3>
+<div class="paragraph">
+<p>To benefit from Tamaya CDI integration you only must one of the following dependencies to your module. Ensure that
+you never have installed both CDI extensions at the same time because this may be lead to unforseen side-effects.</p>
+</div>
+<div class="listingblock">
+<div class="title">CDI Pure Application Configuration</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-cdi-ee&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+<div class="listingblock">
+<div class="title">CDI enhanced with Tamaya SE Application Configuration</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-cdi-se&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Both components will auto-register its components and override the default ServicceContext in use. Additionally they
+register CDI extensions that implement Configuration injection as described before.</p>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Important</div>
+</td>
+<td class="content">
+Never install Tamaya&#8217;s tamaya-cdi-se and tamaya-cdi-ee on the same system, since unpredictable side
+           effects could occur.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_registering_cdi_managed_components_into_the_application_s_configurationcontext">Registering CDI managed components into the Application&#8217;s ConfigurationContext</h3>
+<div class="paragraph">
+<p>As mentioned both modules allow to provide Tamaya SPI extensions modules as ordinary CDI managed beans. By default
+extensions should be registered using @Singleton or @ApplicationScoped scope annotations. So you can define/deploy
+additional application specific PropertySources and other artifacts simply by defining a CDI managed bean implementing
+the required SPI interface:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">@Singleton
+public class TestPropertySource implements PropertySource{
+
+    final Map&lt;String,String&gt; config = new HashMap&lt;&gt;();
+
+    public TestPropertySource(){
+        config.put("a.b.c.key1", "keys current a.b.c.key1");
+        config.put("a.b.c.key2", "keys current a.b.c.key2");
+        config.put("{"+getName()+"}source", getClass().getName());
+    }
+
+    @Override
+    public int getOrdinal() {
+        return 10;
+    }
+
+    @Override
+    public String getName() {
+        return getClass().getName();
+    }
+
+    @Override
+    public String get(String key) {
+        return config.get(key);
+    }
+
+    @Override
+    public Map&lt;String, String&gt; getProperties() {
+        return config;
+    }
+
+    @Override
+    public boolean isScannable() {
+        return true;
+    }
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Note that for many SPI&#8217;s there is a priority mechanism using @Priority annotations in place.
+The ServiceContext implementation combines the components registered with the ones loaded from the ServiceLoader
+mechanism hereby considering classloaser hierarchies.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_annotating_your_classes">Annotating your Classes</h3>
+<div class="paragraph">
+<p>Basically annotating your classes is stright forward. @Config defines an additional CDI qualifier that is, depending
+on the module deployed, handled by a CDI producer (tamaya-cdi-ee) or the Tamaya SE injection mechanism $
+(tamaya-cdi-se). All types injected by this module are injected using <em>dependent scope</em>.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">@RequestScoped
+public class ConfiguredClass{
+
+    @Config
+    private String testProperty;
+
+    @Config({"a.b.c.key1","a.b.c.key2","a.b.c.key3"})
+    @ConfigDefault("The current \\${JAVA_HOME} env property is ${env:JAVA_HOME}.")
+    String value1;
+
+    @Config({"foo","a.b.c.key2"})
+    private String value2;
+
+    @Config
+    @ConfigDefault("N/A")
+    private String runtimeVersion;
+
+    @Config
+    @ConfigDefault("${sys:java.version}")
+    private String javaVersion2;
+
+    @Config
+    @ConfigDefault("5")
+    private Integer int1;
+
+    ...
+
+}</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_advanced_use_cases">Advanced Use Cases</h3>
+<div class="paragraph">
+<p>Beside basic configuration Tamaya also covers additional requirements:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>_Reading multiple keys, where the first successful one is determining the value of the configuration, is
+simply possible, by adding multiple keys to the @Configy annotation.
+E.g. for trying first a.b and then new.b you would configure it as follows:</p>
+</li>
+</ul>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">@Config({"a.b", "new.b"}
+private String value;</code></pre>
+</div>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>When you must apply a ConfigOperator to your config, before reading the configuration, you can
+configure one as follows:</p>
+</li>
+</ul>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">@Config({"a.b", "new.b"}
+@WithConfigOperator(MyOperator.class)
+private String value;</code></pre>
+</div>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>When you must apply a some special conversion, or you use a type that is not registered
+for conversion, you can configure a custom converter to be applied as follows:</p>
+</li>
+</ul>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">@Config({"a.b", "new.b"}
+@WithPropertyConverter(MyConverter.class)
+private MySpecialFooType value;</code></pre>
+</div>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Often multiple keys in a class belong to the same root section. So instead of copying this to
+every entry you can define the most common root sections in the type&#8217;s header:</p>
+</li>
+</ul>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">@ConfigDefaultSections({"aaaa", "new"});
+public class MyType{
+
+@Config({"b", "[legacy.bKey]"} // lookups: "aaaa.b", "new.b", legacy.bKey
+private String value;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>In the example above legacy.bKey defines an absolute key, which is not combined with any defined
+default section parts.</p>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../../js/jquery-1.11.1.min.js"></script>
+		    <script src="../../js/bootstrap.min.js"></script>
+		    <script src="../../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions/mod_classloader_support.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_classloader_support.html b/documentation/extensions/mod_classloader_support.html
new file mode 100644
index 0000000..c23fa1f
--- /dev/null
+++ b/documentation/extensions/mod_classloader_support.html
@@ -0,0 +1,279 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Classloader Isolation Support</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../../css/base.css" rel="stylesheet"/>
+	    <link href="../../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../../index.html">Home</a></li>
+						<li><a href="../../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../../documentation/api.html">API</a></li>
+								<li><a href="../../documentation/core.html">Core</a></li>
+								<li><a href="../../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../development/source.html">Sources</a></li>
+								<li><a href="../../development/community.html">Community</a></li>
+								<li><a href="../../devguide.html">Development Guide</a></li>
+								<li><a href="../../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../download.html">Download</a></li>
+								<li><a href="../../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../../sitemap.xml">Sitemap</a></li>
+						<li><a href="../../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Classloader Isolation Support</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div id="preamble">
+<div class="sectionbody">
+<!-- toc disabled -->
+</div>
+</div>
+<div class="sect1">
+<h2 id="Remote">Tamaya Classloader Aware ServiceContext (Extension Module)</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>The Tamaya classloader support provides an alternative implementation of java.util.ServiceLoader, which is aware
+of classloaders, hereby preventing multiple loading of components within a classloader hierarchy.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_compatibility">Compatibility</h3>
+<div class="paragraph">
+<p>The module is based on Java 7, so it will not run on Java 7 and beyond.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installation">Installation</h3>
+<div class="paragraph">
+<p>To benefit from configuration server support you only must add the corresponding dependency to your module:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-classloader-support&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The component will auto.register its components and override the default ServicceContext in use by default
+with an instance of type org.apache.tamaya.clsupport.internal.CLAwareServiceContext. This implementation returns
+a priority of 10.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_how_it_works">How it works</h3>
+<div class="paragraph">
+<p>Basically the component manages a Map of all classloaders encountered. When services are accessed, the component
+will evaluate the services as follows:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>the component walks up the class loader hierarchy.</p>
+</li>
+<li>
+<p>in a next step the hierarchy is traversed down from the parent to the current classloader. Hereby it is checked
+if the service list for the required type has been loaded already. If not the service configuration files are
+evaluated.</p>
+</li>
+<li>
+<p>This configuration file evaluation will ignore all resources already loaded by any of the already traversed parent
+classloaders.</p>
+</li>
+<li>
+<p>For each configuration file newly visible to the classloader currently traversed, the corresponding services are
+loaded unleyy, the same service class already has been loaded by one its parent classloaders or another file
+loaded with this classloader.</p>
+</li>
+<li>
+<p>Finally all services found are returned as the full collection of services valid for the given context (classloader).</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>This ensures no service is loaded multiple times, even when it is referenced multiple times in several service
+configurations. Additionally every service is loaded on the classloader where it is also declared the first time.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_control_logging">Control Logging</h3>
+<div class="paragraph">
+<p>The service component by default only logs errors. But it is possible to change this by reconfiguring the logging
+levels on the following logging names/path: org.apache.tamaya.clsupport.internal.CLAwareServiceContext</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><em>INFO</em> logs additional info on the services accessed.</p>
+</li>
+<li>
+<p><em>FINEST</em> logs additional info on the services scanned and selected.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_classloader_aware_configuration">Classloader Aware Configuration</h3>
+<div class="paragraph">
+<p>The mechanism above is used to provide a classloader aware implementation of ConfigurationContext
+(org.apache.tamaya.clsupport.internal.CLAwareConfigurationContext). Similarly to the service variants
+this class provides a context implementation that manages the core configuration aspects considering classloading
+hierarchies:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>PropertySource, PropertySourceProviders</p>
+</li>
+<li>
+<p>PropertyFilters, PropertyCombinationPolicy</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../../js/jquery-1.11.1.min.js"></script>
+		    <script src="../../js/bootstrap.min.js"></script>
+		    <script src="../../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions/mod_collections.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_collections.html b/documentation/extensions/mod_collections.html
new file mode 100644
index 0000000..6daa723
--- /dev/null
+++ b/documentation/extensions/mod_collections.html
@@ -0,0 +1,466 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Collection Support</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../../css/base.css" rel="stylesheet"/>
+	    <link href="../../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../../index.html">Home</a></li>
+						<li><a href="../../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../../documentation/api.html">API</a></li>
+								<li><a href="../../documentation/core.html">Core</a></li>
+								<li><a href="../../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../development/source.html">Sources</a></li>
+								<li><a href="../../development/community.html">Community</a></li>
+								<li><a href="../../devguide.html">Development Guide</a></li>
+								<li><a href="../../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../download.html">Download</a></li>
+								<li><a href="../../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../../sitemap.xml">Sitemap</a></li>
+						<li><a href="../../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Collection Support</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div id="preamble">
+<div class="sectionbody">
+<!-- toc disabled -->
+</div>
+</div>
+<div class="sect1">
+<h2 id="Optional">Tamaya Collection Support (Extension Module)</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>All configuration in Tamaya is expressed as simple key, value pairs. Nevertheless this concept allows similarly
+the modelling of collection typed values such as lists, sets, maps or simple collections of things. The Tamaya
+Collections extension adds this functionality to the Tamaya eco-system.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_compatibility">Compatibility</h3>
+<div class="paragraph">
+<p>The module is based on Java 7, so it will not run on Java 7 and beyond.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installation">Installation</h3>
+<div class="paragraph">
+<p>To use Tamaya collection support you only must add the corresponding dependency to your module:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-collections&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_overview_2">Overview</h3>
+<div class="paragraph">
+<p>Tamaya Collections adds PropertyConverter implementations that are able to access configuration data
+as lists, maps or sets. By default this works out of the box as easy as accessing any other type of
+configuration data, e.g.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">Configuration config = ConfigurationProvider.getConfiguration();
+
+// Without any content specification, a list of String is returned.
+List&lt;String&gt; simpleList = config.get("my.list.config.entry", List.class);
+
+// Using a TypeLiteral allows to use every convertible sub type supported by the system.
+List&lt;Integer&gt; intList = config.get("my.list.config.entry", new TypeLiteral&lt;List&lt;Integer&gt;&gt;(){});</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Configuration in that case, by default, is a simple comma-separated list of entries, e.g.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties">my.list.config.entry=1,34454,23,344545,3445</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Additionally the module allows adding additional meta-entries, which allows to tweak some of the
+inner-workings, e.g.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>using your own PropertyConverter implementation for parsing entries.</p>
+</li>
+<li>
+<p>specifying a custom separator String to be used to split the items (default is {{','}}.</p>
+</li>
+<li>
+<p>specifying a custom separator String to be used to split key/value paris when parsing map entries.</p>
+</li>
+<li>
+<p>specifying the implementation type of the collection instance to be returned.</p>
+</li>
+<li>
+<p>specifying if the resulting collection should be returned as a modifiable collection.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_supported_types">Supported Types</h3>
+<div class="paragraph">
+<p>This module supports the following types:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>java.util.Collection</p>
+</li>
+<li>
+<p>java.util.List</p>
+</li>
+<li>
+<p>java.util.ArrayList</p>
+</li>
+<li>
+<p>java.util.LinkedList</p>
+</li>
+<li>
+<p>java.util.Set</p>
+</li>
+<li>
+<p>java.util.SortedSet</p>
+</li>
+<li>
+<p>java.util.TreeSet</p>
+</li>
+<li>
+<p>java.util.HashSet</p>
+</li>
+<li>
+<p>java.util.Map</p>
+</li>
+<li>
+<p>java.util.SortedMap</p>
+</li>
+<li>
+<p>java.util.HashMap</p>
+</li>
+<li>
+<p>java.util.TreeMap</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Hereby the type is determined primarly by the parameter type accessed, e.g.
+config.get("mylist", ArrayList.class) will always return an ArrayList
+as result.</p>
+</div>
+<div class="sect3">
+<h4 id="_configuring_the_target_implementation_type">Configuring the target implementation type</h4>
+<div class="paragraph">
+<p>Tamaya Collections allows you to configure the target collection type by adding the
+following meta-configuration entry (shown for the mylist entry). Hereby the package part java.util.
+can be ommitted:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties">mylist=a,b,c
+_mylist.collection-type=LinkedList</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>When calling config.get("mylist", ArrayList.class) this parameter does not have any effect, so you will still
+get an ArrayList as a result. However when you call config.get("mylist", List.class) you will
+get a LinkedList as implementation type.</p>
+</div>
+<div class="paragraph">
+<p>This mechanism similarly applies to all kind of collections, so you can use it similarly to define the implementation
+type returned when accessing List, Map or Collection.</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_collecting_configuration_entries_instead_of_overriding">Collecting Configuration Entries instead of Overriding</h3>
+<div class="paragraph">
+<p>By default Tamaya applies always an overriding CombinationPolicy, where only the configuration entry for
+the most significant configuration entry is used. In case of collections (and maybe also other use cases),
+overriding is not always the mechanism of choice. E.g. when you want to have all entries added to your
+configuration to be <strong>combined</strong> to a new entry containing all values provided by any property sources.</p>
+</div>
+<div class="paragraph">
+<p>Therefore Tamaya Collections also provides a more sophistiated CombinationPolicy (automatically configured)
+that allows to adapt the way how configuration entries are combined. All you must do is declaring
+the mechanism to be applied by an according meta-configuration parameter, e.g. for my.list your config may
+look as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties"># from PropertSource 1
+my.list=1,2,3
+
+# from PropertSource 2
+my.list=4,5,6
+
+# without any additional meta-info these entries would be combined to
+my.list=4,5,6</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>With Tamaya Collections you can now configure the combination policy as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties"># use one of the default policies: override / collect
+_my.list.combination-policy=collect
+
+# use an custom CombinationPolicy to combine the values
+_my.list.combination-policy=com.mycomp.app.MyCombincationPolicy</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>So declaring the collect policy the resulting raw output of the entry looks as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties"># result when applying the collect policy:
+my.list=1,2,3,4,5,6</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The customizable policy mechanism of Tamaya Collections also honors the item-separator meta-configuration
+parameter explained later in this document.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_format_of_collection_configuration">Format of Collection Configuration</h3>
+<div class="paragraph">
+<p>By default collections are modelled as simple String values, that are tokenized into individual parts using a
+defined item-separator (by default ','). So a given configuration entry of 1,2,3 is mapped to "1","2","3".
+If the target context type is something different than String the smae conversion logic is used as when mapping
+configuration parameters directly to non-String target types (implemented as +PropertyConverter classes, manahed
+within the current ConfigurationContext. The procedure is identical for all collection types, including Map types,
+with the difference that each token in the list is parsed once more for separating it into a key and a value.
+The default separator for map entries hereby is "::". Map keys, as of now, are always of type String, whereas
+for values the same logic is applied as for non-map collection types.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties"># a list, using the default format
+list=1,2,3,4,5,6
+
+# a map, using the default format
+map=a::b, c::d</code></pre>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_trimming_of_entries">Trimming of entries</h4>
+<div class="paragraph">
+<p>By default all tokens parsed are trimmed <em>before</em> adding them to the final collection. In case of map entries this is
+also the case for key/value entries. So the following configuration results in the identical values for
+list1,list2 and map1,map2:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties"># a list, using the default format
+list1=1,2,3,4,5,6
+list2=1, 2, 3, 4, 5, 6
+
+# a map, using the default format
+map1=a::b, c::d
+map2=a :: b, c :: d</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Nevertheless truncation can be controlled by the usage of brackets, e.g. the last list or map entry will have a single
+space character as value:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties"># a list, with a ' ' value at the end
+list3=1, 2, 3, 4, 5, [ ]
+
+# a map, with a ' ' value for key '0'
+map3=1 :: a, 2 :: b, 0::[ ]</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Hereby \[ escapes the sequence.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_customizing_the_format">Customizing the format</h4>
+<div class="paragraph">
+<p>The item and entry separators (by default ',' and "::") can be customized by setting corresponding meta-data
+entries as follows, resulting in the same values as in the prevoius listing:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties"># a list, with a ' ' value at the end
+list3=1__2__3__ 4__ 5__[ ]
+_list3.item-separator=__
+
+# a map, with a ' ' value for key '0'
+map3=1-&gt;a, 2-&gt;b, 0-&gt;[ ]
+_map3.map-entry-separator=-&gt;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Of course these settings also can be combined:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties"># a reformatted map
+redefined-map=0==none | 1==single | 2==any
+_redefined-map.map-entry-separator===
+_redefined-map.item-separator=|</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../../js/jquery-1.11.1.min.js"></script>
+		    <script src="../../js/bootstrap.min.js"></script>
+		    <script src="../../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions/mod_consul.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_consul.html b/documentation/extensions/mod_consul.html
new file mode 100644
index 0000000..3524cc8
--- /dev/null
+++ b/documentation/extensions/mod_consul.html
@@ -0,0 +1,245 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Integration with consul (Hashicorp)</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../../css/base.css" rel="stylesheet"/>
+	    <link href="../../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../../index.html">Home</a></li>
+						<li><a href="../../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../../documentation/api.html">API</a></li>
+								<li><a href="../../documentation/core.html">Core</a></li>
+								<li><a href="../../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../development/source.html">Sources</a></li>
+								<li><a href="../../development/community.html">Community</a></li>
+								<li><a href="../../devguide.html">Development Guide</a></li>
+								<li><a href="../../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../download.html">Download</a></li>
+								<li><a href="../../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../../sitemap.xml">Sitemap</a></li>
+						<li><a href="../../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Integration with consul (Hashicorp)</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div id="preamble">
+<div class="sectionbody">
+<!-- toc disabled -->
+</div>
+</div>
+<div class="sect1">
+<h2 id="Optional">Integration with consul (Extension Module)</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>The Tamaya consul integration module provides different artifacts which allows integration of Apachae Tamaya
+configuration with consul. Basically the module supports read-only integration (as a ConsulPropertySource as well
+as a support for MutableConfiguration as defined by the tamaya-mutable-config extension module.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_compatibility">Compatibility</h3>
+<div class="paragraph">
+<p>The module is based on Java 7, so it will not run on Java 7 and beyond.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installation">Installation</h3>
+<div class="paragraph">
+<p>To benefit from configuration builder support you only must add the corresponding dependency to your module:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-consul&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_the_extensions_provided">The Extensions Provided</h3>
+<div class="paragraph">
+<p>Consul integration comes basically with 2 artifacts:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>The org.apache.tamaya.etcd.ConsulPropertySource is a PropertySource with a default ordinal of 100 and the name
+'consul', which is automatically registered.</p>
+</li>
+<li>
+<p>If the tamaya-mutable-config module is loaded it is possible to write property values back into the consul cluster,
+by accessing a MutableConfiguration using the URI config:consul.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_the_consulpropertysource">The ConsulPropertySource</h3>
+<div class="paragraph">
+<p>The ConsulPropertySource is automatically registered and allows the consul servers to be used to be configured. This
+enables to use e.g. in Docker environments the docker environment configuration mechanisms to configure Tamaya running
+in microservice containers to connect with the according consul cluster:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>The property source reads the tamaya.consul.urls system and environment property to evaluate possible etcd servers
+(comma separated), which can be connected to. On error the API just performs a Round-Robin through the list of
+configured servers. Without any configuration http://127.0.0.1:2400 is used. If no connection to any consul
+server can be established a warning will be logged, but deployment will not fail.</p>
+</li>
+<li>
+<p>The ConsulPropertySource finally also allows the values read from the consul cluster to be mapped to prefixed
+context. This can be activated by setting the -Dtamaya.consul.prefix=&lt;PREFIX&gt; system property. E.g. when the prefix is
+set to cluster-config. a consul key of host:known/all is mapped to cluster-config.host:known/all.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../../js/jquery-1.11.1.min.js"></script>
+		    <script src="../../js/bootstrap.min.js"></script>
+		    <script src="../../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions/mod_environment.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_environment.html b/documentation/extensions/mod_environment.html
new file mode 100644
index 0000000..98796a5
--- /dev/null
+++ b/documentation/extensions/mod_environment.html
@@ -0,0 +1,215 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Classloader Isolation Support</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../../css/base.css" rel="stylesheet"/>
+	    <link href="../../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../../index.html">Home</a></li>
+						<li><a href="../../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../../documentation/api.html">API</a></li>
+								<li><a href="../../documentation/core.html">Core</a></li>
+								<li><a href="../../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../development/source.html">Sources</a></li>
+								<li><a href="../../development/community.html">Community</a></li>
+								<li><a href="../../devguide.html">Development Guide</a></li>
+								<li><a href="../../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../download.html">Download</a></li>
+								<li><a href="../../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../../sitemap.xml">Sitemap</a></li>
+						<li><a href="../../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Classloader Isolation Support</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div id="preamble">
+<div class="sectionbody">
+<!-- toc disabled -->
+</div>
+</div>
+<div class="sect1">
+<h2 id="Remote">Tamaya Environment Model (Extension Module)</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>The Tamaya Environment extension adds a simple PropertySourceProvider that evaluates a List of environment context and
+combines them in the given order into an (optional) root context within the system&#8217;s configuration.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_compatibility">Compatibility</h3>
+<div class="paragraph">
+<p>The module is based on Java 7, so it will not run on Java 7 and beyond.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installation">Installation</h3>
+<div class="paragraph">
+<p>To benefit from Tamaya Environment Model you only must add the corresponding dependency to your module:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-envionment&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_how_it_works">How it Works</h3>
+<div class="paragraph">
+<p>tbd</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_reusable_base_classes">Reusable Base Classes</h3>
+<div class="paragraph">
+<p>tbd</p>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../../js/jquery-1.11.1.min.js"></script>
+		    <script src="../../js/bootstrap.min.js"></script>
+		    <script src="../../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>


[5/9] incubator-tamaya-site git commit: TAMAYA-178: Update file structure to reflect menu structure

Posted by po...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions/mod_injection.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_injection.html b/documentation/extensions/mod_injection.html
new file mode 100644
index 0000000..7889b14
--- /dev/null
+++ b/documentation/extensions/mod_injection.html
@@ -0,0 +1,700 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Injection</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../../css/base.css" rel="stylesheet"/>
+	    <link href="../../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../../index.html">Home</a></li>
+						<li><a href="../../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../../documentation/api.html">API</a></li>
+								<li><a href="../../documentation/core.html">Core</a></li>
+								<li><a href="../../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../development/source.html">Sources</a></li>
+								<li><a href="../../development/community.html">Community</a></li>
+								<li><a href="../../devguide.html">Development Guide</a></li>
+								<li><a href="../../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../download.html">Download</a></li>
+								<li><a href="../../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../../sitemap.xml">Sitemap</a></li>
+						<li><a href="../../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Injection</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div id="preamble">
+<div class="sectionbody">
+<!-- toc disabled -->
+</div>
+</div>
+<div class="sect1">
+<h2 id="Core">Tamaya Injection (Extension Module)</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>Tamaya Injection is an extension module. Refer to the <a href="modules.html">extensions documentation</a> for further details
+about modules.</p>
+</div>
+<div class="paragraph">
+<p>Tamaya Injection provides functionality for injecting configured values into beans, or creating configuration
+template instances.</p>
+</div>
+<div class="paragraph">
+<p>Inversion of Control (aka IoC/the Hollywood Principle) has proven to be very useful and effective in avoiding boilerplate
+code. In Java there are different frameworks available that all provide IoC mechanisms. Unfortunately IoC is not a
+built-in language feature. So for a portable solution that works also in Java SE Tamaya itself has to provide the
+according injection services. This module adds this functionality to Tamaya.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_compatibility">Compatibility</h3>
+<div class="paragraph">
+<p>The module is based on Java 7, so it can be used with Java 7 and beyond.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installation">Installation</h3>
+<div class="paragraph">
+<p>Basically Tamaya&#8217;s injection API is deployed as API artifact:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-injection-api&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>To use injection with Java SE you must add the corresponding dependency to your module:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-injection&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Similarly there are other injection implementations available, targetig platforms such as</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Spring, Spring Boot</p>
+</li>
+<li>
+<p>Java EE/CDI</p>
+</li>
+<li>
+<p>OSGI, Apache Felix/Apache Karaf</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_core_concepts">Core Concepts</h3>
+<div class="paragraph">
+<p>Basically you annotate fields or methods in your beans with @Config to enable configuration injection. Tamaya
+additionally defines further annotations that allo you to define additional aspects such as default values, custom
+converters etc. The following example illustrates the basic functionality:
+code snippet:</p>
+</div>
+<div class="listingblock">
+<div class="title">Annotated Example Class</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">package foo.bar;
+
+public class ConfiguredClass {
+
+    // resolved by default, using property name, class and package name: foo.bar.ConfiguredClass.testProperty
+    private String testProperty;
+
+    // Trying to resolve mutiple keys, with a default value, if none could be resolved
+    @Config({"a.b.c.key1","a.b.legacyKey",area1.key2"}, defaultValue="The current \\${JAVA_HOME} env property is ${env:JAVA_HOME}.")
+    String value1;
+
+    // Typical case
+    @Config("a.b.c.key2")
+    private int value2;
+
+    // resolved by default as foo.bar.ConfiguredClass.accessUrl
+    // Using a (default) String -&gt; URL converter
+    @Config(defaultValue="http://127.0.0.1:8080/res/api/v1/info.json")
+    private URL accessUrl;
+
+    // Config injection disabled for this property
+    @NoConfig
+    private Integer int1;
+
+    // Overriding the String -&gt; BigDecimal converter with a custom implementation.
+    @Config("BD")
+    @WithPropertyConverter(MyBigDecimalRoundingAdapter.class)
+    private BigDecimal bigNumber;
+
+    ...
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>When configuring data or configuration classes it is also possible to auto-inject the fields identified. For activating
+this feature a class must be annotated with @ConfigAutoInject:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">. An autoinjected bean class
+--------------------------------------------
+package a.b;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>@ConfigAutoInject
+public final class Tenant {
+  private int id;
+  private String name;
+  private String description;
+  @NoConfig // prevents auto injection for this field
+  private String id2;</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>  public int getId(){
+    return id;
+  }
+  public String getName(){
+    return name;
+  }
+  public String getDescription(){
+    return description;
+  }
+}</pre>
+</div>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>These examples do not show all possibilities provided. Configuring instance of these
+class using Tamaya is very simple: Just pass the instance to Tamaya to let
+Tamaya inject the configuration (or throw a +ConfigException+, if this is not possible):
+
+[source,java]
+.Configuring the +ConfiguredClass+ Instance</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>ConfiguredClass classInstance = new ConfiguredClass();
+ConfigurationInjector.configure(configuredClass);</p>
+</div>
+<div class="paragraph">
+<p>Tenant tenant = new Tenant();
+ConfigurationInjector.configure(tenant);</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>NOTE: Configuration injection works similarly, when used with other integration modules, e.g. when Tamaya is used
+with CDI, Spring or within an OSGI container. For further details refer also to the corresponding integration module's
+documentation.
+
+
+=== The Annotations in detail
+==== The ConfigurationInjector
+
+The +ConfigurationInjector+ interface provides methods that allow any kind of instances to be configured
+by passing the instances to +T ConfigurationInjector.getInstance().configure(T);+. The classes passed
+hereby must not be annotated with +@Config+ for being configurable. By default Tamaya
+tries to determine configuration for each property of an instance passed, using the following resolution policy:
+
+Given a class +a.b.MyClass+ and a field +myField+ it would try to look up the following keys:
+[source, listing]</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>a.b.MyClass.myField
+a.b.MyClass.my-field
+MyClass.myField
+MyClass.my-field
+myField
+my-field</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>So given the following properties:
+
+[source, properties]</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>a.b.Tenant.id=1234
+Tenant.description=Any kind of tenant.
+name=&lt;unnamed&gt;</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>==== Accessing Supplier instances
+
+In many cases you want to create a supplier that simply creates instances that are correctly configured as defined
+by the current context. This can be done using +Suppliers+:
+
+[source, java]</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Supplier&lt;Tenant&gt; configuredTenantSupplier = ConfigurationInjector.getInstance().getConfiguredSupplier(
+  new Supplier&lt;Tenant&gt;(){
+     public Tenant get(){
+       return new Tenant();
+     }
+});</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>With Java 8 it's even more simple:
+
+[source, java]</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Supplier&lt;Tenant&gt; configuredTenantSupplier = ConfigurationInjector.getInstance().getConfiguredSupplier(
+  Tenant::new);</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>Hereby this annotation can be used in multiple ways and combined with other annotations such as
++@WithLoadPolicy+, +@WithConfigOperator+, +@WithPropertyConverter+.
+
+==== Minimal Example
+
+To illustrate the mechanism below the most simple variant of a configured class is given:
+
+[source,java]
+.Most simple configured class</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>pubic class ConfiguredItem{
+  @Config
+  private String aValue;
+}</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>When this class is configured, e.g. by passing it to +ConfigurationInjector.getInstance().configure(Object)+,
+the following is happening:
+
+* The current valid +Configuration+ is evaluated by calling +Configuration cfg = ConfigurationProvider.getConfiguration();+
+* The current property value (String) is evaluated by calling +cfg.get("aValue");+ for each possible key (mutliple
+  keys are possible).
+* if not successful, an error is thrown (+ConfigException+)
+* On success, since no type conversion is involved, the value is injected.
+
+==== Using @DefaultValue
+
+In the next example we explicitly define the property value:
+[source,java]</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>pubic class ConfiguredItem{</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>  @Config(value={"aValue", "a.b.value","a.b.deprecated.value"}, defaultValue="${env:java.version}")
+  private String aValue;
+}</pre>
+</div>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>==== Inject a DynamicValue Property
+
+Within this example we evaluate a dynamic value. This mechanism allows you to listen for configuration changes and to
+commit new values exactly, when convenient for you.
+
+[source,java]</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>pubic class ConfiguredItem{</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>  @Config(value={"aValue", "a.b.value","a.b.deprecated.value"}, defaultValue="${env:java.version}")
+  private DynamicValue aValue;
+}</pre>
+</div>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>The +DynamicValue+ provides you the following functionality:
+
+[source,java]</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>public interface DynamicValue&lt;T&gt; {</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>enum UpdatePolicy{
+    IMMEDIATE,
+    EXPLCIT,
+    NEVER,
+    LOG_AND_DISCARD
+}</pre>
+</div>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>T get();
+T getNewValue();
+T evaluateValue();
+T commitAndGet();
+void commit();
+void discard();
+boolean updateValue();</pre>
+</div>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>void setUpdatePolicy(UpdatePolicy updatePolicy);
+UpdatePolicy getUpdatePolicy();
+void addListener(PropertyChangeListener l);
+void removeListener(PropertyChangeListener l);</pre>
+</div>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>boolean isPresent();
+T orElse(T other);
+// Enabled with Java 8
+// T orElseGet(ConfiguredItemSupplier&lt;? extends T&gt; other);
+// &lt;X extends Throwable&gt; T orElseThrow(ConfiguredItemSupplier&lt;? extends X&gt; exceptionSupplier) throws X;</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>}</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>Summarizing this class looks somehow similar to the new +Optional+ class added with Java 8. It provides
+a wrapper class around a configured instance. Additionally this class provides functionality that gives
+active control, to manage a configured value based on a ++LoadingPolicy+:
+
+* +IMMEDEATE+ means that when the configuration system detects a change on the underlying value, the new value
+  is automatically applied without any further notice.
+* +EXPLICIT+ means that a new configuration value is signalled by setting the +newValue+ property. if +getNewValue()+
+  returns a non null value, the new value can be applied by calling +commit()+. You can always access the newest value,
+  hereby implicitly applying it, by accessing it via +commitAndGet()+. Also it is possible ti ignore a change by calling
+  +discard()+.
+* +NEVER+ means the configured value is evaluated once and never updated. All changes are silently discarded.
+* +LOG_AND_DISCARD+ similar to +NEVER+, but changes are logged before they are discarded.
+
+Summarizing a +DynamicValue+ allows you
+
+* to reload actively updates of configured values.
+* update implicitly or explicitly all changes on the value.
+* add listeners that observe changes of a certain value.
+
+Dynamic values also allow on-the-fly reevaluation of the value by calling +evaluateValue()+. Hereby the value of the
+instance is not changed.
+
+
+==== Ommitting Injection using @NoConfig
+
+Adding the @NoConfig annotation prevents a field or method to be auto-injected from
+configuration. This is especially useful, if a type is annotated as @ConfigAutoInject with auto-confiuration
+turned on as follows:
+
+[source,java]</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>@ConfigAutoInject
+pubic class ConfiguredItem{</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>@NoConfig
+private transient int sum;</pre>
+</div>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>  private String a;
+  private String b;
+  Private String c;
+}</pre>
+</div>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>In this case the fields +a,b,c+ are configured, whereas the field +sum+ is ignored regarding
+configuration.
+
+==== Adding custom operators using @WithConfigOperator
+
+The @WithConfigOperator annotation allows you define a class of type +ConfigOperator+, to being applied
+to the final +Configuration+, BEFORE the value is injected. This can be used for various use cases, e.g.
+filtering or validating the visible properties for a certain use case.
+
+[source,java]</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>@WithConfigOperator(MyConfigView.class)
+pubic class ConfiguredItem{</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>@Config
+private String a;</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>}</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>==== Adding custom property converters using @WithPropertyConverter
+
+The @WithPropertyConverter annotation allows you to define a class of type +PropertyConverter+, to be applied
+on a property configured to convert the String value to the expected injected type. This can be used for
+various use cases, e.g. adding custom formats, config models, decryption.
+
+[source,java]</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>pubic class ConfiguredItem{</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>@WithPropertyConverter(MyPropertyConverter.class)
+@Config
+private String a;</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>}</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>==== Defining the loading policy to be applied to configured values using @WithLoadPolicy
+
+The @WithLoadPolicy annotation allows to define the loading behaviour to be applied. The +LoadPolicy+
+enum hereby defines the various loading modes.
+
+[source,java]</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>@WithLoadPolicy(LoadPolicy.NEVER)
+pubic class BootTimeStableConfig{</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>@WithPropertyConverter(MyPropertyConverter.class)
+@Config
+private String a;</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>}</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>=== Configuration Events
+
+Similar to CDI Tamaya publishes Configuration events, when instances were configured. It depends on the effective
+event backend in use, if and how events are published:
+
+* when you have the CDI extension active events are published using the default CDI event mechanism.
+* in all other scenarios events are delegated to the +tamaya-events+ module, if available,
+* if no event delegation is available no events are published.
+
+The event published is very simple:
+
+[source,java]</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>public interface ConfiguredType {
+    Class getType();
+    String getName();
+    Collection&lt;ConfiguredField&gt; getConfiguredFields();
+    Collection&lt;ConfiguredMethod&gt; getConfiguredMethods();
+    void configure(Object instance, Configuration config);
+}</p>
+</div>
+<div class="paragraph">
+<p>public interface ConfiguredField {
+    Class&lt;?&gt; getType();
+    Collection&lt;String&gt; getConfiguredKeys();
+    String getName();
+    String getSignature();
+    Field getAnnotatedField();
+    void configure(Object instance, Configuration config);
+}</p>
+</div>
+<div class="paragraph">
+<p>public interface ConfiguredMethod {
+    Collection&lt;String&gt; getConfiguredKeys();
+    Class&lt;?&gt;[] getParameterTypes();
+    Method getAnnotatedMethod();
+    String getName();
+    String getSignature();
+    void configure(Object instance, Configuration config);
+}</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre></pre>
+</div>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../../js/jquery-1.11.1.min.js"></script>
+		    <script src="../../js/bootstrap.min.js"></script>
+		    <script src="../../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions/mod_jodatime.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_jodatime.html b/documentation/extensions/mod_jodatime.html
new file mode 100644
index 0000000..2ddcc39
--- /dev/null
+++ b/documentation/extensions/mod_jodatime.html
@@ -0,0 +1,223 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: JodaTime</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../../css/base.css" rel="stylesheet"/>
+	    <link href="../../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../../index.html">Home</a></li>
+						<li><a href="../../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../../documentation/api.html">API</a></li>
+								<li><a href="../../documentation/core.html">Core</a></li>
+								<li><a href="../../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../development/source.html">Sources</a></li>
+								<li><a href="../../development/community.html">Community</a></li>
+								<li><a href="../../devguide.html">Development Guide</a></li>
+								<li><a href="../../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../download.html">Download</a></li>
+								<li><a href="../../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../../sitemap.xml">Sitemap</a></li>
+						<li><a href="../../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: JodaTime</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div id="preamble">
+<div class="sectionbody">
+<!-- toc disabled -->
+</div>
+</div>
+<div class="sect1">
+<h2 id="Core">Tamaya JodaTime (Extension Module)</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>Tamaya JodaTime is an extension module to support the usage of <a href="http://www.joda.org/joda-time/">Joda-Time</a>
+in conjunction with Tamaya. Tamaya JodaTime defines some additional property
+converters to retrieve Joda-Time types from a given configuration.</p>
+</div>
+<div class="paragraph">
+<p>Refer to the <a href="modules.html">extensions documentation</a> for further details
+about modules.</p>
+</div>
+<div class="paragraph">
+<p>tools to locate resources in your classpath or file system based on descriptive
+ant-styled resource patterns. To use this module add the following dependency:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-listing" data-lang="listing">&lt;dependency&gt;
+  &lt;grooupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-jodatime&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>After adding this dependency to your project you can retrieve
+Joda-Time based values directly from a given configuration.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">Configuration configuration = ConfigurationProvider.getConfiguration();
+
+DateTime pit = configuration.get("pointInTime", DateTime.class)</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_specifying_date_and_time_values">Specifying date and time values</h3>
+<div class="paragraph">
+<p>To be written.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_specifing_periods_and_durations">Specifing periods and durations</h3>
+<div class="paragraph">
+<p>To be written.</p>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../../js/jquery-1.11.1.min.js"></script>
+		    <script src="../../js/bootstrap.min.js"></script>
+		    <script src="../../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions/mod_json.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_json.html b/documentation/extensions/mod_json.html
new file mode 100644
index 0000000..2cfe948
--- /dev/null
+++ b/documentation/extensions/mod_json.html
@@ -0,0 +1,237 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Builder</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../../css/base.css" rel="stylesheet"/>
+	    <link href="../../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../../index.html">Home</a></li>
+						<li><a href="../../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../../documentation/api.html">API</a></li>
+								<li><a href="../../documentation/core.html">Core</a></li>
+								<li><a href="../../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../development/source.html">Sources</a></li>
+								<li><a href="../../development/community.html">Community</a></li>
+								<li><a href="../../devguide.html">Development Guide</a></li>
+								<li><a href="../../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../download.html">Download</a></li>
+								<li><a href="../../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../../sitemap.xml">Sitemap</a></li>
+						<li><a href="../../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Builder</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div id="preamble">
+<div class="sectionbody">
+<!-- toc disabled -->
+</div>
+</div>
+<div class="sect1">
+<h2 id="BuilderCore">Tamaya JSON (Extension Module)</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>The Tamaya json module provides support for reading configuration using JSON format:</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_compatibility">Compatibility</h3>
+<div class="paragraph">
+<p>The module is based on Java 7, so it will run on Java 7 and beyond.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installation">Installation</h3>
+<div class="paragraph">
+<p>To benefit from configuration builder support you only must add the corresponding dependency to your module:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-json&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This extension also transitively requires the tamaya.formats module.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_reading_configuration_in_json">Reading configuration in JSON</h3>
+<div class="paragraph">
+<p>For reading JSON based onfiguration most easily a JSONFormat can be provided:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">ConfigurationData dataRead = ConfigurationFormats.readConfig(
+    getClassLoader().getResource("myFileConfig.json"), new JSONFormat()));</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_examples">Examples</h3>
+<div class="paragraph">
+<p>The JSON module adds instances of ConfigurationFormat so JSON configuration can be read and mapped to the
+according property maps. E.g. the following file is a simple and correct JSON configuration:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-listing" data-lang="listing">{
+  "a" : "A",
+  "b" : "B",
+  "c" : "C",
+  "d" : {
+      "o" : "O",
+      "p" : "P"
+    }
+}</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../../js/jquery-1.11.1.min.js"></script>
+		    <script src="../../js/bootstrap.min.js"></script>
+		    <script src="../../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions/mod_management.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_management.html b/documentation/extensions/mod_management.html
new file mode 100644
index 0000000..cb80b0a
--- /dev/null
+++ b/documentation/extensions/mod_management.html
@@ -0,0 +1,297 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: JMX Management Access</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../../css/base.css" rel="stylesheet"/>
+	    <link href="../../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../../index.html">Home</a></li>
+						<li><a href="../../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../../documentation/api.html">API</a></li>
+								<li><a href="../../documentation/core.html">Core</a></li>
+								<li><a href="../../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../development/source.html">Sources</a></li>
+								<li><a href="../../development/community.html">Community</a></li>
+								<li><a href="../../devguide.html">Development Guide</a></li>
+								<li><a href="../../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../download.html">Download</a></li>
+								<li><a href="../../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../../sitemap.xml">Sitemap</a></li>
+						<li><a href="../../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: JMX Management Access</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div id="preamble">
+<div class="sectionbody">
+<!-- toc disabled -->
+</div>
+</div>
+<div class="sect1">
+<h2 id="ExtModel">Tamaya Management (JMX Support) (Extension Module)</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>The Tamaya management module provides support for registering a JMX management bean for accessing configuration.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_compatibility">Compatibility</h3>
+<div class="paragraph">
+<p>The module is based on Java 7, so it will run on Java 7 and beyond.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installation">Installation</h3>
+<div class="paragraph">
+<p>To benefit from configuration builder support you only must add the corresponding dependency to your module:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-management&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_the_managedconfigmbean_bean">The ManagedConfigMBean bean</h3>
+<div class="paragraph">
+<p>The management model defines the MBean of type ManagedConfigMBean as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public interface ManagedConfigMBean {
+    String getJsonConfigurationInfo();
+    String getXmlConfigurationInfo();
+    Map&lt;String, String&gt; getConfiguration();
+    Map&lt;String, String&gt; getSection(String area, boolean recursive);
+    Set&lt;String&gt; getSections();
+    Set&lt;String&gt; getTransitiveSections();
+    boolean isSectionExisting(String area);
+    default boolean isSectionEmpty(String area);
+}</code></pre>
+</div>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>getJsonConfigurationInfo,getXmlConfigurationInfo return a JSON or XML representation of the
+current configuration.</p>
+</li>
+<li>
+<p>getConfiguration access the current configuration properties.</p>
+</li>
+<li>
+<p>getSection allows to extract all entries below a certain subkey. With <em>recursive</em> the query
+will not only return direct children, but also recursively walk down all subsection of the
+given section key.</p>
+</li>
+<li>
+<p>getSections returns all current known section names.</p>
+</li>
+<li>
+<p>getTransitiveSections return all sections, but also adds all transitive subsection as single
+entries to the set as well.</p>
+</li>
+<li>
+<p>isSectionExisting and isSectionEmpty allow for quering if entries are present under the given
+section keys.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_registering_the_managedconfigmbean">Registering the ManagedConfigMBean</h3>
+<div class="paragraph">
+<p>For registering the current ManagedConfigMBean instance to the current MBean platform server, the
+following static methods are available:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public final class ConfigManagementSupport{
+
+    private JMXSupport(){}
+
+    public static ObjectName registerMBean();
+    public static ObjectName registerMBean(String context);
+    public static ObjectName unregisterMBean();
+    public static ObjectName unregisterMBean(String context);
+}</code></pre>
+</div>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>registerMBean creates a new ManagedConfigMBean instance using the ServiceContextManager
+and registers it. Optionally an additional <em>context</em> parameter can be passed, which allows
+to register the management bean for different classloaders, e.g. for different
+ears.</p>
+</li>
+<li>
+<p>unregisterMBean does the oppsite than registering obviously.</p>
+</li>
+</ul>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+The instance of ManagedConfigMBean to be created and registered is evaluated by use og the
+      ServiceContextManager. So you can replace the bean implementation by registering your
+      overriding implementation using the current ServiceContext (by default using
+      java.util.ServiceLoader and @Priority annotation.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../../js/jquery-1.11.1.min.js"></script>
+		    <script src="../../js/bootstrap.min.js"></script>
+		    <script src="../../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions/mod_metamodel-staged.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_metamodel-staged.html b/documentation/extensions/mod_metamodel-staged.html
new file mode 100644
index 0000000..324df10
--- /dev/null
+++ b/documentation/extensions/mod_metamodel-staged.html
@@ -0,0 +1,252 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Staged PropertySources</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../../css/base.css" rel="stylesheet"/>
+	    <link href="../../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../../index.html">Home</a></li>
+						<li><a href="../../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../../documentation/api.html">API</a></li>
+								<li><a href="../../documentation/core.html">Core</a></li>
+								<li><a href="../../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../development/source.html">Sources</a></li>
+								<li><a href="../../development/community.html">Community</a></li>
+								<li><a href="../../devguide.html">Development Guide</a></li>
+								<li><a href="../../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../download.html">Download</a></li>
+								<li><a href="../../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../../sitemap.xml">Sitemap</a></li>
+						<li><a href="../../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Staged PropertySources</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div id="preamble">
+<div class="sectionbody">
+<!-- toc disabled -->
+</div>
+</div>
+<div class="sect1">
+<h2 id="Remote">Tamaya Metamodel: Staged PropertySources (Extension Module)</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>The Tamaya Staged PropertySources extension provides a base class and default implementation for loading
+multistaged configuration easily from a common configuration location.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_compatibility">Compatibility</h3>
+<div class="paragraph">
+<p>The module is based on Java 7, so it will run on Java 7 and beyond.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installation">Installation</h3>
+<div class="paragraph">
+<p>To benefit from Tamaya CDI integration you only must add the corresponding dependency to your module:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya.ext.metamodels&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-metamodel.staged&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The component will not register any components. The component basically provides the following options:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Use it as default configuration extension. Hereby you should define your stages in use by setting the
+env.STAGE system property with the stages to be loaded in order of precedence (most significant last),
+e.g. sys-env,DEFAULTS,TEST,DEVELOPMENT. _Additionally_ you must register
++org.apache.tamaya.staged.StagedConfigPropertiesProvider as in</p>
+</li>
+</ul>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>META-INF
+|_service
+  |_org.apache.tamaya.spi.PropertySourceProvider</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Tamaya will then load .properties files from System.getenv(),
+classpath:DEFAULTS.properties, classpath:TEST.properties and
+classpath:DEVELOPMENT.properties</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>For more advanced requirements, such as alternate locations, patterns or formats, you can also extend one of the
+provided classes (org.apache.tamaya.staged.StagedConfigPropertiesProvider,</p>
+<div class="ulist">
+<ul>
+<li>
+<p>BaseStagedPropertySourceProvider). Extending provides features such as:</p>
+</li>
+<li>
+<p>Defining a prefix for all entries provided/loaded.</p>
+</li>
+<li>
+<p>Using alternate locations or formats.</p>
+</li>
+<li>
+<p>Defining the ordinals used.</p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../../js/jquery-1.11.1.min.js"></script>
+		    <script src="../../js/bootstrap.min.js"></script>
+		    <script src="../../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>


[3/9] incubator-tamaya-site git commit: TAMAYA-178: Update file structure to reflect menu structure

Posted by po...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions/mod_remote.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_remote.html b/documentation/extensions/mod_remote.html
new file mode 100644
index 0000000..2a6b00a
--- /dev/null
+++ b/documentation/extensions/mod_remote.html
@@ -0,0 +1,288 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Remote Configuration</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../../css/base.css" rel="stylesheet"/>
+	    <link href="../../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../../index.html">Home</a></li>
+						<li><a href="../../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../../documentation/api.html">API</a></li>
+								<li><a href="../../documentation/core.html">Core</a></li>
+								<li><a href="../../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../development/source.html">Sources</a></li>
+								<li><a href="../../development/community.html">Community</a></li>
+								<li><a href="../../devguide.html">Development Guide</a></li>
+								<li><a href="../../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../download.html">Download</a></li>
+								<li><a href="../../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../../sitemap.xml">Sitemap</a></li>
+						<li><a href="../../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Remote Configuration</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div id="preamble">
+<div class="sectionbody">
+<!-- toc disabled -->
+</div>
+</div>
+<div class="sect1">
+<h2 id="Remote">Tamaya Remote Configuration (Extension Module)</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>The Tamaya remote module provides support for reading configuration from remote resources. It provides
+especially out-of-the-box support for reading scoped configuration from a configuration server as
+provided with the <em>Tamaya server module</em> .</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_compatibility">Compatibility</h3>
+<div class="paragraph">
+<p>The module is based on Java 7, so it will not run on Java 7 and beyond.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installation">Installation</h3>
+<div class="paragraph">
+<p>To benefit from configuration builder support you only must add the corresponding dependency to your module:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-remote&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_reading_remote_configuration_from_a_tamaya_configuration_server">Reading Remote configuration from a Tamaya Configuration Server</h3>
+<div class="paragraph">
+<p>The remote module allows reading JSON formatted configuration as provided by the <em>Tamaya server extension</em> . The JSON
+format used looks as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-json" data-lang="json">{
+  "java.vendor.url": "http://java.oracle.com/",
+  "java.vendor.url.bug": "http://bugreport.sun.com/bugreport/",
+  "java.vm.info": "mixed mode",
+  "java.vm.name": "Java HotSpot(TM) 64-Bit Server VM",
+  "java.vm.specification.name": "Java Virtual Machine Specification",
+  "java.vm.specification.vendor": "Oracle Corporation",
+  "java.vm.specification.version": "1.8",
+  "java.vm.vendor": "Oracle Corporation",
+  "java.vm.version": "25.45-b02",
+  "sun.arch.data.model": "64",
+  "sun.boot.class.path": "C:\apps\jdk18\jre\lib\resources.jar;C:\apps\jdk18\jre\lib\rt.jar;C:\apps\jdk18\jre\lib\sunrsasign.jar;C:\apps\jdk18\jre\lib\jsse.jar;C:\apps\jdk18\jre\lib\jce.jar;C:\apps\jdk18\jre\lib\charsets.jar;C:\apps\jdk18\jre\lib\jfr.jar;C:\apps\jdk18\jre\classes",
+  "sun.boot.library.path": "C:\apps\jdk18\jre\bin",
+  "sun.cpu.endian": "little",
+  "sun.cpu.isalist": "amd64",
+  "sun.desktop": "windows",
+  "sun.io.unicode.encoding": "UnicodeLittle",
+  "sun.java.command": "com.intellij.rt.execution.application.AppMain org.apache.tamaya.examples.remote.server.Start",
+  "sun.java.launcher": "SUN_STANDARD",
+  "sun.jnu.encoding": "Cp1252",
+  "sun.management.compiler": "HotSpot 64-Bit Tiered Compilers",
+  "sun.os.patch.level": "",
+  "{meta}class": "org.apache.tamaya.functions.FilteredConfiguration",
+  "{meta}info.filter": "java.v,sun",
+  "{meta}info.format": "application/json",
+  "{meta}info.timestamp": "1441463200571",
+  "{meta}timestamp": "1441463200571",
+  "{meta}type": "Configuration"
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Basically there are no constraints about they keys provided. By default Tamaya uses keys prefixed with
+{xxx} to identify meta-data entries, but this is not a required precondition.</p>
+</div>
+<div class="paragraph">
+<p>Finally such a remote configuration can be easily integrated by inheriting from the provided base
+class. Hereby a default ordinal must be defined and the protected Collection&lt;URL&gt; getAccessURLs()
+method must be implemented to define the URL from where the configuration should be accessible. Hereby
+multiple URLs can be provided, which are accesed in order as provided by the collection&#8217;s iterator. The
+first URL that is successfully accessed determines the configuration read and imported into the
+PropertySource.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public class RemotePropertySource extends BaseRemotePropertySource{
+    /** Current remote property source default ordinal. */
+    private static final int REMOTE_ORDINAL = 15000;
+
+    @Override
+    public int getDefaultOrdinal(){
+        return REMOTE_ORDINAL;
+    }
+
+    @Override
+    protected Collection&lt;URL&gt; getAccessURLs() {
+        try {
+            String configServerUrl = System.getenv("CONFIG_SERVER");
+            if(configServerUrl==null){
+                configServerUrl = System.getProperty("configServer");
+            }
+            if(configServerUrl==null){
+                configServerUrl = "http://localhost:8888/config?scope=CLIENT&amp;scopeId={clientId}&amp;format=application/json";
+            }
+            System.out.println("Reading config from " + configServerUrl.replace("{clientId}", Client.getClientId()));
+            return Arrays.asList(new URL[]{new URL(configServerUrl.replace("{clientId}", Client.getClientId()))});
+        } catch (MalformedURLException e) {
+            Logger.getLogger(getClass().getName()).log(Level.WARNING, "Failed to configure remote config location,", e);
+            return Collections.emptySet();
+        }
+    }
+
+}</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../../js/jquery-1.11.1.min.js"></script>
+		    <script src="../../js/bootstrap.min.js"></script>
+		    <script src="../../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions/mod_resolver.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_resolver.html b/documentation/extensions/mod_resolver.html
new file mode 100644
index 0000000..90b8c3a
--- /dev/null
+++ b/documentation/extensions/mod_resolver.html
@@ -0,0 +1,313 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Resolver</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../../css/base.css" rel="stylesheet"/>
+	    <link href="../../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../../index.html">Home</a></li>
+						<li><a href="../../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../../documentation/api.html">API</a></li>
+								<li><a href="../../documentation/core.html">Core</a></li>
+								<li><a href="../../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../development/source.html">Sources</a></li>
+								<li><a href="../../development/community.html">Community</a></li>
+								<li><a href="../../devguide.html">Development Guide</a></li>
+								<li><a href="../../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../download.html">Download</a></li>
+								<li><a href="../../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../../sitemap.xml">Sitemap</a></li>
+						<li><a href="../../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Resolver</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div class="sect1">
+<h2 id="Core">Tamaya Resolver (Extension Module)</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>Tamaya Resolver is an extension module. Refer to the
+<a href="modules.html">extensions documentation</a>
+for further details about modules.</p>
+</div>
+<div class="paragraph">
+<p>Tamaya Resolver provides a dynamic resolution mechanism, which allows to use UNIX-styled (${...} placeholder
+expressions in your configuration values. The resolver hereby supports transitive resolution and also prevents
+cycles to loop endlessly.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_compatibility">Compatibility</h3>
+<div class="paragraph">
+<p>The module is based on Java 7, so it can be used with Java 7 and beyond.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installation">Installation</h3>
+<div class="paragraph">
+<p>To benefit from dynamic value resolution you only must add the corresponding dependency to your module:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-resolver&lt;/artifactId&gt;
+  &lt;version&gt;0.3-SNAPSHOT&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The module automatically registers an according PropertyFilter that is automatically called, whenever a value
+is accessed.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_available_resolvers">Available Resolvers</h3>
+<div class="paragraph">
+<p>Currently the module defined the following resolvers:</p>
+</div>
+<table class="tableblock frame-all grid-all spread">
+<caption class="title">Table 1. Available Resolvers</caption>
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 50%;">
+<col style="width: 25%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><em>Expression</em></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><em>Description</em></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><em>Example</em></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">conf:&lt;configKey&gt;</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Reads another configKey and replaces the expression with the value found.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">conf-ref=${conf:anotherConf.entryKey}</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">resource:&lt;resourceRef&gt;</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Reads a resource from the current classpath and replaces the expression with the given text content.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">cp-ref=${resource:Testresource.txt}</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">file:&lt;fileRef&gt;</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Reads a resource from the current classpath and replaces the expression with the given text content.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">file-ref=${file:c:\myFile.txt}</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">url:&lt;url&gt;</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Reads an URL and replaces the expression with the given text content.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">url-ref=${url:http://www.google.com}</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_spi_implementing_your_own_resolvers">SPI: Implementing your own Resolvers</h3>
+<div class="paragraph">
+<p>The module also provides an easy but powerful SPI for adding your own resolver implementations. Basically the
+first and most important thing to do is implementing the ExpressionResolver interface:</p>
+</div>
+<div class="listingblock">
+<div class="title">Implementing a Custom Resolver</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public class PwdDecrypter implements ExpressionResolver {
+
+  @Override
+  public String getResolverPrefix() {
+     return "decrypt:";
+  }
+
+  @Override
+  public String evaluate(String expression) {
+    return decrypt(expression);
+  }
+
+  private String decrypt(String s) {
+    ...
+  }
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Basically that is all you must do, after having registered the class with the ServiceLoader it will be found
+and loaded by the implementation. With that all expressions that start with the given prefix are passed to the
+resolver, so all the following expressions will be sent to the implementation:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-listing" data-lang="listing">blabla ${decrypt:myname}
+blabla ${decrypt:myname} foo blabla ${decrypt:myname}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Hereby evaluation is repeated until no further change of values could be detetced. In case of a endless loop
+the evaluation is broken after a (configurable) number of cycles.</p>
+</div>
+<div class="paragraph">
+<p>Under the hood instances of ExpressionResolver are managed by an implementation of the ExpressionEvaluator
+interface:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public interface ExpressionEvaluator {
+    /**
+     * Evaluates the current expression.
+     * @param key the key, not null.
+     * @param value the value to be filtered/evaluated.
+     * @return the filtered/evaluated value, including null.
+     */
+    String evaluateExpression(String key, String value);
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Implementing and registering this interface gives you full control, but in most cases yhou should be fine with
+the default implementation in place.</p>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../../js/jquery-1.11.1.min.js"></script>
+		    <script src="../../js/bootstrap.min.js"></script>
+		    <script src="../../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions/mod_resources.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_resources.html b/documentation/extensions/mod_resources.html
new file mode 100644
index 0000000..62aa64d
--- /dev/null
+++ b/documentation/extensions/mod_resources.html
@@ -0,0 +1,337 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Resources</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../../css/base.css" rel="stylesheet"/>
+	    <link href="../../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../../index.html">Home</a></li>
+						<li><a href="../../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../../documentation/api.html">API</a></li>
+								<li><a href="../../documentation/core.html">Core</a></li>
+								<li><a href="../../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../development/source.html">Sources</a></li>
+								<li><a href="../../development/community.html">Community</a></li>
+								<li><a href="../../devguide.html">Development Guide</a></li>
+								<li><a href="../../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../download.html">Download</a></li>
+								<li><a href="../../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../../sitemap.xml">Sitemap</a></li>
+						<li><a href="../../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Resources</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div class="sect1">
+<h2 id="Core">Tamaya Resources (Extension Module)</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>Tamaya Resources is an extension module. Refer to the
+<a href="modules.html">extensions documentation</a> for further details
+about modules.</p>
+</div>
+<div class="paragraph">
+<p>Tamaya Resources defines some additional tools to locate resources in your classpath or file system based on descriptive
+ant-styled resource patterns. To use this module add the following dependency:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-listing" data-lang="listing">&lt;dependency&gt;
+  &lt;grooupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-resources&lt;/artifactId&gt;
+  &lt;version&gt;0.3-SNAPSHOT&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The module&#8217;s main entry point is the singleton class org.apache.tamaya.resource.ConfigResources. This class
+provides access to a ResourceResolver instance:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">ResourceResolver resolver = ConfigResources.getResourceResolver();</code></pre>
+</div>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public interface ResourceResolver {
+    Collection&lt;URL&gt; getResources(Collection&lt;String&gt; expressions) {...}
+    Collection&lt;URL&gt; getResources(String... expressions) {...}
+    Collection&lt;URL&gt; getResources(ClassLoader classLoader, String... expressions){...}
+    Collection&lt;URL&gt; getResources(ClassLoader classLoader, Collection&lt;String&gt; expressions);
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Hereby the methods allow to resolve expressions to a collection of URLs. In case the expression is also targeting the
+current classpath the target ClassLoader to be used can be passed additionally.</p>
+</div>
+<div class="paragraph">
+<p>The default implementation provides resource resolution mechanism similar to the functionality offered by Spring.
+So by default resources can be looked up</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>from files</p>
+</li>
+<li>
+<p>from the classpath</p>
+</li>
+<li>
+<p>optionally ant-styled expressions can be used.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_valid_expression_examples">Valid Expression Examples</h3>
+<div class="paragraph">
+<p>There are numerous ways how a resource pattern can be defined. Following the most important variants
+are listed:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-listing" data-lang="listing">// explicitly searching the file system
+file:myroot/aa?a/*.file
+file:myroot/b*/b?/*.file
+file:myroot/**/*.file
+
+// explicitly searching the classpath
+classpath:myroot/**/*.file
+classpath:javax/annotation/*.class
+classpath:javax/**/sql/*.class
+classpath:javax/annotation/**/R*.class
+classpath:javax/annotation/R?so*.class
+classpath:META-INF/maven/org.apache.geronimo.specs/**/*
+
+// search both classpath and files
+javax/annotation/*.class
+javax/**/sql/*.class
+javax/annotation/**/R*.class
+javax/annotation/R?so*.class
+META-INF/maven/org.apache.geronimo.specs/**/*
+myroot/**/*.file
+myroot/aa?a/*.file
+myroot/b*/b?/*.file</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Summarizing the resources module provides useful functionality that helps to locate resources on the file system and
+in the classpath. This can be used to implement PropertySourceProvider implementations that are based on
+corresponding resource path patterns instead of concrete files.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_overall_usage_example">Overall Usage Example</h3>
+<div class="paragraph">
+<p>Given the functionality we can easily implement a PropertySourceProvider that reads all files from a classpath
+location, hereby traversing down all folders:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public class PathBasedPropertySourceProvider implements PropertySourceProvider {
+
+    @Override
+    public Collection&lt;PropertySource&gt; getPropertySources() {
+        List&lt;PropertySource&gt; propertySources = new ArrayList&lt;&gt;();
+        Collection&lt;URL&gt; resources = Resources.getResourceResolver().getResources("META-INF/cfg/**/*.properties");
+        for(URL url:resources){
+            Properties props = new Properties();
+            try(InputStream is = url.openStream()){
+                props.load(is);
+                propertySources.add(new PropertiesBasedPropertySource(url.toString(), props));
+            }
+            catch(Exception e){
+                e.printStackTrace();
+            }
+        }
+
+        return propertySources;
+    }
+
+    private final static class PropertiesBasedPropertySource implements PropertySource {
+        private String name;
+        private Map&lt;String,String&gt; properties = new HashMap&lt;&gt;();
+
+        public PropertiesBasedPropertySource(String name, Properties props) {
+            this.name = name;
+            props.forEach((k,v) -&gt; this.properties.put(k.toString(), v.toString()));
+        }
+
+        @Override
+        public String getName() {
+            return name;
+        }
+
+        @Override
+        public String get(String key) {
+            return properties.get(key);
+        }
+
+        @Override
+        public Map&lt;String, String&gt; getProperties() {
+            return properties;
+        }
+    }
+}</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_spi">SPI</h3>
+<div class="paragraph">
+<p>The ResourceResolver that is returned by the ConfigResources singleton is determined by the
+current ServiceContext, by default you can replace the default implementation by registering an
+alternate implementation with an overriding @Priority annotation added using the ServiceLoader.</p>
+</div>
+<div class="paragraph">
+<p>Additionally a BaseResourceResolver class can be used to reduce the amount of code to be written
+on your own.</p>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../../js/jquery-1.11.1.min.js"></script>
+		    <script src="../../js/bootstrap.min.js"></script>
+		    <script src="../../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions/mod_server.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_server.html b/documentation/extensions/mod_server.html
new file mode 100644
index 0000000..a1ebce7
--- /dev/null
+++ b/documentation/extensions/mod_server.html
@@ -0,0 +1,582 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Configuration Server</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../../css/base.css" rel="stylesheet"/>
+	    <link href="../../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../../index.html">Home</a></li>
+						<li><a href="../../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../../documentation/api.html">API</a></li>
+								<li><a href="../../documentation/core.html">Core</a></li>
+								<li><a href="../../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../development/source.html">Sources</a></li>
+								<li><a href="../../development/community.html">Community</a></li>
+								<li><a href="../../devguide.html">Development Guide</a></li>
+								<li><a href="../../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../download.html">Download</a></li>
+								<li><a href="../../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../../sitemap.xml">Sitemap</a></li>
+						<li><a href="../../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Configuration Server</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div id="preamble">
+<div class="sectionbody">
+<!-- toc disabled -->
+</div>
+</div>
+<div class="sect1">
+<h2 id="Remote">Tamaya Configuration Server (Extension Module)</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>The Tamaya server module provides support for providing scoped configuration using a http server serving JSON formatted
+configuration properties.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_compatibility">Compatibility</h3>
+<div class="paragraph">
+<p>The module is based on Java 7, so it will not run on Java 7 and beyond.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installation">Installation</h3>
+<div class="paragraph">
+<p>To benefit from configuration server support you only must add the corresponding dependency to your module:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-server&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_providing_configuration_using_the_tamaya_built_in_configuration_server">Providing configuration using the Tamaya Built-in Configuration Server</h3>
+<div class="paragraph">
+<p>THe most simple way for providing onfiguration ist to start the internal server:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">Server server = org.apache.tamaya.server.ConfigServer.createServer();
+server.start(port);</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This will start a simple server instance that serves the following URL patterns:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>GET /config provides access to the full configuration tree.</p>
+</li>
+<li>
+<p>GET /config/filtered/${path} let you filter the configuration returned using regular expression (comma separated).
+E.g. /config/filtered/java,sun will return all configuration entries starting with <em>java</em> and <em>sun</em>.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Additionally the server module has the following options implemented, which can be passed as additional, optional
+parameters:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>format allows to define the target format. By default the ACCEPT header of the http request is checked, but this
+setting can be explicitly controlled by passing tis parameter explicitly. The value is the expected MIME type to be
+returned. By default the service supports the following types (refer to the SPI section later in this document for
+options to adapt this):</p>
+<div class="ulist">
+<ul>
+<li>
+<p>text/html</p>
+</li>
+<li>
+<p>text/plain</p>
+</li>
+<li>
+<p>application/xml</p>
+</li>
+<li>
+<p>text/json</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>scope,scopeId allows to use a server-side preconfigured filter/combination policy to be applied for
+evaluating the entries to be returned. Hereby the scopeId paramter allows to address a certain scope.
+As an example think of a scope ?scope=CLIENT&amp;scopeId=client1 to be passed as request parameters. This
+tells the server module to lookup a configured scope named 'CLIENT' and access a ConfigOperator for the
+given scopeId 'client1'. The returned operator then can filter and combine any kind of entries to the
+required client configuration (for client1). Refer to the scopes section for more details.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_the_configuration_servlets">Using the Configuration Servlets</h3>
+<div class="paragraph">
+<p>Additionally to the fully built-in solution, it is also possible to integrate the Tamaya server module with a standard
+Java EE servlet container. Tamaya provides 2 servlet implementations:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>the servlet org.apache.tamaya.server.FilteredConfigServlet can be used to register access to configurations
+that also support filtering of the keys. The URL looks like</p>
+</li>
+</ul>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>http(s)://HOST/SERVLET_CONTEXT/PATHS?params
+
+where
+  HOST            = host name incl port, e.g. 127.0.0.2:234
+  SERVLET_CONTEXT = the base context and servlet context, e.g. /client/config/filtered
+  PATHS           = A comma separated number of key paths to be filtered for being returned, e.g.
+                    java,sun,client
+  params          = the optional parameters (scope, scopeId and format)</pre>
+</div>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>the servlet org.apache.tamaya.server.FullConfigServlet can be used to register access to configurations
+that alwyas returns all items known. The URL looks like</p>
+</li>
+</ul>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>http(s)://HOST/SERVLET_CONTEXT?params
+
+where
+  HOST            = host name incl port, e.g. 127.0.0.2:234
+  SERVLET_CONTEXT = the base context and servlet context, e.g. /client/config/filtered
+  params          = the optional parameters (scope, scopeId and format)</pre>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_formatting_used_by_default">Formatting used by Default</h4>
+<div class="paragraph">
+<p>The server module formats the configuration returned by default in thw following variants:</p>
+</div>
+<div class="listingblock">
+<div class="title">Formatting for text/json</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-json" data-lang="json">{
+  "java.vendor.url": "http://java.oracle.com/",
+  "java.vendor.url.bug": "http://bugreport.sun.com/bugreport/",
+  "java.vm.info": "mixed mode",
+  "java.vm.name": "Java HotSpot(TM) 64-Bit Server VM",
+  "java.vm.specification.name": "Java Virtual Machine Specification",
+  "java.vm.specification.vendor": "Oracle Corporation",
+  "java.vm.specification.version": "1.8",
+  "java.vm.vendor": "Oracle Corporation",
+  "java.vm.version": "25.45-b02",
+  "sun.arch.data.model": "64",
+  "sun.boot.class.path": "C:\apps\jdk18\jre\lib\resources.jar;C:\apps\jdk18\jre\lib\rt.jar;C:\apps\jdk18\jre\lib\sunrsasign.jar;C:\apps\jdk18\jre\lib\jsse.jar;C:\apps\jdk18\jre\lib\jce.jar;C:\apps\jdk18\jre\lib\charsets.jar;C:\apps\jdk18\jre\lib\jfr.jar;C:\apps\jdk18\jre\classes",
+  "sun.boot.library.path": "C:\apps\jdk18\jre\bin",
+  "sun.cpu.endian": "little",
+  "sun.cpu.isalist": "amd64",
+  "sun.desktop": "windows",
+  "sun.io.unicode.encoding": "UnicodeLittle",
+  "sun.java.command": "com.intellij.rt.execution.application.AppMain org.apache.tamaya.examples.remote.server.Start",
+  "sun.java.launcher": "SUN_STANDARD",
+  "sun.jnu.encoding": "Cp1252",
+  "sun.management.compiler": "HotSpot 64-Bit Tiered Compilers",
+  "sun.os.patch.level": "",
+  "{meta}class": "org.apache.tamaya.functions.FilteredConfiguration",
+  "{meta}info.filter": "java.v,sun",
+  "{meta}info.format": "application/json",
+  "{meta}info.timestamp": "1441463200571",
+  "{meta}timestamp": "1441463200571",
+  "{meta}type": "Configuration"
+}</code></pre>
+</div>
+</div>
+<div class="listingblock">
+<div class="title">Formatting for application/xml</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;configuration&gt;
+  &lt;entry key="java.vendor.url"&gt;http://java.oracle.com/&lt;/entry&gt;
+  &lt;entry key="java.vendor.url.bug"&gt;http://bugreport.sun.com/bugreport/&lt;/entry&gt;
+  &lt;entry key="java.vm.info"&gt;mixed mode&lt;/entry&gt;
+  &lt;entry key="java.vm.name"&gt;Java HotSpot(TM) 64-Bit Server VM&lt;/entry&gt;
+  &lt;entry key="java.vm.specification.name"&gt;Java Virtual Machine Specification&lt;/entry&gt;
+  &lt;entry key="java.vm.specification.vendor"&gt;Oracle Corporation&lt;/entry&gt;
+  &lt;entry key="java.vm.specification.version"&gt;1.8&lt;/entry&gt;
+  &lt;entry key="java.vm.vendor"&gt;Oracle Corporation&lt;/entry&gt;
+  &lt;entry key="java.vm.version"&gt;25.45-b02&lt;/entry&gt;
+  &lt;entry key="sun.arch.data.model"&gt;64&lt;/entry&gt;
+  &lt;entry key="sun.boot.class.path"&gt;C:\apps\jdk18\jre\lib\resources.jar;C:\apps\jdk18\jre\lib\rt.jar;C:\apps\jdk18\jre\lib\sunrsasign.jar;C:\apps\jdk18\jre\lib\jsse.jar;C:\apps\jdk18\jre\lib\jce.jar;C:\apps\jdk18\jre\lib\charsets.jar;C:\apps\jdk18\jre\lib\jfr.jar;C:\apps\jdk18\jre\classes&lt;/entry&gt;
+  &lt;entry key="sun.boot.library.path"&gt;C:\apps\jdk18\jre\bin&lt;/entry&gt;
+  &lt;entry key="sun.cpu.endian"&gt;little&lt;/entry&gt;
+  &lt;entry key="sun.cpu.isalist"&gt;amd64&lt;/entry&gt;
+  &lt;entry key="sun.desktop"&gt;windows&lt;/entry&gt;
+  &lt;entry key="sun.io.unicode.encoding"&gt;UnicodeLittle&lt;/entry&gt;
+  &lt;entry key="sun.java.command"&gt;com.intellij.rt.execution.application.AppMain org.apache.tamaya.examples.remote.server.Start&lt;/entry&gt;
+  &lt;entry key="sun.java.launcher"&gt;SUN_STANDARD&lt;/entry&gt;
+  &lt;entry key="sun.jnu.encoding"&gt;Cp1252&lt;/entry&gt;
+  &lt;entry key="sun.management.compiler"&gt;HotSpot 64-Bit Tiered Compilers&lt;/entry&gt;
+  &lt;entry key="sun.os.patch.level"&gt;&lt;/entry&gt;
+  &lt;entry key="{meta}class"&gt;org.apache.tamaya.functions.FilteredConfiguration&lt;/entry&gt;
+  &lt;entry key="{meta}info.filter"&gt;java.v,sun&lt;/entry&gt;
+  &lt;entry key="{meta}info.format"&gt;application/xml&lt;/entry&gt;
+  &lt;entry key="{meta}info.timestamp"&gt;1441463383687&lt;/entry&gt;
+  &lt;entry key="{meta}timestamp"&gt;1441463383687&lt;/entry&gt;
+  &lt;entry key="{meta}type"&gt;Configuration&lt;/entry&gt;
+&lt;/configuration&gt;</code></pre>
+</div>
+</div>
+<div class="listingblock">
+<div class="title">Formatting for text/plain</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-text" data-lang="text">Configuration:
+  java.vendor.url: http://java.oracle.com/,
+  java.vendor.url.bug: http://bugreport.sun.com/bugreport/,
+  java.vm.info: mixed mode,
+  java.vm.name: Java HotSpot(TM) 64-Bit Server VM,
+  java.vm.specification.name: Java Virtual Machine Specification,
+  java.vm.specification.vendor: Oracle Corporation,
+  java.vm.specification.version: 1.8,
+  java.vm.vendor: Oracle Corporation,
+  java.vm.version: 25.45-b02,
+  sun.arch.data.model: 64,
+  sun.boot.class.path: C:\apps\jdk18\jre\lib\resources.jar;C:\apps\jdk18\jre\lib\rt.jar;C:\apps\jdk18\jre\lib\sunrsasign.jar;C:\apps\jdk18\jre\lib\jsse.jar;C:\apps\jdk18\jre\lib\jce.jar;C:\apps\jdk18\jre\lib\charsets.jar;C:\apps\jdk18\jre\lib\jfr.jar;C:\apps\jdk18\jre\classes,
+  sun.boot.library.path: C:\apps\jdk18\jre\bin,
+  sun.cpu.endian: little,
+  sun.cpu.isalist: amd64,
+  sun.desktop: windows,
+  sun.io.unicode.encoding: UnicodeLittle,
+  sun.java.command: com.intellij.rt.execution.application.AppMain org.apache.tamaya.examples.remote.server.Start,
+  sun.java.launcher: SUN_STANDARD,
+  sun.jnu.encoding: Cp1252,
+  sun.management.compiler: HotSpot 64-Bit Tiered Compilers,
+  sun.os.patch.level: ,
+  {meta}class: org.apache.tamaya.functions.FilteredConfiguration,
+  {meta}info.filter: java.v,sun,
+  {meta}info.format: text/plain,
+  {meta}info.timestamp: 1441463082020,
+  {meta}timestamp: 1441463082021,
+  {meta}type: Configuration</code></pre>
+</div>
+</div>
+<div class="listingblock">
+<div class="title">Formatting for application/html</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-html" data-lang="html">&lt;html&gt;
+&lt;head&gt;&lt;title&gt;System Configuration&lt;/title&gt;&lt;/head&gt;
+&lt;body&gt;
+&lt;h1&gt;Sysem Configuration&lt;/h1&gt;
+&lt;p&gt;This view shows the system configuration of devbox-win at Sat Sep 05 16:30:59 CEST 2015.&lt;/p&gt;&lt;pre&gt;
+Configuration:
+  java.vendor.url: http://java.oracle.com/,
+  java.vendor.url.bug: http://bugreport.sun.com/bugreport/,
+  java.vm.info: mixed mode,
+  java.vm.name: Java HotSpot(TM) 64-Bit Server VM,
+  java.vm.specification.name: Java Virtual Machine Specification,
+  java.vm.specification.vendor: Oracle Corporation,
+  java.vm.specification.version: 1.8,
+  java.vm.vendor: Oracle Corporation,
+  java.vm.version: 25.45-b02,
+  sun.arch.data.model: 64,
+  sun.boot.class.path: C:\apps\jdk18\jre\lib\resources.jar;C:\apps\jdk18\jre\lib\rt.jar;C:\apps\jdk18\jre\lib\sunrsasign.jar;C:\apps\jdk18\jre\lib\jsse.jar;C:\apps\jdk18\jre\lib\jce.jar;C:\apps\jdk18\jre\lib\charsets.jar;C:\apps\jdk18\jre\lib\jfr.jar;C:\apps\jdk18\jre\classes,
+  sun.boot.library.path: C:\apps\jdk18\jre\bin,
+  sun.cpu.endian: little,
+  sun.cpu.isalist: amd64,
+  sun.desktop: windows,
+  sun.io.unicode.encoding: UnicodeLittle,
+  sun.java.command: com.intellij.rt.execution.application.AppMain org.apache.tamaya.examples.remote.server.Start,
+  sun.java.launcher: SUN_STANDARD,
+  sun.jnu.encoding: Cp1252,
+  sun.management.compiler: HotSpot 64-Bit Tiered Compilers,
+  sun.os.patch.level: ,
+  {meta}class: org.apache.tamaya.functions.FilteredConfiguration,
+  {meta}info.filter: java.v,sun,
+  {meta}info.format: text/html,
+  {meta}info.timestamp: 1441463459653,
+  {meta}timestamp: 1441463459654,
+  {meta}type: Configuration
+
+&lt;/pre&gt;
+&lt;/body&gt;
+&lt;/html&gt;</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_spi">SPI</h3>
+<div class="sect3">
+<h4 id="_scopes">Scopes</h4>
+<div class="paragraph">
+<p>As mentioned earlier in this document scopes can be used to define the exact configuration tree to be returned, e.g.
+as a result of combining multiple sub trees. Following an example of the code to be written to return a configuration
+that combines common client default entries with client specific entries:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public class ClientScopeProvider implements ScopeProvider{
+
+    /**
+     * Access the unique scope name.
+     * @return the unique scope name.
+     */
+    public String getScopeType(){
+            return "CLIENT";
+    }
+
+    @Override
+    public ConfigOperator getScope(String scopeId) {
+        return c -&gt;
+                ConfigurationFunctions.combine("Scoped Config CLIENT="+scopeId,
+                        c.with(ConfigurationFunctions.sectionRecursive(true, "client.default")),
+                        c.with(ConfigurationFunctions.sectionRecursive(true, "client." + scopeId))
+                );
+    }
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This class can be registered using the ServiceContext in place. By default the ServiceLoader is used, so you will
+have to add the following to META-INF/services/org.apache.tamaya.server.spi.ScopeProvider:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-listing" data-lang="listing">my.full.packagename.ClientScopeProvider</code></pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_adapting_the_way_configuration_is_derived">Adapting the Way Configuration is Derived</h4>
+<div class="paragraph">
+<p>Finally the effective readong and configuration handling logic can also be replaced or improved. This can be
+done by registering your own implementation of the interface ConfigProviderService:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public interface ConfigProviderService {
+    String getConfigurationWithPath(String path, String format, String scope, String scopeId, HttpServletRequest request);
+    String getConfiguration(String format, String scope, String scopeId, HttpServletRequest request);
+    void updateConfiguration(String payload, HttpServletRequest request);
+    void deleteConfiguration(String paths, HttpServletRequest request);
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>By default the ServiceContextManager uses the java.util.ServiceLoader for component loading, so to replace the
+default server code you must register a higher @Priority implementation.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_replacing_the_built_in_server">Replacing the Built-In Server</h4>
+<div class="paragraph">
+<p>We have seen earlier that starting a configuration server is pretty easy:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">Server server = org.apache.tamaya.server.ConfigServer.createServer();
+server.start(port);</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Nevertheless one may want to replace the used implementation of Server. This can be done easily by simply
+registering an overriding implementation if the corresponding interface:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public interface Server {
+    void start(int port);
+    boolean isStarted();
+    void stop();
+    void destroy();
+}</code></pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_the_scopemanager_singleton">The ScopeManager Singleton</h4>
+<div class="paragraph">
+<p>Finally whe implementing your own server, you might also benefit from the ScopeManager singleton. Basically this
+class loads all registered ScopeProvider and manages the configured scope instances:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public final class ScopeManager {
+    ...
+
+    private ScopeManager(){}
+
+    /**
+     * Get the scope given its name.
+     * @param scopeId the scope name
+     * @return the scope matching
+     * @throws ConfigException, if nos such scope is defined.
+     */
+    public static ConfigOperator getScope(String scopeId, String target);
+
+    /**
+     * Get the defined scope names.
+     * @return the defined scope names, never null.
+     */
+    public static Set&lt;String&gt; getScopes();
+
+}</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../../js/jquery-1.11.1.min.js"></script>
+		    <script src="../../js/bootstrap.min.js"></script>
+		    <script src="../../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions/mod_spi-support.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_spi-support.html b/documentation/extensions/mod_spi-support.html
new file mode 100644
index 0000000..337e4e6
--- /dev/null
+++ b/documentation/extensions/mod_spi-support.html
@@ -0,0 +1,244 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Classloader Isolation Support</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../../css/base.css" rel="stylesheet"/>
+	    <link href="../../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../../index.html">Home</a></li>
+						<li><a href="../../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../../documentation/api.html">API</a></li>
+								<li><a href="../../documentation/core.html">Core</a></li>
+								<li><a href="../../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../development/source.html">Sources</a></li>
+								<li><a href="../../development/community.html">Community</a></li>
+								<li><a href="../../devguide.html">Development Guide</a></li>
+								<li><a href="../../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../download.html">Download</a></li>
+								<li><a href="../../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../../sitemap.xml">Sitemap</a></li>
+						<li><a href="../../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Classloader Isolation Support</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div id="preamble">
+<div class="sectionbody">
+<!-- toc disabled -->
+</div>
+</div>
+<div class="sect1">
+<h2 id="SPISupport">Tamaya SPI Support (Extension Module)</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>The Tamaya SPI support module provides a few helpful base classes that can be used to implement some of the often
+used SPI parts in Tamaya:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>BasePropertySource provides an abstract base class for implementation of your own PropertySources.</p>
+</li>
+<li>
+<p>DefaultConfiguration provides you with a simple implementation of the Configuration interface based on a
+ConfigurationContext provided. This is also very useful for mocking configuration during test execution, but
+not only constraint to that use case.</p>
+</li>
+<li>
+<p>DefaultConfigurationContext provides you with a working implementation of the ConfigurationContext.</p>
+</li>
+<li>
+<p>EnumConverter is a converter implementation that can automatically select the currect enumeration values based
+on a configured entry.</p>
+</li>
+<li>
+<p>MapPropertySource implements a static property source based on java.util.Map.</p>
+</li>
+<li>
+<p>PriorityServiceComparator compares arbitrary services based on their @Priority annotations (also handling the
+case, where no such annotation is present).</p>
+</li>
+<li>
+<p>PropertiesResourcePropertySource is an implementation of a PropertySource based on a Properties instance,
+  lodable from any URL.
++ PropertyConverterManager is a service class very useful, when implementing instances of ConfigurationContext.
+  It manages registered instances of PropertyConverter and provides easy to use type conversion logic.
++ PropertyFiltering provides another helpful class that manages PropertyFilter instances and provides an
+  easy to use high level API.
++ PropertySourceComparator provides an implementation that compares PropertySources based on their getOrdinal()
+  values and their class names.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_compatibility">Compatibility</h3>
+<div class="paragraph">
+<p>The module is based on Java 7, so it will run on Java 7 and beyond.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installation">Installation</h3>
+<div class="paragraph">
+<p>To benefit from Tamaya CDI integration you only must add the corresponding dependency to your module:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-spisupport&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The component will not register any components but only providing portable base classes for some common SPI
+implementation tasks. It only depends on the API, so it should be safely reusable also with other implementations
+of the Tamaya API similarly.</p>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../../js/jquery-1.11.1.min.js"></script>
+		    <script src="../../js/bootstrap.min.js"></script>
+		    <script src="../../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>


[2/9] incubator-tamaya-site git commit: TAMAYA-178: Update file structure to reflect menu structure

Posted by po...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions/mod_spring.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_spring.html b/documentation/extensions/mod_spring.html
new file mode 100644
index 0000000..974f903
--- /dev/null
+++ b/documentation/extensions/mod_spring.html
@@ -0,0 +1,331 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Spring Integration</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../../css/base.css" rel="stylesheet"/>
+	    <link href="../../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../../index.html">Home</a></li>
+						<li><a href="../../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../../documentation/api.html">API</a></li>
+								<li><a href="../../documentation/core.html">Core</a></li>
+								<li><a href="../../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../development/source.html">Sources</a></li>
+								<li><a href="../../development/community.html">Community</a></li>
+								<li><a href="../../devguide.html">Development Guide</a></li>
+								<li><a href="../../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../download.html">Download</a></li>
+								<li><a href="../../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../../sitemap.xml">Sitemap</a></li>
+						<li><a href="../../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Spring Integration</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div id="preamble">
+<div class="sectionbody">
+<!-- toc disabled -->
+</div>
+</div>
+<div class="sect1">
+<h2 id="Remote">Tamaya Spring Integration (Extension Module)</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>Apache Tamaya currently provides two implementations also full integration for Spring:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>A Spring @Configuration implementation that also provides a Tamaya based version of
+org.springframework.context.support.PropertySourcesPlaceholderConfigurer.</p>
+</li>
+<li>
+<p>org.apache.tamaya.integration.spring.TamayaEnvironment is the Tamaya based implementation of the Spring
+Environment interface.</p>
+</li>
+<li>
+<p>TamayaSpringPropertySource implements an additional Spring PropertySource.</p>
+</li>
+<li>
+<p>Finally org.apache.tamaya.integration.spring.SpringConfigInjectionPostProcessor implements a Bean PostProcessor,
+which adds all the full fledged Tamaya configuration capabilities to Spring.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_compatibility">Compatibility</h3>
+<div class="paragraph">
+<p>Both modules are based on Java 7, so they will run on Java 7 and beyond. The extension shown here works similarly
+with Spring Framework as well as Spring Boot.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installation">Installation</h3>
+<div class="paragraph">
+<p>To benefit from Tamaya Spring integration you only must one of the following dependencies to your module:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-spring&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_registering_tamaya_spring_configuration">Registering Tamaya Spring Configuration</h3>
+<div class="paragraph">
+<p>Basically to activate the Tamaya Spring support the most simple thing is to a enable the Tamaya package for being
+scanned for Spring components, e.g.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:context="http://www.springframework.org/schema/context"
+       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"&gt;
+
+    &lt;context:annotation-config /&gt;
+    &lt;context:component-scan base-package="org.apache.tamaya.integration.spring"/&gt;
+
+    ...
+
+&lt;/beans&gt;</code></pre>
+</div>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+Of course you can also use the newer @ComponentScan annotation as described by the Spring documentation.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Similarly if you dont want to use component scanning you can configure things using plain old XML. Simply add the
+following lines somewhere into one of your application context configuration files.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;bean id="tamayaInjectionProcessor" name="tamayaInjectionProcessor" class="org.apache.tamaya.integration.spring.SpringConfigInjectionPostProcessor"/&gt;
+&lt;bean id="tamayaConfigProvider" name="tamayaConfigProvider" class="org.apache.tamaya.integration.spring.TamayaSpringConfig"/&gt;</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuring_your_context">Configuring your Context</h3>
+<div class="paragraph">
+<p>Done so enables you to use Tamaya as a backend for property resolution, e.g. propertyValue as illustrated below
+is resolved from the current Tamaya configuration.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;bean id="configuredBean" name="configuredBean" class="org.apache.tamaya.integration.spring.ConfiguredSpringBean"&gt;
+    &lt;property name="message" value="${propertyValue}"/&gt;
+&lt;/bean&gt;</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuring_your_beans">Configuring your Beans</h3>
+<div class="paragraph">
+<p>Similarly you can inject any kind of configuration as supported by Tamaya into your Spring managed beans:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">**
+ * Created by Anatole on 25.09.2015.
+ */
+@ConfigDefaultSections
+public class ConfiguredSpringBean {
+
+    private String message;
+
+    @Autowired
+    private Environment env;
+
+    @Config("java.version")
+    private String javaVersion;
+
+    @Config
+    @ConfigDefault("23")
+    private int testNumber;
+
+    public String getJavaVersion(){
+        return javaVersion;
+    }
+
+    public int getTestNumber(){
+        return testNumber;
+    }
+
+    public Environment getEnv(){
+        return env;
+    }
+
+    public void setMessage(String message){
+        this.message = message;
+    }
+
+    public String getMessage() {
+        return message;
+    }
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Summarizing you get all the nice features of Tamaya out of the box running with your Spring code.</p>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../../js/jquery-1.11.1.min.js"></script>
+		    <script src="../../js/bootstrap.min.js"></script>
+		    <script src="../../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions/mod_yaml.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_yaml.html b/documentation/extensions/mod_yaml.html
new file mode 100644
index 0000000..5142ac2
--- /dev/null
+++ b/documentation/extensions/mod_yaml.html
@@ -0,0 +1,288 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Builder</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../../css/base.css" rel="stylesheet"/>
+	    <link href="../../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../../index.html">Home</a></li>
+						<li><a href="../../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../../documentation/api.html">API</a></li>
+								<li><a href="../../documentation/core.html">Core</a></li>
+								<li><a href="../../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../development/source.html">Sources</a></li>
+								<li><a href="../../development/community.html">Community</a></li>
+								<li><a href="../../devguide.html">Development Guide</a></li>
+								<li><a href="../../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../download.html">Download</a></li>
+								<li><a href="../../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../../sitemap.xml">Sitemap</a></li>
+						<li><a href="../../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Builder</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div id="preamble">
+<div class="sectionbody">
+<!-- toc disabled -->
+</div>
+</div>
+<div class="sect1">
+<h2 id="BuilderCore">Tamaya YAML (Extension Module)</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>The Tamaya YAML module provides support for reading configuration using the YAML format (yaml.org). YAML hereby
+use intendation for expressing hierarchy, which makes yaml configuration files very easily readable and compact.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_compatibility">Compatibility</h3>
+<div class="paragraph">
+<p>The YAML module is based on Java 7, so it will run on Java 7 and beyond.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installation">Installation</h3>
+<div class="paragraph">
+<p>To benefit from configuration builder support you only must add the corresponding dependency to your module:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-yaml&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This extension also transitively requires the tamaya.formats module.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_reading_configuration_in_yaml">Reading configuration in YAML</h3>
+<div class="paragraph">
+<p>For reading YAML based onfiguration most easily a YAMLFormat can be provided:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">ConfigurationData dataRead = ConfigurationFormats.readConfig(
+    getClassLoader().getResource("myFileConfig.yaml"), new YAMLFormat()));</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_examples">Examples</h3>
+<div class="paragraph">
+<p>The YAML module adds instances of ConfigurationFormat so YAML configuration can be read and mapped to the
+according property values. E.g. the following file is a simple and correct YAML configuration:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-yaml" data-lang="yaml">invoice: 34843
+date   : 2001-01-23
+bill-to: &amp;id001
+    given  : Chris
+    family : Dumars
+    address:
+        lines: |
+            458 Walkman Dr.
+            Suite #292
+        city    : Royal Oak
+        state   : MI
+        postal  : 48046
+ship-to: *id001
+product:
+    - sku         : BL394D
+      quantity    : 4
+      description : Basketball
+      price       : 450.00
+    - sku         : BL4438H
+      quantity    : 1
+      description : Super Hoop
+      price       : 2392.00
+tax  : 251.42
+total: 4443.52
+comments:
+    Late afternoon is best.
+    Backup contact is Nancy
+    Billsmer @ 338-4338.</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Hereby the above file, by default is mapped as follows into Map&lt;String,String&gt; typed properties:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-listing" data-lang="listing">invoice -&gt; 34843
+date -&gt; Tue Jan 23 01:00:00 CET 2001
+bill-to.family -&gt; Dumars
+bill-to.given -&gt; Chris
+bill-to.address.state -&gt; MI
+bill-to.address.postal -&gt; 48046
+bill-to.address.city -&gt; Royal Oak
+bill-to.address.lines -&gt; 458 Walkman Dr.
+Suite #292
+
+ship-to.given -&gt; Chris
+ship-to.address.state -&gt; MI
+ship-to.family -&gt; Dumars
+ship-to.address.postal -&gt; 48046
+ship-to.address.city -&gt; Royal Oak
+ship-to.address.lines -&gt; 458 Walkman Dr.
+Suite #292
+
+product -&gt; {sku=BL394D, quantity=4, description=Basketball, price=450.0},{sku=BL4438H, quantity=1, description=Super Hoop, price=2392.0}
+_product.collection-type -&gt; List
+
+tax -&gt; 251.42
+total -&gt; 4443.52
+comments -&gt; Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../../js/jquery-1.11.1.min.js"></script>
+		    <script src="../../js/bootstrap.min.js"></script>
+		    <script src="../../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/quickstart.html
----------------------------------------------------------------------
diff --git a/documentation/quickstart.html b/documentation/quickstart.html
new file mode 100644
index 0000000..2d8893d
--- /dev/null
+++ b/documentation/quickstart.html
@@ -0,0 +1,398 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Tamaya Incubator</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../css/base.css" rel="stylesheet"/>
+	    <link href="../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../index.html">Home</a></li>
+						<li><a href="../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../documentation/api.html">API</a></li>
+								<li><a href="../documentation/core.html">Core</a></li>
+								<li><a href="../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../development/source.html">Sources</a></li>
+								<li><a href="../development/community.html">Community</a></li>
+								<li><a href="../devguide.html">Development Guide</a></li>
+								<li><a href="../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../download.html">Download</a></li>
+								<li><a href="../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../sitemap.xml">Sitemap</a></li>
+						<li><a href="../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1></h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div class="sect1">
+<h2 id="_apache_tamaya_quickstart">Apache Tamaya: Quickstart</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The fastest way to start with Tamaya is just using the <em>Core</em> implementation,
+implementing the <strong>API</strong> in small, minimalistic way. For that add the following
+Maven dependency to your project:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+    &lt;groupId&gt;org.apache.tamaya&lt;/groupId&gt;
+    &lt;artifactId&gt;tamaya-core&lt;/artifactId&gt;
+    &lt;version&gt;0.3-SNAPSHOT&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Given that you can add your configuration properties to the following locations in your classpath:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code>META-INF/javaconfiguration.properties</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Additionally also system properties are taken into account, hereby overriding the default properties. Overall
+Tamaya by default defines the following configuration model per default (most significant first):</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>System Properties</p>
+</li>
+<li>
+<p><code>META-INF/javaconfiguration.properties</code></p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>There many modules that extend the capabilities of Tamaya.
+These modules doe not depend on core, so alternative
+implementations of the Tamaya API should work similarly.</p>
+</div>
+<div class="sect2">
+<h3 id="_multiple_configuration_files">Multiple configuration files</h3>
+<div class="paragraph">
+<p>By default you can provide multiple <code>javaconfig.properties</code> files, e.g. as part
+of multiple jars loaded into your system. The system internally creates one
+<code>PropertySource</code> for each file found on the classpath. All <code>PropertySource</code>
+instances created are ordered by their ordinal value (an int).</p>
+</div>
+<div class="paragraph">
+<p>Tamaya Core defines the following default ordinals (used, if no custom ordinal is defined):</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 70%;">
+<colgroup>
+<col style="width: 75%;">
+<col style="width: 25%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Source</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Ordinal</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">System Properties</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">400</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Environment Variables</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">300</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Java Configuration Properties</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">100</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>That means that the value of a configuration variable <code>x</code> overhanded via <code>-Dx=yes</code> has
+a higher precedence then the entry for configuration variable <code>x</code> specified in a <code>javaconfig.properties</code>
+as <code>x=no</code>.</p>
+</div>
+<div class="paragraph">
+<p>These ordinal values can be either hardcoded, or be dynamically
+configurable as key within each configuration resource. The ladder can be done by defining a special
+Tamaya ordinal value as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code># override default Tamaya ordinal for property files
+tamaya.ordinal=123</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This assigns an ordinal of 123 to each entry in that configuration resource.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_additional_features_of_tamaya">Using additional features of Tamaya</h3>
+<div class="paragraph">
+<p>There many modules that extend the capabilities of
+Tamaya. These modules doe not depend on core, so alternative
+implementations of the Tamaya API should work similarly. Following a
+small extract of most important modules available (or available soon):</p>
+</div>
+<div class="sect3">
+<h4 id="_dynamic_resolution_and_value_placeholders">Dynamic Resolution and Value Placeholders</h4>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;artifactId&gt;org.apache.tamaya.ext&lt;/id&gt;
+  &lt;artifactId&gt;tamaya-resolver&lt;/artifactId&gt;
+  &lt;version&gt;0.3-SNAPSHOT&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>With that it is possible to define values with Unix styled placeholders that are
+resolved on configuration access, e.g.
+<code>mykey=my${dynamicValue}�. For further details refer to the module documentation.
+This module also provides a `Resolver</code> singleton:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">String myExpression = ...;
+String resolved = Resolver.evaluateExpression(myExpression);</code></pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_ant_styled_path_resolution_of_resources">Ant-styled Path Resolution of Resources</h4>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;artifactId&gt;org.apache.tamaya.ext&lt;/id&gt;
+  &lt;artifactId&gt;tamaya-resolution&lt;/artifactId&gt;
+  &lt;version&gt;0.3-SNAPSHOT&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This module provides a <code>Resolver</code> singleton that allows to
+resolve configuration resources using a ant-styled resource
+description, e.g.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">Collection&lt;URL&gt; urls = ResourceResolver.getResources("META-INF/cfg/**/*.properties");</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>For further details refer to the module documentation.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_configuration_injection">Configuration Injection</h4>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;artifactId&gt;org.apache.tamaya.ext&lt;/id&gt;
+  &lt;artifactId&gt;tamaya-inject&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version_development}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>With this extension you can let Tamaya inject configuration into instances of
+annotated classes or let Tamaya implement a configuration template.</p>
+</div>
+<div class="paragraph">
+<p>Corresponding configuration:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">public class MyType {
+   @ConfiguredProperty("name")
+   private String typeName;
+
+   public String getName() {
+      return name;
+   }
+}
+
+MyType type = new MyType();
+ConfigurationInjector.configure(type);</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Or the same as template:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">public interface MyTypeTemplate {
+   @ConfiguredProperty("name")
+   public String getName();
+}
+
+MyTypeTemplate type = ConfigurationInjector.createTemplate(MyTypeTemplate.class);</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Currently the following resolvers are available:</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 60%;">
+<colgroup>
+<col style="width: 20%;">
+<col style="width: 80%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Conf</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Cross-reference to another configuration entry</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">URL</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Referencing a resource addressable by an URL.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">File</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Reference to a  file, replacing the expression with the file&#8217;s text value.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Resource</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Reference to classpath resource, replacing the expression with the resource&#8217;s text value.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../js/jquery-1.11.1.min.js"></script>
+		    <script src="../js/bootstrap.min.js"></script>
+		    <script src="../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/usecases.html
----------------------------------------------------------------------
diff --git a/documentation/usecases.html b/documentation/usecases.html
new file mode 100644
index 0000000..42e85fa
--- /dev/null
+++ b/documentation/usecases.html
@@ -0,0 +1,1073 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Tamaya Incubator</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../css/base.css" rel="stylesheet"/>
+	    <link href="../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../index.html">Home</a></li>
+						<li><a href="../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../documentation/api.html">API</a></li>
+								<li><a href="../documentation/core.html">Core</a></li>
+								<li><a href="../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../development/source.html">Sources</a></li>
+								<li><a href="../development/community.html">Community</a></li>
+								<li><a href="../devguide.html">Development Guide</a></li>
+								<li><a href="../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../download.html">Download</a></li>
+								<li><a href="../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../sitemap.xml">Sitemap</a></li>
+						<li><a href="../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1></h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div class="sect1">
+<h2 id="_apache_tamaya_use_cases_and_requirements">Apache Tamaya: Use Cases and Requirements</h2>
+<div class="sectionbody">
+<!-- toc disabled -->
+</div>
+</div>
+<div class="sect1">
+<h2 id="_use_cases">Use Cases</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_simple_access">Simple Access</h3>
+<div class="paragraph">
+<p>Users want to be able to access configuration in a unified way both in SE and EE. EE may provide additional
+mechanism, such as injection, but the SE mechanisms should work as well, so any code written in SE is fully
+portable to EE as well.
+This can only be achieved by providing a static accessor, e.g.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">Configuration config = Configuration.current();</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The call above should work exactly the same in EE. To enable this the static call must be delegated in the
+internals of the singleton, depending on the runtime. In EE the executing component can behave contextually,
+or even be loaded within the CDI environment (at least for post loading, application runtime aspects, but not earlier).</p>
+</div>
+<div class="paragraph">
+<p>Additionally in EE it should also be possible to inject Configuration, which gives you the same results as the call
+above:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">@Inject
+private Configuration cfg;</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_simple_lookup_of_properties">Simple Lookup of Properties</h3>
+<div class="paragraph">
+<p>Users just want to create a configuration ad hoc, from given property files. The
+files could be locally in the file system, on the classpath.</p>
+</div>
+<div class="paragraph">
+<p>Tamaya should provide a simple Java API for accessing key/value based configuration. Hereby users want to access
+properties as simple String values.</p>
+</div>
+<div class="paragraph">
+<p>Hereby returning Java 8 Optional values must be considered as well, instead of returning null.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_value_placeholders">Value Placeholders</h3>
+<div class="paragraph">
+<p>Users just want to to be able to add placeholders to the values of configuration (not the keys). The mechanisms for
+resolving the placeholders hereby should be not constraint to one single lanmguage like EL. Instead of different
+replacement strategies should be selectable, e.g. by prefixing an expression with the name of the resolver that
+should do the work (eg "blabla ${env:HOME} using Java version ${sys:java.version}.".
+This allows resolution mechanism to be isolated easily and also allows to use simpler mechanisms, if no more complex
+ones like EL are required. This is especially useful to deal with low resource environment like ME.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_type_safe_properties">Type Safe Properties</h3>
+<div class="paragraph">
+<p>Users just want to access properties not only as Strings, but let Tamaya do the conversion to the required
+or the configred target type. By defauklt all java.ui.lang wrapper and primitive types should be supported, but also
+other common types like date/time types, math numeric types and more.</p>
+</div>
+<div class="paragraph">
+<p>It must be possible that users can register their own custom types.</p>
+</div>
+<div class="paragraph">
+<p>Finally users also want to be able to dynamically provide or override type adaption (conversion), when reading a value,
+for a certain key/value pair.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuration_templates">Configuration Templates</h3>
+<div class="paragraph">
+<p>Users want to be able to let Tamaya implement an interface template based on configuration.
+This use case is pretty similar to the injection use case. Basically the values are not injected,
+but cached within the template proxy returned, e.g. as DynamicValue.
+Similarly it could even be possible to define callback methods (default methods)
+or register listeners to DynamicValue instances returned.</p>
+</div>
+<div class="paragraph">
+<p>Templates hereby can easily be managed, but provide a excellent mechanism to provide type-safe configuration
+to clients in a very transparent way. Details can be controlled by using the same annotations as for
+normal configuration injection.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_java_8_functional_support">Java 8 Functional Support</h3>
+<div class="paragraph">
+<p>Users want to be able to benefit from the new programming styles introduced with Java 8. Configuration
+should provide extension points for different aspects, where additional code can be hooked in easily.
+In short: were possible functional interfaces should be modelled.</p>
+</div>
+<div class="paragraph">
+<p>Examples:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>code that converts a configuration to another kind of configuration: UnaryOperator&lt;Configuration&gt;</p>
+</li>
+<li>
+<p>code that creates any kind of result based on a configuration: Function&lt;Configuration,T&gt;</p>
+</li>
+<li>
+<p>Adapters for type conversion are defined as Function&lt;String,T&gt;</p>
+</li>
+<li>
+<p>Key, value filters ccan be modelled as BiFunction&lt;String,String,String&gt;</p>
+</li>
+<li>
+<p>etc.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuration_locations">Configuration Locations</h3>
+<div class="paragraph">
+<p>Users want to be able to</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>read configuration from different locations.</p>
+</li>
+<li>
+<p>By default classpath and file resources are
+supported. But similarly remote access using a JSON ReST call should be possible.</p>
+</li>
+<li>
+<p>Tamaya should define a JSON and XML format for configuration.</p>
+</li>
+<li>
+<p>Configuration locations should be scannable using ant-styled resource patterns, if possible.</p>
+</li>
+<li>
+<p>Scanning and reading logic can be modularized by using a ConfigReader interface.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuration_formats">Configuration Formats</h3>
+<div class="paragraph">
+<p>Users want to be able to use the format they prefer.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>properties, xml-properties and ini-format should be supported by default</p>
+</li>
+<li>
+<p>Other/custom formats should be easily addable by registering or providing the format on configuration evaluation (read).</p>
+</li>
+<li>
+<p>When possible Tamaya should figure out which format to be used and how the InputStream should be correctly
+interpreted.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_multiple_configurations">Multiple Configurations</h3>
+<div class="paragraph">
+<p>When systems grow they must be modularized to keep control. Whereas that sounds not really fancy, it leads to additional
+aspects to be considered by a configuration system.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Different code modules, libraries, plugins or products want to have their "own" separated configuration.</p>
+</li>
+<li>
+<p>Similar it should be possible to add fully specific additional configurations.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The default configuration hereby should always be present, whereas additional configurations are optional.
+Users want to be able to check the availability of such an additional configuration.</p>
+</div>
+<div class="paragraph">
+<p>Of course, additional configuration must be identifiable. The best way to do is to be discussed, nevertheless the
+mechanism must not depend on Java EE and the identifying keys must be serializable easily.
+Basically simple names are sufficient and woukld provide exact this required functionality.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_external_configuration">External Configuration</h3>
+<div class="paragraph">
+<p>Users want to be able to replace, override, extend or adapt any parts or all of an existing configuration from
+external sources.
+This also must be the case for multi-context environments, where the context identifiers are
+the only way to link to the correct remote configuration.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_context_dependent_configuration">Context Dependent Configuration</h3>
+<div class="paragraph">
+<p>In multi tenancy setups or complex systems a hierarchical/graph model of contexts for configurations is required, or different runtime contexts are executed in parallel
+within the same VN. What sounds normal for EE also may be the case for pure SE environments:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Users want to be able to model different layers of runtime context</p>
+</li>
+<li>
+<p>Users want to identify the current layer, so configuration used may be adapted.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_dynamic_provisioning_uc8">Dynamic Provisioning (UC8)</h3>
+<div class="paragraph">
+<p>In Cloud Computing, especially the PaaS and SaaS areas a typical use case would be that an application (or server)
+is deployed, configured and started dynamically. Typically things are controlled by some "active controller components",
+which are capable of</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>creating new nodes (using IaaS services)</p>
+</li>
+<li>
+<p>deploying and starting the required runtime platform , e.g. as part of a PaaS solution.</p>
+</li>
+<li>
+<p>deploying and starting the application modules.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>All these steps require some kind of configuration. As of today required files are often created on the target node
+before the systems are started, using proprietary formats and mechanism. Similarly accessing the configuration in place
+may require examining the file system or using again proprietary management functions. Of course, a configuration
+solution should not try to solve that, but it can provide a significant bunch of functionality useful in such scenarios:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>provide remote capabilities for configuration</p>
+</li>
+<li>
+<p>allow configuration to be updated remotely.</p>
+</li>
+<li>
+<p>allow client code to listen for configuration changes and react as needed.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_minimal_property_source_spi">Minimal Property Source SPI</h3>
+<div class="paragraph">
+<p>Users expect that implementing an additional configuration property source is as easy as possible.
+So there should be an SPI defined that allows any kind of data source to be used for providing configuration data.
+The interface to be implemented is expected to be minimal to reduce the implementation burden. Default
+methods should be used where possible, so only a few methods are expected to be required to implement.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_scannable_properties">Scannable Properties</h3>
+<div class="paragraph">
+<p>If possible configuration should be scannable, meaning it should be possible to evaluate the keys available.
+The corresponding capabilities should be accessible by a isScannable() method.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_combine_configurations">Combine Configurations</h3>
+<div class="paragraph">
+<p>Users want to be able to combine different configurations to a new configuration instance.
+Hereby the resulting configuration can be</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>a union of both, ignoring duplicates (and optionally log them)</p>
+</li>
+<li>
+<p>a union of both, duplicates are ignored</p>
+</li>
+<li>
+<p>a union of both, conflicts are thrown as ConfigException</p>
+</li>
+<li>
+<p>an intersection of both, containing only keys present and equal in both configurations</p>
+</li>
+<li>
+<p>an arbitrary mapping or filter, modelled by an CombinationPolicy, which basically can be modelled
+as BiFunction&lt;String, String, String&gt;, hereby</p>
+<div class="ulist">
+<ul>
+<li>
+<p>a result of null will remove the key</p>
+</li>
+<li>
+<p>any other result will use the value returned as final value of the combination.</p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_mx_rest_management">MX/ReST Management</h3>
+<div class="paragraph">
+<p>Users want to be have comprehensive management support, which should allow</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>to change configuration</p>
+</li>
+<li>
+<p>to remove configuration</p>
+</li>
+<li>
+<p>to view configuration and its provider details</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_adaptable_service_context">Adaptable Service Context</h3>
+<div class="paragraph">
+<p>Tamaya should support an adaptable ServiceContext to resolve any kind of implememntation services, both API services as core
+framework services. The ServiceContext should be dynamically replecable by configuring an alternate instance of
+using the Java *ServiceContet+.</p>
+</div>
+<div class="paragraph">
+<p>This decouples component usage from its load and management part and als greatly simplifies integration with
+new/alternate runtime environments.
+The service context is exptected to provide</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>single singleton instances: these service can be cached.</p>
+</li>
+<li>
+<p>access to multiple instances which implement some commons SPI interface.</p>
+</li>
+<li>
+<p>as useful priorization of components is done by the model itself.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuration_injection">Configuration Injection</h3>
+<div class="paragraph">
+<p>Users want to be able to polulate configured items by injecting configured values. Hereby</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>the lifecycle of the instances is not managed by Tamaya</p>
+</li>
+<li>
+<p>all references to items configured are managed as weak references, to prevent memoryleaks.</p>
+</li>
+<li>
+<p>Injection should if possible evaluate the properties by defaults. Even properties without
+any annotations are possible.</p>
+</li>
+<li>
+<p>Users expect to exclude certain properties from calculation</p>
+</li>
+<li>
+<p>Beside injection of properties it is also possible to call setter methods with one parameter similarly.</p>
+</li>
+<li>
+<p>Basically injection is performed, when the instance is passed to the Tamaya configuration system. It should also
+be possible to inject/provide final values, especially Strings. Changes on configured values should be
+reflected in the current value. Setters methods similarly can be called again, with the new values, on changes.</p>
+</li>
+<li>
+<p>Users expect to control dynamic values and recall of setter methods, basically the following strategies should be
+supported:</p>
+<div class="ulist">
+<ul>
+<li>
+<p>inject only once and ignore further changes.</p>
+</li>
+<li>
+<p>reinject/reinitialize on each change</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>Dynamic Values can easily be modeled as ConfiguredValue instances, which should have the following functionality:</p>
+<div class="ulist">
+<ul>
+<li>
+<p>access the current value</p>
+</li>
+<li>
+<p>access the new value</p>
+</li>
+<li>
+<p>access the latest value access time in ms</p>
+</li>
+<li>
+<p>access the latest value update time in ms</p>
+</li>
+<li>
+<p>evaluate easily if the value has changed since the last access</p>
+</li>
+<li>
+<p>accept the change</p>
+<div class="ulist">
+<ul>
+<li>
+<p>as a shortcut it should be possible to accept the change on access of the value implicitly, hereby always accessing
+the latest valid value.</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>ignore the change</p>
+</li>
+<li>
+<p>register Consumer&lt;DynamicValue&gt; liasteners to listen on the changes (ans also removing them later again).</p>
+</li>
+</ul>
+</div>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>All observing functionality can be done completely asynchronously and in parallel.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="Requirements">Requirements</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_core_configuration_requirements">Core Configuration Requirements</h3>
+<div class="sect3">
+<h4 id="_general">General</h4>
+<div class="paragraph">
+<p>Tamaya must provide a Java SE API for accessing key/value based configuration. Hereby</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Configuration is modelled by an interface</p>
+</li>
+<li>
+<p>Configuration is organized as key/value pairs, using a subset of functionality present on Map&lt;String,String&gt; as
+follows:</p>
+<div class="ulist">
+<ul>
+<li>
+<p>access a value by key (get)</p>
+</li>
+<li>
+<p>check if a value is present (containsKey)</p>
+</li>
+<li>
+<p>get a set of all defined keys (keySet)</p>
+</li>
+<li>
+<p>a configuration must be convertible to a Map, by calling toMap()</p>
+</li>
+<li>
+<p>a configuration must provide access to its meta information.</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>Configuration value access methods must never return null.</p>
+</li>
+<li>
+<p>The API must support undefined values.</p>
+</li>
+<li>
+<p>The API must support passing default values, to be returned if a value is undefined.</p>
+</li>
+<li>
+<p>The API must allow to throw exceptions, when a value is undefined. Customized exceptions hereby should be supported.</p>
+</li>
+<li>
+<p>Properties can be stored in the classpath, on a file or accessible by URL.</p>
+</li>
+<li>
+<p>Properties can be stored minimally in properties, xml-properties or ini-format.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_minimalistic_property_source">Minimalistic Property Source</h4>
+<div class="paragraph">
+<p>For enabling easy integration of custom built configuration sources a minimalistic API/SPI must be defined, that</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>is modelled by an interface</p>
+</li>
+<li>
+<p>is a minimal subset of Configuration necessary to implement a configuration.</p>
+</li>
+<li>
+<p>must be convertible to a "Configuration+.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_extension_points">Extension Points</h4>
+<div class="paragraph">
+<p>For supporting more complex scenarios, Configuration</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>must implement the composite pattern, meaning new Configuration instances can be created by combining existing
+configurations.</p>
+</li>
+<li>
+<p>must be adaptable, by creating a new configuration by applying a UnaryOperator&lt;COnfiguration&gt; to it.</p>
+</li>
+<li>
+<p>must be queryable, by passing a ConfigQuery to an Configuration instance.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_type_safety">Type Safety</h4>
+<div class="paragraph">
+<p>Besides Strings Configuration should also support the following types:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Primitive types</p>
+</li>
+<li>
+<p>Wrapper types</p>
+</li>
+<li>
+<p>All other types (by using a PropertyAdapter</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Hereby type conversion should be done as follows:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Check if for the given target type an explicit adapter is registered, if so, use the registered adapter.</p>
+</li>
+<li>
+<p>If no adapter is present, check if the target type T has static methods called T of(String), T getInstance(String), T valueOf(String), T from(String). If so
+use this method to create the non value of T.</p>
+</li>
+<li>
+<p>Check if the target type has a constructor T(String). If so, try to instantiate an instance using the constructor.</p>
+</li>
+<li>
+<p>Give up, throw a IllegalArgument exception.</p>
+</li>
+</ol>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuration_fomats">Configuration Fomats</h3>
+<div class="paragraph">
+<p>By default Tamaya support the following configuration formats:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>.properties</p>
+</li>
+<li>
+<p>.xml properties</p>
+</li>
+<li>
+<p>.ini files</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>It must be possible to add additional formats by registering them with the current ServiceContext.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_mutability">Mutability</h3>
+<div class="ulist">
+<ul>
+<li>
+<p>Configurations can be mutable, mutability can be accessed as a property.</p>
+</li>
+<li>
+<p>Configuration can be changed by collecting the changes into a ConfigCHangeSet and apply this set to the
+given Configuration instance.</p>
+</li>
+<li>
+<p>Besides the points above, Configuration is immutable.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_serializability_and_immutability_of_configuration">Serializability and Immutability of Configuration</h3>
+<div class="ulist">
+<ul>
+<li>
+<p>Configuration is modelled as a service. Therefore serialization may not work. This can be mitigated by adding
+a freeze feature, where the know key/value pairs are extracted into an immutable and serializable form.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuration_combination_requirements">Configuration Combination Requirements</h3>
+<div class="paragraph">
+<p>At least the following composition policies must be supported:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>override: subsequent entries override existing ones.</p>
+</li>
+<li>
+<p>aggregate-exception: key/values were added, in case of conflicts a ConfigException must be thrown.</p>
+</li>
+<li>
+<p>aggregate-ignore-duplicates: similar to union, whereas duplicates are ignored (leaving the initial value loaded).</p>
+</li>
+<li>
+<p>aggregate-combine: conflicting entries were resolved by adding them both to the target configuration by
+redefining partial keys.</p>
+</li>
+<li>
+<p>custom: any function determining the key/values to be kept must be possible</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>When combining configuration it must also be possible to override (file/classpath) configuration by</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>system properties.</p>
+</li>
+<li>
+<p>command line arguments.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuration_injection_2">Configuration Injection</h3>
+<div class="paragraph">
+<p>As metnioned configuration can be injected by passing a unconfigured instance of an annotated class to the
+Configuration.configure static method:</p>
+</div>
+<div class="listingblock">
+<div class="title">Configuring a POJO</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">MyPojo instance = new MyPojo();
+Configuration.configure(instance);</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Hereby
+* It must be possible to define default values to be used, if no valid value is present.
+* It must be possible to define dynamic expressions, at least for default values.
+* The values configured can be reinjected, if the underlying configuration changes. This should also be the case
+  for final classes, such as Strings.
+* Reinjection should be controllable by an loading policy.
+* It must be possible to evaluate multiple keys, e.g. current keys, and as a backup deprecated keys
+  from former application releases.
+* It must be possible to evaluate multiple configurations.
+* The type conversion of the properties injected must be configurable, by defining a PropertyAdapter.
+* The value evaluated for a property (before type conversion) must be adaptable as well.
+* It must be possible to observe configuration changes.</p>
+</div>
+<div class="paragraph">
+<p>The following annotations must be present at least:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>@ConfiguredProperty</strong> defining the key of the property to be evaluated. It takes an optional value, defining the
+property name. It must be possible to add multiple annotations of this kind to define an order of evaluation
+of possible keys.</p>
+</li>
+<li>
+<p><strong>@DefaultValue</strong> (optional) defines a default String value, to be used, when no other key is present.</p>
+</li>
+<li>
+<p><strong>@WithConfig</strong> (optional) defines the name of the configuration to be used. Similar to @ConfiguredProperty multiple
+configuration can be defined for lookup.</p>
+</li>
+<li>
+<p><strong>@WithConfigOperator</strong> allows to adapt the String value evaluated, <strong>before</strong> it is passed as input to injection or
+type conversion.</p>
+</li>
+<li>
+<p><strong>@WithPropertyAdapter</strong> allows to adapt the conversion to the required target type, hereby overriding any default
+conversion in place.</p>
+</li>
+<li>
+<p><strong>@WithLoadPolicy</strong> allows to define the policy for (re)injection of configured values.</p>
+</li>
+<li>
+<p><strong>@ObservesConfigChange</strong> allows to annotate methods that should be called on configuration changes.</p>
+</li>
+<li>
+<p>*@DefaultAreas" allows to define a key prefix key to be used for the configured key, if no absolute key
+is defined.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuration_templates_2">Configuration Templates</h3>
+<div class="paragraph">
+<p>For type safe configuration clients should be able to define an interface and let it implement by the
+configuration system based on Configuration available:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Clients define an interface and annotate it as required (similar to above)</p>
+</li>
+<li>
+<p>The interface methods must not take any arguments</p>
+</li>
+<li>
+<p>The configuration system can be called to return such an interface implementation.</p>
+</li>
+<li>
+<p>The configuration system returns a proxy hereby providing type-safe access the values required.</p>
+</li>
+<li>
+<p>Similar to configured types also templates support multiple values and custom adapters.</p>
+</li>
+<li>
+<p>It is possible to listen on configuration changes for templates, so users of the templates
+may react on configuration changes.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The following snippet illustrates the requirements:</p>
+</div>
+<div class="listingblock">
+<div class="title">Type Safe Configuration Template Example</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public interface MyConfig {
+
+  @ConfiguredProperty("myCurrency")
+  @DefaultValue("CHF")
+  String getCurrency();
+
+  @ConfiguredProperty("myCurrencyRate")
+  Long getCurrencyRate();
+
+  @ConfigChange
+  default configChanged(ConfigChange event){
+     ...
+  }
+
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Templates can be accessed by calling the Configuration.current(Class) method:</p>
+</div>
+<div class="listingblock">
+<div class="title">Accessing a type safe Configuration Template</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">MyConfig config = Configuration.current(MyConfig.class);</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="RequirementsServer">Server Configuration Requirements</h3>
+<div class="ulist">
+<ul>
+<li>
+<p>Ensure Configuration can be transferred over the network easily.</p>
+</li>
+<li>
+<p>Beside serializability text based formats for serialization in XML and JSON must be defined.</p>
+</li>
+<li>
+<p>A management API must be defined, which allows to inspect the configuration in place, e.g. using
+JMX or REST services.</p>
+</li>
+</ul>
+</div>
+<div id="RequirementsJavaEE" class="paragraph">
+<p>Java EE leads to the following requirements:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Configuration must be contextual, depending on the current runtime context (e.g. boot level, ear, war, &#8230;&#8203;).</p>
+</li>
+<li>
+<p>Hereby contextual aspects can even exceed the levels described above, e.g. for SaaS scenarios.</p>
+</li>
+<li>
+<p>Resources can be unloaded, e.g. wars, ears can be restarted.</p>
+</li>
+<li>
+<p>The different contextual levels can also be used for overriding, e.g. application specific configuration
+may override ear or system configuration.</p>
+</li>
+<li>
+<p>Configuration may be read from different sources (different classloaders, files, databases, remote locations).</p>
+</li>
+<li>
+<p>Configuration may be read in different formats (deployment descriptors, ServiceLoader configuration, alt-DD feature, &#8230;&#8203;)</p>
+</li>
+<li>
+<p>JSF also knows the concept of stages.</p>
+</li>
+<li>
+<p>Many SPI&#8217;s of Java EE require the implementation of some well defined Java interface, so it would be useful if the
+configuration solution supports easy implementation of such instances.</p>
+</li>
+<li>
+<p>In general it would be useful to model the Environment explicitly.</p>
+</li>
+<li>
+<p>Configuration used as preferences is writable as well. This requires mutability to be modelled in way, without the
+need of synchronization.</p>
+</li>
+<li>
+<p>JNDI can be used for configuration as well.</p>
+</li>
+</ul>
+</div>
+<div id="RequirementsMultitenancy" class="paragraph">
+<p>Configurations made in the tenant or user layer override the default app configuration etc., so</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>It must be possible to structure Configuration in layers that can override/extend each other.</p>
+</li>
+<li>
+<p>The current environment must be capable of mapping tenant, user and other aspects, so a corresponding configuration
+(or layer) can be derived.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="RequirementsExtensions">Extensions Requirements</h3>
+<div class="paragraph">
+<p>It must be possible to easily add additional functionality by implementing external functional interfaces operating
+on Configuration.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>UnaryOperator&lt;Configuration&gt; for converting into other version of Configuration.</p>
+</li>
+<li>
+<p>ConfigQuery&lt;T&gt; extending Function&lt;T, Configuration&gt;.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="RequirementsNonFunctional">Non Functional Requirements</h3>
+<div class="paragraph">
+<p>THe following non-functional requirements must be met:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>tbd</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../js/jquery-1.11.1.min.js"></script>
+		    <script src="../js/bootstrap.min.js"></script>
+		    <script src="../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>


[8/9] incubator-tamaya-site git commit: TAMAYA-178: Update file structure to reflect menu structure

Posted by po...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/core.html
----------------------------------------------------------------------
diff --git a/documentation/core.html b/documentation/core.html
new file mode 100644
index 0000000..ee3ce83
--- /dev/null
+++ b/documentation/core.html
@@ -0,0 +1,596 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Tamaya Incubator</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../css/base.css" rel="stylesheet"/>
+	    <link href="../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../index.html">Home</a></li>
+						<li><a href="../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../documentation/api.html">API</a></li>
+								<li><a href="../documentation/core.html">Core</a></li>
+								<li><a href="../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../development/source.html">Sources</a></li>
+								<li><a href="../development/community.html">Community</a></li>
+								<li><a href="../devguide.html">Development Guide</a></li>
+								<li><a href="../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../download.html">Download</a></li>
+								<li><a href="../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../sitemap.xml">Sitemap</a></li>
+						<li><a href="../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1></h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div class="sect1">
+<h2 id="Core">Tamaya Core Implementation</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>Tamaya Core provides an implementation of the <a href="API.html">Tamaya Configuration API</a> and adds additional functionality
+and building blocks for supporting SPI implementations.</p>
+</div>
+<div class="paragraph">
+<p>Tamaya Core contains the following artifacts:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Implementations of Configuration, ConfigurationContext, ConfigurationContextBuilder ConfigurationProviderSpi+</p>
+</li>
+<li>
+<p>A java.util.ServiceLoader based ServiceContext implementation. Hereby it implements component priorization based
+on the @Priority annotations.</p>
+</li>
+<li>
+<p>A PropertyConverterManager+ that loads and stores references to all the preconfigured PropertyConverter instances
+hereby providing type conversion for all important types.</p>
+</li>
+<li>
+<p>A simple default configuration setup using the current classpath and an optional staging variable.</p>
+</li>
+<li>
+<p>It collects all PropertySource and PropertySourceProvider instances registered with the ServiceLoader and
+registers them in the global ConfigurationContext</p>
+</li>
+<li>
+<p>It provides a ConfigurationContextBuilder implementation (class DefaultConfigurationContextBuilder) and allows
+changing the current ConfigurationContext.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The overall size of the library is very small. All required components are implemented and registered, so basically the
+Core module is a complete configuration solution. Nevertheless it is also very minimalistic, but fortunately is flexible
+enough to be extended/accommodated with additional features as needed, such as</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>placeholder and resolution mechanisms</p>
+</li>
+<li>
+<p>dynamic resource path lookup, e.g. with ant styled patterns</p>
+</li>
+<li>
+<p>configuration injection and configuration templates</p>
+</li>
+<li>
+<p>abstraction for reusable formats</p>
+</li>
+<li>
+<p>integration with other existing solutions</p>
+</li>
+<li>
+<p>configuration and configuration isolation targeting Java EE</p>
+</li>
+<li>
+<p>dynamic configuration and configuration updates</p>
+</li>
+<li>
+<p>Configuration management extensions</p>
+</li>
+<li>
+<p>remote configuration</p>
+</li>
+<li>
+<p>and more</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>For details about the extension modules available and  their functionality refer to the <a href="modules.html">extension user guide</a>.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="CorePropertyConverters">Default PropertyConverters in Core</h3>
+<div class="paragraph">
+<p>As mentioned the Core module delivers several default PropertyConverter instances out of the box. Find below the
+listing of converters automatically registered with the Core module:</p>
+</div>
+<table class="tableblock frame-1 grid-all spread">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 33.3333%;">
+<col style="width: 33.3334%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top"><em>Target Type</em></th>
+<th class="tableblock halign-left valign-top"><em>Class Name</em></th>
+<th class="tableblock halign-left valign-top"><em>Supported Formats</em></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">java.math.BigDecimal</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">BigDecimalConverter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1.2345, 0xFF</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">java.math.BigInteger</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">BigIntegerConverter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">0xFF, 1234</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">java.ui.lang.Boolean</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">BooleanConverter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">true, false, T, F, 1 ,0</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">java.ui.lang.Byte</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ByteConverter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">0xFF, MIN_VALUE, MAX_VALUE, 123</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">java.ui.lang.Character</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">CharConverter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">0xFF, 'a', 'H', 123</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">java.ui.lang.Class</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ClassConverter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">&lt;fully qualified class name&gt;</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">java.util.Currency</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">CurrencyConverter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">CHF, 123</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">java.ui.lang.Double</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">DoubleConverter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1, 0xFF, 1.2334, NaN, NEGATIVE_INFITIY, POSITIVE_INFINITY, MIN_VALUE, MAX_VALUE</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><em>Enums</em></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">EnumConverter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">&lt;Enum item name&gt;</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">java.ui.lang.Float</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">FloatConverter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1, 0xFF, 1.2334, NaN, NEGATIVE_INFITIY, POSITIVE_INFINITY, MIN_VALUE, MAX_VALUE</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">java.ui.lang.Integer</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">IntegerConverter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1, 0xD3, MIN_VALUE, MAX_VALUE</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">LocalDate</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">LocalDateConverter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">&lt;Date as defined by LocalDate.parse(String)</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">LocalTime</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">LocalTimeConverter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">&lt;Time as defined by LocalTime.parse(String)</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">LocalDateTime</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">LocalDateTimeConverter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">&lt;LocalDateTime as defined by LocalDateTime.parse(String)&gt;</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">java.ui.lang.Long</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">LongConverter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1, 0xD3, MIN_VALUE, MAX_VALUE</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">java.ui.lang.Number</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">NumberConverter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1, 0xFF, 1.2334, NaN, NEGATIVE_INFITIY, POSITIVE_INFINITY</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">java.ui.lang.Short</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ShortConverter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1, 0xD3, MIN_VALUE, MAX_VALUE</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">java.net.URI</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">URIConverter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="http://localhost:2020/testresource?api=true" class="bare">http://localhost:2020/testresource?api=true</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">java.net.URL</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">URLConverter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="http://localhost:2020/testresource?api=true" class="bare">http://localhost:2020/testresource?api=true</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ZoneId</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ZoneIdConverter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Europe/Zurich</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_registering_propertyconverters">Registering PropertyConverters</h3>
+<div class="paragraph">
+<p>Additional PropertyConverters can be implemented easily. It is recommended to register then using the java.util.ServiceLoader,
+meaning you add a file under META-INF/service/org.apache.tamaya.spi.PropertyConverter containing the fully qualified
+class names of the converters to be registered (one line per each).</p>
+</div>
+<div class="paragraph">
+<p>Alternatively you can also use a ConfigurationContextBuilder to add additional converters programmatically.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+API Implementations can be read-only thus not allowing adding additional converters programmatically.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="ComponentLoadingAndPriorization">Component Loading and Priorization</h3>
+<div class="paragraph">
+<p>Tamaya Core in general loads all components using the java.util.ServiceLoader mechanism. This means that new components
+must be registered by adding a file under META-INF/service/&lt;myInterfaceName&gt; containing the fully qualified
+implementation class names of the components to be registered (one line per each).
+The ServiceLoader itself does not provide any functionality for overriding or ordering of components. Tamaya
+core adds this functionality by the possibility to add @Priority annotations to the components registered.
+By default, and if no annotation is added 0 is used as priority. Hereby higher values preceed lower values, meaning</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>if a singleton component is accessed from the current ServiceContext the component with the higher value
+effectively <em>overrides/replaces</em> any component with lower values.</p>
+</li>
+<li>
+<p>if a collection of components is obtained from the ServiceContext the components are ordered in order, where the
+ones with higher priority are before components with lower priority.</p>
+</li>
+<li>
+<p>if priorities match Tamaya Core additionally sorts them using the simple class name. This ensures that ordering is
+still defined and predictable in almost all scenarios.</p>
+</li>
+</ul>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+Sorting the property sources based on their ordinal value is only the default ordering principle applied. By implementing
+      your own implementation of ConfigurationProviderSpi you can apply a different logic:
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="RegisteringPropertySources">Registering Property Sources</h3>
+<div class="paragraph">
+<p>PropertySources that provide configuration properties are registered as ordinary components as described in the previous
+section. Nevertheless the priority is not managed based on @Priority annotations, but based on an explicit
+int getOrdinal() method. This allows to define the ordinal/priority of a PropertySource explicitly. This is useful
+due to several reasons:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>it allows to define the ordinal as part of the configuration, thus allowing new overriding property sources being
+added easily.</p>
+</li>
+<li>
+<p>it allows to define the ordinal dynamically, e.g. based on the configuration location, the time of loading or
+whatever may be appropriate.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="CorePropertySources">Configuration Setup in Core</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Tamaya Core provides a minimal configuration setting, that allows you to configure SE
+applications already easily. Basically configuration is built  up by default as follows:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Read environment properties and add them prefixed with env.</p>
+</li>
+<li>
+<p>Read all files found at META-INF/javaconfiguration.properties
+and META-INF/javaconfiguration.xml</p>
+</li>
+</ol>
+</div>
+<div class="sect2">
+<h3 id="_overview_of_registered_default_property_sources_and_providers">Overview of Registered Default Property Sources and Providers</h3>
+<div class="paragraph">
+<p>The Tamaya Core implementation provides a couple of default PropertySource implementations, which are automatically
+registered. They are all in the package org.apache.tamaya.core.propertysource and
+org.apache.tamaya.core.provider:</p>
+</div>
+<table class="tableblock frame-1 grid-all spread">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 33.3333%;">
+<col style="width: 33.3334%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top"><em>Type</em></th>
+<th class="tableblock halign-left valign-top"><em>Class Name</em></th>
+<th class="tableblock halign-left valign-top"><em>Ordinal Used</em></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">META-INF/javaconfiguration.properties</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">JavaConfigurationProvider</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">0</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">META-INF/javaconfiguration.xml</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">JavaConfigurationProvider</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">0</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Environment Properties</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">EnvironmentPropertySource</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">300</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">System Properties</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">SystemPropertySource</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">400</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_abstract_class_propertiesfilepropertysource">Abstract Class PropertiesFilePropertySource</h3>
+<div class="paragraph">
+<p>The abstract class PropertiesFilePropertySource can be used for implementing a PropertySource based on a URL
+instance that points to a .properites file. It requires a URL to be passed on the constructor:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">PropertiesFilePropertySource(URL url);</code></pre>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_abstract_class_propertiespropertysource">Abstract Class PropertiesPropertySource</h4>
+<div class="paragraph">
+<p>The abstract class PropertiesPropertySource can be used for implementing a PropertySource based on a Properties
+instance. It requires a PropertySource to be passed on the constructor:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">PropertiesPropertySource(Properties properties);</code></pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_abstract_class_basepropertysource">Abstract Class BasePropertySource</h4>
+<div class="paragraph">
+<p>The abstract class BasePropertySource can be used for implementing custom PropertySource classes. It requires only
+one method to implemented:</p>
+</div>
+<div class="listingblock">
+<div class="title">Implementing a PropertySource using BasePropertySource</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public class MyPropertySource extends BasePropertySource{
+
+    public String getName(){
+        // return a unique name for the property source, e.g. based on the underlying resource. This name also
+        // allows to access the property source later
+    }
+
+    public Map&lt;String, String&gt; getProperties(){
+        // Get a map with all properties provided by this property source
+        // If the property source is not scannable, the map returned may be empty.
+        // In the ladder case the +boolean isScannale()+ must be overridden, since
+        // by default property sources are assumed to be scannable.
+    }
+
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>By default the ordinal of the property sources will be 1000, unless the key tamaya.ordinal asdefined in
+PropertySource.TAMAYA_ORDINAL is present in the current PropertySource. Of course it is also possible to override
+the inherited protected void initializeOrdinal(final int defaultOrdinal), or directly int getOrdinal().</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="CorePropertySourceProviders">Default PropertySourceProvider in Core</h3>
+<div class="paragraph">
+<p>With org.apache.tamaya.core.provider.JavaConfigurationProvider there is also a default PropertySourceProvider
+present that loads all .properties files found at META-INF/javaconfiguration.properties
+and META-INF/javaconfiguration.xml.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="Extensions">Adding Extensions</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The Core module only implements the <a href="API.html">API</a>. Many users require/wish additional functionality from a
+configuration system. Fortunately there are numerous extensions available that add further functionality.
+Loading extensions hereby is trivial: you only are required to add the corresponding dependency to the classpath.</p>
+</div>
+<div class="paragraph">
+<p>For detailed information on the extensions available refer to the <a href="extensions.html">extensions documentation</a>.</p>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../js/jquery-1.11.1.min.js"></script>
+		    <script src="../js/bootstrap.min.js"></script>
+		    <script src="../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions.html
----------------------------------------------------------------------
diff --git a/documentation/extensions.html b/documentation/extensions.html
new file mode 100644
index 0000000..17e1863
--- /dev/null
+++ b/documentation/extensions.html
@@ -0,0 +1,394 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Tamaya Incubator</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../css/base.css" rel="stylesheet"/>
+	    <link href="../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../index.html">Home</a></li>
+						<li><a href="../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../documentation/api.html">API</a></li>
+								<li><a href="../documentation/core.html">Core</a></li>
+								<li><a href="../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../development/source.html">Sources</a></li>
+								<li><a href="../development/community.html">Community</a></li>
+								<li><a href="../devguide.html">Development Guide</a></li>
+								<li><a href="../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../download.html">Download</a></li>
+								<li><a href="../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../sitemap.xml">Sitemap</a></li>
+						<li><a href="../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1></h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div class="sect1">
+<h2 id="_apache_tamaya_extension_modules">Apache Tamaya: Extension Modules</h2>
+<div class="sectionbody">
+<!-- toc disabled -->
+<div class="sect2">
+<h3 id="_mature_extensions">Mature Extensions</h3>
+<div class="paragraph">
+<p>Mature extensions have a stable API and SPI, similar to the API and Implementations provided.</p>
+</div>
+<table class="tableblock frame-1 grid-all spread">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 33.3333%;">
+<col style="width: 33.3334%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top"><em>Artifact</em></th>
+<th class="tableblock halign-left valign-top"><em>Description</em></th>
+<th class="tableblock halign-left valign-top"><em>Links</em></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">N/A: currently no extensions have reached that maturity level.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-formats</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Provides an abstract model for configuration formats</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_formats.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-functions</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Provides several functional extension points.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_functions.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-json</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Provides format support for JSON based configuration.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_json.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-optional</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Lets a Tamaya configuration to be used as an optional project extension only.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_optional.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-resolver</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Provides placeholder and dynamic resolution functionality for configuration values.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_resolver.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-events</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Provides support for publishing configuration changes</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_events.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-filter</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Provides a programmatic filter for config entries.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_filter.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-injection-api</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Provides Tamaya&#8217;s injection annotations API.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_injection.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-injection</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Provides configuration injection services and congiruation template support.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_injection.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-injection-cdi</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Java EE/standalone compliant CDI integration using CDI for injection.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_cdi.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-injection-cdi-se</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Java EE/standalone compliant CDI integration using Tamaya SE injection mechanism.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_cdi.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-mutable-config</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Provides API/SPI for writing configuration</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_mutable_config.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-spi-support</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Tamaya support module for SPI implementation.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_spi-support.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-resources</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Provides ant-style resource path resolution</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_resources.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-yaml</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Support for using yaml as a configuration format.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_yaml.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-collections</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Collections support.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_collections.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-spring</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Integration for Spring / Spring Boot.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_spring.html">Documentation</a></p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_extensions_sandbox">Extensions Sandbox</h3>
+<div class="paragraph">
+<p>Extensions in <em>draft state</em> rather experimental or not yet very mature. API changes may occurr at any time
+and the may also have severe issues. So use at your own risk or join and help us getting them stable and
+well tested!</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">
+All extensions currently run on Java 7 as well as on Java 8.
+</td>
+</tr>
+</table>
+</div>
+<table class="tableblock frame-1 grid-all spread">
+<colgroup>
+<col style="width: 33.3333%;">
+<col style="width: 33.3333%;">
+<col style="width: 33.3334%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top"><em>Artifact</em></th>
+<th class="tableblock halign-left valign-top"><em>Description</em></th>
+<th class="tableblock halign-left valign-top"><em>Links</em></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-commons</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Combines Tamaya&#8217;s Format Abstraction with Apache Commons.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-jodatime</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Provides support for JodaTime.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_jodatime.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-classloader-support</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Manages Tamaya configuration and services considering classloading hierarchies.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_classloader_support.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-management</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Provides JMX support for inspecting configuration.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_management.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-metamodel</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Provides support defining configuration using XML based meta-configuration.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_metamodel.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-validation</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Provides support for XML based meta-configuration allowing to validate configuration read.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_validation.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-usagetracker</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Provides support tracking of configuration usage and the consumer locations consuming configuration.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_usagetracker.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-camel</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Integration for Apache Camel.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_camel.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-osgi</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Integration for OSGI containers.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_osgi.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-consul</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Integration with consul clusters.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_consul.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-etcd</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Integration with etcd clusters.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_etcd.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-configured-sysprops</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Allows Tamaya to integrate with System.getProperties().</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_sysprops.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-remote</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Provides remote configuration support.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_remote.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-server</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Lets a Tamaya configuration instance provide scoped configuration as a REST service.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_server.html">Documentation</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-ui</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Provides a web UI for a VM running Tamaya.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_ui.html">Documentation</a></p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../js/jquery-1.11.1.min.js"></script>
+		    <script src="../js/bootstrap.min.js"></script>
+		    <script src="../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions/mod_builder.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_builder.html b/documentation/extensions/mod_builder.html
new file mode 100644
index 0000000..424b787
--- /dev/null
+++ b/documentation/extensions/mod_builder.html
@@ -0,0 +1,258 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Builder</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../../css/base.css" rel="stylesheet"/>
+	    <link href="../../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../../index.html">Home</a></li>
+						<li><a href="../../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../../documentation/api.html">API</a></li>
+								<li><a href="../../documentation/core.html">Core</a></li>
+								<li><a href="../../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../development/source.html">Sources</a></li>
+								<li><a href="../../development/community.html">Community</a></li>
+								<li><a href="../../devguide.html">Development Guide</a></li>
+								<li><a href="../../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../download.html">Download</a></li>
+								<li><a href="../../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../../sitemap.xml">Sitemap</a></li>
+						<li><a href="../../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Builder</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div class="sect1">
+<h2 id="BuilderCore">Tamaya Builder (Extension Module)</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>The Tamaya builder module provides a generic (one time) builder for creating Configuration instances,
+e.g. as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">ConfigurationBuilder builder = new ConfigurationBuilder();
+// do something
+Configuration config = builder.build();</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Basically the builder allows to create configuration instances completely independent of the current configuration
+setup. This gives you full control on the Configuration setup.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_compatibility">Compatibility</h3>
+<div class="paragraph">
+<p>The module is based on Java 7, so it will run on Java 7 and does
+not require Java 8. The ConfigurationProvider
+as defined by the API, provides a builder instance for ConfigurationContext
+in a similar way. A Configuration can also be created by passing an instance of a ConfigurationContext:</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installation">Installation</h3>
+<div class="paragraph">
+<p>To benefit from configuration builder support you only must add the corresponding
+dependency to your module:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-builder&lt;/artifactId&gt;
+  &lt;version&gt;0.3-SNAPSHOT&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_supported_functionality">Supported Functionality</h3>
+<div class="paragraph">
+<p>The builder allows you to add PropertySource instances:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">ConfigurationBuilder builder = new ConfigurationBuilder();
+builder.addPropertySources(sourceOne).addPropertySources(sourceTwo);
+Configuration config = builder.build();</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Similarly you can add filters:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">builder.addPropertyFilters(new MyConfigFilter());</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>&#8230;&#8203;or PropertySourceProvider instances:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">builder.addPropertySourceProvider(new MyPropertySourceProvider());</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Also the builder module allows to include/exclude any filters and property source already known to the current
+ConfigurationContext:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">builder.disableProvidedPropertyConverters();
+builder.enableProvidedPropertyConverters();
+
+builder.disableProvidedPropertyFilters();
+builder.enableProvidedPropertyFilters();
+
+builder.disableProvidedPropertySources();
+builder.enableProvidedPropertySources();</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../../js/jquery-1.11.1.min.js"></script>
+		    <script src="../../js/bootstrap.min.js"></script>
+		    <script src="../../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions/mod_camel.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_camel.html b/documentation/extensions/mod_camel.html
new file mode 100644
index 0000000..bcb4057
--- /dev/null
+++ b/documentation/extensions/mod_camel.html
@@ -0,0 +1,310 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Integration with Apache Camel</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../../css/base.css" rel="stylesheet"/>
+	    <link href="../../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../../index.html">Home</a></li>
+						<li><a href="../../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../../documentation/api.html">API</a></li>
+								<li><a href="../../documentation/core.html">Core</a></li>
+								<li><a href="../../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../development/source.html">Sources</a></li>
+								<li><a href="../../development/community.html">Community</a></li>
+								<li><a href="../../devguide.html">Development Guide</a></li>
+								<li><a href="../../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../download.html">Download</a></li>
+								<li><a href="../../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../../sitemap.xml">Sitemap</a></li>
+						<li><a href="../../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Integration with Apache Camel</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div id="preamble">
+<div class="sectionbody">
+<!-- toc disabled -->
+</div>
+</div>
+<div class="sect1">
+<h2 id="Optional">Integration with Apache Camel (Extension Module)</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>The Tamaya Camel integration module provides different artifacts which allows integration of Apachae Tamaya
+configuration with Apache Camel.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_compatibility">Compatibility</h3>
+<div class="paragraph">
+<p>The module is based on Java 7, so it will not run on Java 7 and beyond.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installation">Installation</h3>
+<div class="paragraph">
+<p>To benefit from configuration builder support you only must add the corresponding dependency to your module:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-camel&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_the_extensions_provided">The Extensions Provided</h3>
+<div class="paragraph">
+<p>Camel integration comes basically with three artifacts:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>A Camel ResolverFunction implementation adding explicit property resolution
+(org.apache.tamaya.integration.camel.TamayaPropertyResolver).</p>
+</li>
+<li>
+<p>A Camel PropertiesComponent implementation, which allows implicitly preconfigures the resolvers from above and
+additionally allows using Tamaya configuration as Camel <em>overrides</em>
+(org.apache.tamaya.integration.camel.TamayaPropertiesComponent).</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuring_using_camel_java_dsl">Configuring using Camel Java DSL</h3>
+<div class="paragraph">
+<p>Camel integration using Java DSL is basically simple:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">import org.apache.tamaya.integration.camel.TamayaPropertiesComponent;
+
+camelContext.addComponent("properties", new TamayaPropertiesComponent());</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Given so you can then use cfg or tamaya as prefix for resolving entries with Tamaya as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">RouteBuilder builder = new RouteBuilder() {
+    public void configure() {
+        from("direct:hello1").transform().simple("{{cfg:message}}");
+    }
+};
+camelContext.addRoutes(builder);
+builder = new RouteBuilder() {
+    public void configure() {
+        from("direct:hello2").transform().simple("{{tamaya:message}}");
+    }
+};
+camelContext.addRoutes(builder);</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Optionally you can also configure TamayaPropertiesComponent that all currently known Tamaya properties are used
+as Camel overrides, meaning they are evaluated prior to all other available resolver functions in the Camel
+PropertiesComponent:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">TamayaPropertiesComponent props = new TamayaPropertiesComponent();
+props.setTamayaOverrides(true);</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configuring_using_camel_xml_dsl">Configuring using Camel XML DSL</h3>
+<div class="paragraph">
+<p>Camel integration using XML DSL is basically very similar. You just have to add the properties component as bean
+as well. All other configuration parameters (e.g. file URIs are similar supported). In the example code below we
+again use Tamaya as the main configuration solutions only using Camel&#8217;s default behaviour as a fallback:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="
+       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+       http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
+    "&gt;
+
+    &lt;routeContext id="myCoolRoutes" xmlns="http://camel.apache.org/schema/spring"&gt;
+        &lt;route id="r1"&gt;
+            &lt;from uri="direct:hello1"/&gt;
+            &lt;transform&gt;
+                &lt;simple&gt;{{message}}&lt;/simple&gt;
+            &lt;/transform&gt;
+        &lt;/route&gt;
+        &lt;route id="r2"&gt;
+            &lt;from uri="direct:hello2"/&gt;
+            &lt;transform&gt;
+                &lt;simple&gt;{{cfg:message}}&lt;/simple&gt;
+            &lt;/transform&gt;
+        &lt;/route&gt;
+        &lt;route id="r3"&gt;
+            &lt;from uri="direct:hello3"/&gt;
+            &lt;transform&gt;
+                &lt;simple&gt;{{tamaya:message}}&lt;/simple&gt;
+            &lt;/transform&gt;
+        &lt;/route&gt;
+    &lt;/routeContext&gt;
+
+    &lt;bean id="properties" class="org.apache.tamaya.integration.camel.TamayaPropertiesComponent"&gt;
+        &lt;property name="tamayaOverrides" value="true"/&gt;
+    &lt;/bean&gt;
+
+&lt;/beans&gt;</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../../js/jquery-1.11.1.min.js"></script>
+		    <script src="../../js/bootstrap.min.js"></script>
+		    <script src="../../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>


[6/9] incubator-tamaya-site git commit: TAMAYA-178: Update file structure to reflect menu structure

Posted by po...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions/mod_etcd.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_etcd.html b/documentation/extensions/mod_etcd.html
new file mode 100644
index 0000000..64307a6
--- /dev/null
+++ b/documentation/extensions/mod_etcd.html
@@ -0,0 +1,381 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Integration with etcd (Core OS)</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../../css/base.css" rel="stylesheet"/>
+	    <link href="../../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../../index.html">Home</a></li>
+						<li><a href="../../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../../documentation/api.html">API</a></li>
+								<li><a href="../../documentation/core.html">Core</a></li>
+								<li><a href="../../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../development/source.html">Sources</a></li>
+								<li><a href="../../development/community.html">Community</a></li>
+								<li><a href="../../devguide.html">Development Guide</a></li>
+								<li><a href="../../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../download.html">Download</a></li>
+								<li><a href="../../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../../sitemap.xml">Sitemap</a></li>
+						<li><a href="../../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Integration with etcd (Core OS)</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div id="preamble">
+<div class="sectionbody">
+<!-- toc disabled -->
+</div>
+</div>
+<div class="sect1">
+<h2 id="Optional">Integration with etcd (Extension Module)</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>The Tamaya etcd integration module provides different artifacts which allows integration of Apachae Tamaya
+configuration with etcd. Basically the module supports read-only integration (as a EtcdPropertySource as well
+as a support for MutableConfiguration as defined by the tamaya-mutable-config extension module.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_compatibility">Compatibility</h3>
+<div class="paragraph">
+<p>The module is based on Java 7, so it will not run on Java 7 and beyond.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installation">Installation</h3>
+<div class="paragraph">
+<p>To benefit from configuration builder support you only must add the corresponding dependency to your module:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-etcd&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_the_extensions_provided">The Extensions Provided</h3>
+<div class="paragraph">
+<p>ETcd integration comes basically with 2 artifacts:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>The org.apache.tamaya.etcd.EtcdAccessor can be configured with a an url targeting an etcd server&#8217;s REST endpoint root.
+(org.apache.tamaya.etcd.EtcdAccessor). The accessor basically provides a simple Java API for communicating
+with etcd server. The accessor hereby allows reading of single properties, or whole subtrees. Also the basic non
+atomic write methods are implemented.</p>
+</li>
+<li>
+<p>The org.apache.tamaya.etcd.EtcdPropertySource is a PropertySource with a default ordinal of 100 and the name
+'etcd', which is automatically registered.</p>
+</li>
+<li>
+<p>If the tamaya-mutable-config module is loaded it is possible to write property values back into the etcd cluster,
+by accessing a MutableConfiguration using the URI config:etcd.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_the_etcdaccessor">The EtcdAccessor</h3>
+<div class="paragraph">
+<p>The accessor mentioned implements the basic read and write API for communicating with an etcd configuration cluster.
+Hereby the accessor also provides etcd specific data such as createdIndex, modifiedIndex, ttl in the Map
+returned. Hereby the concept of etcd is used where keys starting with an '_' will be hidden from the overall
+properties map, being only directly/explicitly accessible:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public class EtcdAccessor {
+
+    /**
+     * Creates a new instance with the basic access url.
+     * @param server server url, e.g. {@code http://127.0.0.1:4001}.
+     * @throws MalformedURLException
+     */
+    public EtcdAccessor(String server) throws MalformedURLException;
+
+    /**
+     * Get the etcd server version.
+     * @return the etcd server version, never null.
+     */
+    public String getVersion();
+
+    /**
+     * Ask etcd for s aingle key, value pair. Hereby the response returned from etcd:
+     * &lt;pre&gt;
+     *     key=value
+     *     _key.source=[etcd]http://127.0.0.1:4001
+     *     _key.createdIndex=12
+     *     _key.modifiedIndex=34    // optional
+     *     _key.ttl=300             // optional
+     *     _key.expiration=...      // optional
+     * &lt;/pre&gt;
+     * @param key the requested key
+     * @return the mapped result, including meta-entries.
+     */
+    public Map&lt;String,String&gt; get(String key);
+
+    /**
+     * Creates/updates an entry in etcd without any ttl set.
+     * The response is as follows:
+     * &lt;pre&gt;
+     *     key=value
+     *     _key.source=[etcd]http://127.0.0.1:4001
+     *     _key.createdIndex=12
+     *     _key.modifiedIndex=34             // optional
+     *     _key.prevNode.createdIndex=12     // optional
+     *     _key.prevNode.modifiedIndex=34    // optional
+     * &lt;/pre&gt;
+     * @param key the property key, not null
+     * @param value the value to be set
+     * @return the result map as described above.
+     */
+    public Map&lt;String,String&gt; set(String key, String value);
+
+    /**
+     * Creates/updates an entry in etcd. The response is as follows:
+     * &lt;pre&gt;
+     *     key=value
+     *     _key.source=[etcd]http://127.0.0.1:4001
+     *     _key.createdIndex=12
+     *     _key.modifiedIndex=34             // optional
+     *     _key.ttl=300                      // optional
+     *     _key.expiry=...                   // optional
+     *     _key.prevNode.createdIndex=12     // optional
+     *     _key.prevNode.modifiedIndex=34    // optional
+     *     _key.prevNode.ttl=300             // optional
+     *     _key.prevNode.expiration=...      // optional
+     * &lt;/pre&gt;
+     * @param key the property key, not null
+     * @param value the value to be set
+     * @param ttlSeconds the ttl in seconds (optional)
+     * @return the result map as described above.
+     */
+    public Map&lt;String,String&gt; set(String key, String value, Integer ttlSeconds);
+
+
+    /**
+     * Deletes a given key. The response is as follows:
+     * &lt;pre&gt;
+     *     _key.source=[etcd]http://127.0.0.1:4001
+     *     _key.createdIndex=12
+     *     _key.modifiedIndex=34
+     *     _key.ttl=300                       // optional
+     *     _key.expiry=...                    // optional
+     *     _key.prevNode.createdIndex=12      // optional
+     *     _key.prevNode.modifiedIndex=34     // optional
+     *     _key.prevNode.ttl=300              // optional
+     *     _key.prevNode.expiration=...       // optional
+     *     _key.prevNode.value=...            // optional
+     * &lt;/pre&gt;
+     * @param key the key to be deleted.
+     * @return the response mpas as described above.
+     */
+    public Map&lt;String,String&gt; delete(String key);
+
+
+    /**
+     * Access regular Tamaya properties map as follows:
+     * &lt;pre&gt;
+     *    key1=myvalue
+     *     _key1.source=[etcd]http://127.0.0.1:4001
+     *     _key1.createdIndex=12
+     *     _key1.modifiedIndex=34          // optional
+     *     _key1.ttl=300                   // optional
+     *     _key1.expiration=...            // optional
+     *
+     *      key2=myvaluexxx
+     *     _key2.source=[etcd]http://127.0.0.1:4001
+     *     _key2.createdIndex=12
+     *
+     *      key3=val3
+     *     _key3.source=[etcd]http://127.0.0.1:4001
+     *     _key3.createdIndex=12
+     *     _key3.modifiedIndex=2
+     * &lt;/pre&gt;
+     */
+    public Map&lt;String,String&gt; getProperties(String directory, boolean recursive);
+
+}</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_the_etcdpropertysource">The EtcdPropertySource</h3>
+<div class="paragraph">
+<p>The EtcdPropertySource is automatically registered and allows to configure the etcd servers to be used. This
+enables to use e.g. in Docker environments the docker environment configuration mechanisms to configure Tamaya running
+in microservice containers to connect with the according etcd cluster:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>The property source reads the tamaya.etcd.server.urls system and environment property to evaluate possible etcd servers
+(comma separated), which can be connected to. On error the API just performs a Round-Robin through the list of
+configured servers. Without any configuration http://127.0.0.1:4001 is used. If no connection to any etcd
+server can be established a warning will be logged, but deployment will not fail.</p>
+</li>
+<li>
+<p>Additinoally also the
+accessor allows to configure the socket/connection timeouts by setting tamaya.etcd.timeout in seconds either as
+system or environment property.</p>
+</li>
+<li>
+<p>The EtcdPropertySource finally also allows the values read from the etcd cluster to be mapped to prefixed
+context. This can be activated by setting the -Dtamaya.etcd.prefix=&lt;PREFIX&gt; system property. E.g. when the prefix is
+set to cluster-config. a etcd key of host:known/all is mapped to cluster-config.host:known/all.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../../js/jquery-1.11.1.min.js"></script>
+		    <script src="../../js/bootstrap.min.js"></script>
+		    <script src="../../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions/mod_events.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_events.html b/documentation/extensions/mod_events.html
new file mode 100644
index 0000000..9133ecd
--- /dev/null
+++ b/documentation/extensions/mod_events.html
@@ -0,0 +1,504 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Events</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../../css/base.css" rel="stylesheet"/>
+	    <link href="../../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../../index.html">Home</a></li>
+						<li><a href="../../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../../documentation/api.html">API</a></li>
+								<li><a href="../../documentation/core.html">Core</a></li>
+								<li><a href="../../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../development/source.html">Sources</a></li>
+								<li><a href="../../development/community.html">Community</a></li>
+								<li><a href="../../devguide.html">Development Guide</a></li>
+								<li><a href="../../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../download.html">Download</a></li>
+								<li><a href="../../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../../sitemap.xml">Sitemap</a></li>
+						<li><a href="../../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Events</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div id="preamble">
+<div class="sectionbody">
+<!-- toc disabled -->
+</div>
+</div>
+<div class="sect1">
+<h2 id="Core">Tamaya Events (Extension Module)</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>Tamaya Events is an extension module. Refer to the <a href="modules.html">extensions documentation</a> for further details
+about modules.</p>
+</div>
+<div class="paragraph">
+<p>Tamaya Events provides an abstraction for events like change events, when configuration has been changed.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_compatibility">Compatibility</h3>
+<div class="paragraph">
+<p>The module is based on Java 7, so it can be used with Java 7 and beyond.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installation">Installation</h3>
+<div class="paragraph">
+<p>To benefit from configuration event support you only must add the corresponding dependency to your module:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-events&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_core_architecture">Core Architecture</h3>
+<div class="paragraph">
+<p>The core of the module are the ConfigEventListener interface and the ConfigEvent class, which defines an abstraction
+for event handling and observation:</p>
+</div>
+<div class="listingblock">
+<div class="title">ConfigEvent</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public final interface ConfigEvent&lt;T&gt; {
+
+    Class&lt;T&gt; getResourceType();
+    T getResource();
+    String getVersion();
+    long getTimestamp();
+}
+
+// @FunctionalInterface
+public interface ConfigEventListener {
+
+    void onConfigEvent(ConfigEvent&lt;?&gt; event);
+
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This mechanism can now be used to propagate configuration changes to all interested stakeholders. Hereby the payload
+can be basically arbitrary as long as it implements the ConfigEvent interface. The next sections
+give more details on the the provided event types and their usage.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_modelling_configuration_changes">Modelling Configuration Changes</h3>
+<div class="paragraph">
+<p>This module provides a serializable and thread-safe abstraction modlling a configuration change. A change hereby may
+be</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>additional configuration entries</p>
+</li>
+<li>
+<p>removed configuration entries</p>
+</li>
+<li>
+<p>changes on entries</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The most important event modelled is the ConfigurationChange class, which implements the event sent for a changed
+Configuration:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public final class ConfigurationChange implements ConfigEvent&lt;Configuration&gt;, Serializable{
+
+    public static ConfigurationChange emptyChangeSet(Configuration configuration);
+
+    @Override
+    public Configuration getResource();
+    @Override
+    public Class&lt;Configuration&gt; getResourceType();
+    @Override
+    public String getVersion();
+    @Override
+    public long getTimestamp();
+
+    // Event specific methods
+
+    public Collection&lt;PropertyChangeEvent&gt; getChanges();
+    public int getRemovedSize();
+    public int getAddedSize();
+    public int getUpdatedSize();
+
+    public boolean isKeyAffected(String key);
+    public boolean isRemoved(String key);
+    public boolean isAdded(String key);
+    public boolean isUpdated(String key);
+    public boolean containsKey(String key);
+    public boolean isEmpty();
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>New instances of this class hereby can be created using a fluent builder:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">Configuration config = ...;
+ConfigurationChange change = ConfigurationChangeBuilder.of(config)
+  .addChange("MyKey", "newValue")
+  .removeKeys("myRemovedKey").build();</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Also it is possible to directly compare 2 instances of configurations to create ConfigurationChange that
+reflect the differences between the two configurations:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">Comparing 2 configurations
+-------------------------------------------------------
+Configuration config = ...;
+Configuration changedConfig = ...;
+ConfigurationChange change = ConfigurationChangeBuilder.of(config)
+  .addChanges(changedConfig).build();
+-------------------------------------------------------</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>So a ConfigurationChange allows you to evaluate the changes on a configuration. This allows you to listen to changes
+and react in your client code as useful, once you encounter changes that are relevant to you, e.g. by reconfiguring
+your component. For listening to configuration changes you must implement the
+ConfigEventListener functional interface:</p>
+</div>
+<div class="listingblock">
+<div class="title">Implementing a ConfigChangeListener</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public final class MyConfigChangeListener implements ConfigChangeListener&lt;ConfigurationChange&gt;{
+
+  private Configuration config = ConfigurationProvider.getConfiguration();
+
+  public void onConfigEvent(ConfigEvent&lt;?&gt; event){
+     if(event.getResourceTspe()==Configuration.class){
+         if(event.getConfiguration()==config){
+           // do something
+         }
+     }
+  }
+
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>You can <strong>register</strong> your implementation in 2 ways:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Manually by calling ConfigEventManager.addListener(new MyConfigChangeListener())</p>
+</li>
+<li>
+<p>Automatically by registering your listener using the ServiceLoader under
+META-INF/services/org.apache.tamaya.events.ConfigEventListener</p>
+</li>
+</ol>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_modelling_propertysource_changes">Modelling PropertySource Changes</h3>
+<div class="paragraph">
+<p>Beside that a whole configuration changes, also PropertySource instances can change, e.g. by a configuration file
+edited on the fly. This is similarly to a ConfigurationChange reflected by the classes PropertySourceChange,
+PropertySourceChangeBuilder.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_the_configeventmanager_singleton">The ConfigEventManager Singleton</h3>
+<div class="paragraph">
+<p>Main entry point of the events module is the ConfigEventManager singleton class, which provides static accessor
+methods to the extension&#8217;s functionality:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Adding/removing of ConfigChangeListener instances, either globally or per event type.</p>
+</li>
+<li>
+<p>Firing configuration events synchronously or asyncronously (mostly called by framework code).</p>
+</li>
+<li>
+<p>Configuring the monitor that periodically checks for changes on the global Configuration provided
+by ConfigurationProvider.getConfiguration().</p>
+</li>
+</ul>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public final class ConfigEventManager {
+
+    private ConfigEventManager() {}
+
+    public static void addListener(ConfigEventListener l);
+    public static &lt;T extends ConfigEvent&gt; void addListener(ConfigEventListener l, Class&lt;T&gt; eventType);
+    public static void removeListener(ConfigEventListener l);
+    public static &lt;T extends ConfigEvent&gt; void removeListener(ConfigEventListener l, Class&lt;T&gt; eventType);
+    public static &lt;T extends ConfigEvent&gt;
+        Collection&lt;? extends ConfigEventListener&gt; getListeners();
+    public static &lt;T extends ConfigEvent&gt;
+        Collection&lt;? extends ConfigEventListener&gt; getListeners(Class&lt;T&gt; type);
+
+    public static &lt;T&gt; void fireEvent(ConfigEvent&lt;?&gt; event);
+    public static &lt;T&gt; void fireEventAsynch(ConfigEvent&lt;?&gt; event);
+
+    public static void enableChangeMonitoring(boolean enable);
+    public static boolean isChangeMonitoring();
+    public long getChangeMonitoringPeriod();
+    public void setChangeMonitoringPeriod(long millis);
+
+}</code></pre>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_monitoring_of_configuration_changes">Monitoring of configuration changes</h4>
+<div class="paragraph">
+<p>The ConfigEventManager also supports active monitoring of the current configuration to trigger corresponding change
+events to listeners registered. This feature is deactivated by default, but can be enabled by calling
+ConfigEventManager.enableChangeMonitoring(true);. This feature avoids regularly polling your local Configuration for
+any kind of changes. If a change has been encountered Tamaya identifies it and triggers corresponding
+ConfigurationChange events automatically.</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_freezing_configurations_and_propertysources">Freezing Configurations and PropertySources</h3>
+<div class="paragraph">
+<p>Configuration instances as well as PropertySources are explicitly not required to be serializable. To enable easy
+serialization of these types a Configuration's <strong>current state can be frozen</strong> (e.g. for later comparison with a newly
+loaded version). Freezing hereby means</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>all key/values are read-out by calling the getProperties() method.</p>
+</li>
+<li>
+<p>a meta data entry is added of the form _frozenAt=223273777652325677, whichdefines the UTC timestamp in
+milliseconds when this instance was frozen.</p>
+</li>
+<li>
+<p>if not already defined an _id property will be added to the Configuration containing the
+identifier of the configuration.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>In code freezing is a no-brainer:</p>
+</div>
+<div class="listingblock">
+<div class="title">Freezing the current Configuration</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">Configuration config = ConfigurationProvider.getConfiguration();
+Configuration frozenConfig = FrozenConfiguration.of(config);</code></pre>
+</div>
+</div>
+<div class="olist lowerroman">
+<ol class="lowerroman" type="i">
+<li>
+<p>and similarly for a PropertySource:</p>
+</li>
+</ol>
+</div>
+<div class="listingblock">
+<div class="title">Freezing the current Configuration</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">PropertySource propertySource = ...;
+PropertySource frozenSource = FrozenPropertySource.of(propertySource);</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_spis">SPIs</h3>
+<div class="paragraph">
+<p>This component also defines an additional SPI, which allows to adapt the implementation of the main ConfigEventManager
+singleton. This enables, for example, using external eventing systems, such as CDI, instead of the default provided
+simple SE based implementation. As normal, implementation must be registered using the current ServiceContext
+active, by default using the Java ServiceLoader mechanism.</p>
+</div>
+<div class="listingblock">
+<div class="title">SPI: ConfigEventSpi</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public interface ConfigEventManagerSpi {
+
+        &lt;T&gt; void addListener(ConfigEventListener l);
+        &lt;T extends ConfigEvent&gt; void addListener(ConfigEventListener l, Class&lt;T&gt; eventType);
+        void removeListener(ConfigEventListener l);
+        &lt;T extends ConfigEvent&gt; void removeListener(ConfigEventListener l, Class&lt;T&gt; eventType);
+        Collection&lt;? extends ConfigEventListener&gt; getListeners();
+        Collection&lt;? extends ConfigEventListener&gt; getListeners(Class&lt;? extends ConfigEvent&gt; eventType);
+
+        void fireEvent(ConfigEvent&lt;?&gt; event);
+        void fireEventAsynch(ConfigEvent&lt;?&gt; event);
+
+        long getChangeMonitoringPeriod();
+        void setChangeMonitoringPeriod(long millis);
+        boolean isChangeMonitorActive();
+        void enableChangeMonitor(boolean enable);
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Summarizing with the events module you can easily observe configuration changes, record the
+state of any configuration and compare configuration states to create and publish related
+change events.</p>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../../js/jquery-1.11.1.min.js"></script>
+		    <script src="../../js/bootstrap.min.js"></script>
+		    <script src="../../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions/mod_filter.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_filter.html b/documentation/extensions/mod_filter.html
new file mode 100644
index 0000000..87ad6df
--- /dev/null
+++ b/documentation/extensions/mod_filter.html
@@ -0,0 +1,301 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: User Filtering</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../../css/base.css" rel="stylesheet"/>
+	    <link href="../../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../../index.html">Home</a></li>
+						<li><a href="../../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../../documentation/api.html">API</a></li>
+								<li><a href="../../documentation/core.html">Core</a></li>
+								<li><a href="../../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../development/source.html">Sources</a></li>
+								<li><a href="../../development/community.html">Community</a></li>
+								<li><a href="../../devguide.html">Development Guide</a></li>
+								<li><a href="../../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../download.html">Download</a></li>
+								<li><a href="../../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../../sitemap.xml">Sitemap</a></li>
+						<li><a href="../../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: User Filtering</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div id="preamble">
+<div class="sectionbody">
+<!-- toc disabled -->
+</div>
+</div>
+<div class="sect1">
+<h2 id="Optional">User Filtering (Extension Module)</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>The Tamaya filter module provides a simple singleton accessor that allows to explicitly add PropertyFilter instances
+active on the current thread only. This can be very useful in many scenarios. Additionally this module adds
+standard filters that hide metadata entries when the full configuration map is accessed. When keys are accessed
+explicitily no filtering is applied and everything is visible.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_compatibility">Compatibility</h3>
+<div class="paragraph">
+<p>The module is based on Java 7, so it will not run on Java 7 and beyond.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installation">Installation</h3>
+<div class="paragraph">
+<p>To benefit from configuration builder support you only must add the corresponding dependency to your module:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-filter&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_the_extensions_provided">The Extensions Provided</h3>
+<div class="paragraph">
+<p>Tamaya Filter comes basically with 3 artifacts:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>The org.apache.tamaya.filter.ConfigurationFilter provides several static methods to register PropertyFilter
+instances on the current thread.</p>
+</li>
+<li>
+<p>The org.apache.tamaya.filter.DefaultMetdataFilter is a PropertyFilter with hides all entries starting with
+an underscore ('_'), when a full property map is accessed.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_the_configurationfilter">The ConfigurationFilter</h3>
+<div class="paragraph">
+<p>The accessor mentioned implements the API for for adding PropertyFilters to the current thread (as thread local):</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public final class ConfigurationFilter implements PropertyFilter{
+
+    ...
+
+    /**
+     * Seactivates metadata filtering also on global map access for this thread.
+     * @see #clearFilters()
+     * @param active true,to enable metadata filtering (default).
+     */
+    public static void setFilterMetadata(boolean active);
+
+    /**
+     * Access the filtering configuration that is used for filtering single property values accessed.
+     * @return the filtering config, never null.
+     */
+    public static FilterContext getSingleFilterContext();
+
+    /**
+     * Access the filtering configuration that is used for filtering configuration properties accessed as full
+     * map.
+     * @return the filtering config, never null.
+     */
+    public static FilterContext getMapFilters();
+
+    /**
+     * Removes all programmable filters active on the current thread.
+     */
+    public static void clearFilters();
+
+    ...
+
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>For using regular expression when filtering configuration keys a corresponding implementation of a PropertyFilter
+is part of this module, So you can add a customized filter as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">try {
+    ConfigurationFilter.getMapFilters().addFilter(new myFilter());
+
+    // do your code with filtering active
+}
+finally {
+    // cleanup
+    ConfigurationFilter.clearFilters();
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The FilterContext is a simple structure just providing some handy accessors to the dynamic thread-local
+managed filters:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public final class FilterContext implements PropertyFilter {
+
+    public void addIncludes(PropertyFilter filter);
+    public void addExcludes(int pos, PropertyFilter filter);
+    public PropertyFilter removeFilter(int pos);
+    public void clearFilters();
+    public void setIncludes(PropertyFilter... filters);
+    public void setExcludes(Collection&lt;PropertyFilter&gt; filters);
+    public List&lt;PropertyFilter&gt; getFilters();
+
+}</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../../js/jquery-1.11.1.min.js"></script>
+		    <script src="../../js/bootstrap.min.js"></script>
+		    <script src="../../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions/mod_formats.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_formats.html b/documentation/extensions/mod_formats.html
new file mode 100644
index 0000000..0a269e6
--- /dev/null
+++ b/documentation/extensions/mod_formats.html
@@ -0,0 +1,462 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Formats</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../../css/base.css" rel="stylesheet"/>
+	    <link href="../../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../../index.html">Home</a></li>
+						<li><a href="../../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../../documentation/api.html">API</a></li>
+								<li><a href="../../documentation/core.html">Core</a></li>
+								<li><a href="../../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../development/source.html">Sources</a></li>
+								<li><a href="../../development/community.html">Community</a></li>
+								<li><a href="../../devguide.html">Development Guide</a></li>
+								<li><a href="../../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../download.html">Download</a></li>
+								<li><a href="../../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../../sitemap.xml">Sitemap</a></li>
+						<li><a href="../../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Formats</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div id="preamble">
+<div class="sectionbody">
+<!-- toc disabled -->
+</div>
+</div>
+<div class="sect1">
+<h2 id="Core">Tamaya Formats (Extension Module)</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>Tamaya Formats is an extension module. Refer to the <a href="modules.html">extensions documentation</a> for further details.</p>
+</div>
+<div class="paragraph">
+<p>Tamaya Formats provides an abstraction for configuration formats provding the following benefits:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Parsing of resources in can be implemented separately from interpreting the different aspects/parts parsed. As an
+example a file format can define different sections. Depending on the company specific semantics of the sections
+a different set of PropertySource instances must be created.</p>
+</li>
+<li>
+<p>Similarly the configuration abstraction can also be used as an interface for integrating Tamaya with alternate
+frameworks that provide logic for reading configuration files, such as Apache commons.configuration.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_compatibility">Compatibility</h3>
+<div class="paragraph">
+<p>The module is based on Java 7, so it can be used with Java 7 and beyond.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installation">Installation</h3>
+<div class="paragraph">
+<p>To benefit from dynamic value resolution you only must add the corresponding dependency to your module:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-formats&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_the_idea">The Idea</h3>
+<div class="paragraph">
+<p>Formats should be reusable, meaning you should have to write a format parser only once and then be able to map the data read into whatever
+data structure (in our cases: property sources).</p>
+</div>
+<div class="sect3">
+<h4 id="_configurationdata">ConfigurationData</h4>
+<div class="paragraph">
+<p>Configuration formats can be very different. Some are simple key/value pairs, whereas other also consist of multiple sections (e.g. ini-files) or
+hierarchical data (e.g. yaml, xml). This is solved in Tamaya by mapping the configuration read into a normalized intermediary format called
+ConfigurationData:</p>
+</div>
+<div class="listingblock">
+<div class="title">ConfigurationData</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public final class ConfigurationData {
+
+    public ConfigurationFormat getFormat();
+    public String getResource();
+
+    public Set&lt;String&gt; getSectionNames();
+    public Map&lt;String,String&gt; getSection(String name);
+
+    public boolean hasDefaultProperties();
+    public Map&lt;String,String&gt; getDefaultProperties();
+    public Map&lt;String,String&gt; getCombinedProperties();
+
+    public boolean isEmpty();
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>In detail the data read from a file is organized into <em>sections</em> as follows:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>with getResource() and getFormat() the underlying resource and the format that read this data can be accessed.</p>
+</li>
+<li>
+<p>properties can be owned by</p>
+<div class="ulist">
+<ul>
+<li>
+<p>named sections</p>
+</li>
+<li>
+<p>an (unnamed) default section</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>each section section contains a map of properties. Hereby the same key can be part of the default section and multiple
+named sections, depending on the configuration format.</p>
+</li>
+<li>
+<p>The method getSectionNames() returns a set of all section names.</p>
+</li>
+<li>
+<p>With getSection(String name) a named section can be accessed.</p>
+</li>
+<li>
+<p>With getDefaultSection() the 'default' section can be accessed. This is a convenience method.</p>
+</li>
+<li>
+<p>With getCombinedProperties() a flattened entry map can be accessed built up (by default) out of</p>
+<div class="ulist">
+<ul>
+<li>
+<p>all entries from the default section, without any changes.</p>
+</li>
+<li>
+<p>all entries from named sections, where the key for each entry is prefix with the section name and a '::' separator.</p>
+</li>
+</ul>
+</div>
+</li>
+<li>
+<p>The configuration format used determines the mapping of configuration data read into this structure. The format
+implementation can as well provide alternate implementations of how the data read should be mapped into the
+combined properties map.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_configurationformat">ConfigurationFormat</h4>
+<div class="paragraph">
+<p>A ConfigurationFormat is basically an abstraction that reads a configuration resource (modelled by an InputStream) and
+creates a corresponding ConfigurationData instance.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public interface ConfigurationFormat {
+
+    String getName();
+    boolean accepts(URL url);
+    ConfigurationData readConfiguration(String resource, InputStream inputStream);
+}</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_how_to_tranform_configurationdata_into_a_propertysource">How to tranform ConfigurationData into a PropertySource</h3>
+<div class="paragraph">
+<p>For for the conversion of ConfigurationData into a PropertySource different approaches can be useful:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>The ConfigurationFormat that reads the data can provides all properties read either as sectioned properties
+or/and as default properties. The most simple cases is, where all properties have been added as 'default'
+properties. In this case the default properties can be used as the property sources properties without any change.</p>
+</li>
+<li>
+<p>If the format did also add section based properties, the combined properties returned can be used, hereby
+replacing the '::' separator with a '.' separator.</p>
+</li>
+<li>
+<p>In all other cases a custom mapping is useful, which can be acomplished by using the MappedConfigurationDataPropertySource
+and overriding the Map&lt;String,String&gt; populateData(ConfigurationData data) method.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>In most cases the usage of a FlattenedDefaultPropertySource, is a good choice to start. This class
+provides a convenient default mapping and also allows to customized the mapping easily:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">ConfigurationData data = ...;
+FlattenedDefaultPropertySource ps = new FlattenedDefaultPropertySource(data){
+  protected Map&lt;String, String&gt; populateData(ConfigurationData data) {
+    ...
+  }
+};</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Nevertheless, depending on the context, where a configuration source was read (classloader, time, source etc.) the
+resulting properties can have different semnatics, especially different priorities. Also section
+names may be mapped into different ordinals instead of using them as key prefixes (e.g. imagine configuration formats
+with a 'default', 'main', and 'overrides' sections). For such more complex or custom cases no simple mapping
+can be defined. Consequently the functionality mapping the normalized ConfigurationData read to the
+appropriate collection of PropertySource instances must be implemented.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_examples">Examples</h3>
+<div class="sect3">
+<h4 id="_mapping_ini_files">Mapping ini-Files</h4>
+<div class="paragraph">
+<p>Consider the following ini-file:</p>
+</div>
+<div class="listingblock">
+<div class="title">Example.ini</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-listing" data-lang="listing">a=valA
+a.b=valB
+
+[section1]
+aa=sectionValA
+aa.b.c=SectionValC
+
+[section2]
+a=val2Section2</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This file content coud be mapped to the following structure:</p>
+</div>
+<div class="listingblock">
+<div class="title">Mapping of Example.ini</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-listing" data-lang="listing">a=valA
+a.b=valB
+section1::valA=sectionValA
+section1::a.b.c=SectionValC
+section2::a=val2Section2</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Nevertheless from the ConfigurationData instance a more complex algorithm can access all the different parts:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>the_default_ properties (a, a.b)</p>
+</li>
+<li>
+<p>the section section1, with properties aa, aa.b.c</p>
+</li>
+<li>
+<p>the section section2, qith properties a</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_mapping_xml_files">Mapping xml-Files</h4>
+<div class="paragraph">
+<p>The same concept can also be applied to xml-files. Consider the following configuration file:</p>
+</div>
+<div class="listingblock">
+<div class="title">Example.conf</div>
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;config&gt;
+  &lt;default&gt;
+    &lt;a&gt;valA&lt;/a&gt;
+    &lt;a.b&gt;valB&lt;/a.B&gt;
+  &lt;/default&gt;
+
+  &lt;section id="section1"&gt;
+    &lt;param id="aa"&gt;sectionValA&lt;/aa&gt;
+    &lt;param id="aa.b.c"&gt;SectionValC&lt;/aa.b.c&gt;
+  &lt;/section&gt;
+  &lt;section id="section2"&gt;
+    &lt;param id="a"&gt;val2Section2&lt;/aa&gt;
+  &lt;/section&gt;
+&lt;/config&gt;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This file basically describes the same configuration as the ini-based version we have seen before. The formats
+module hereby ships with 3 format classes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>PropertiesFormat providing support for .properties files.</p>
+</li>
+<li>
+<p>PropertiesXmlFormat providing support for xml.property files.</p>
+</li>
+<li>
+<p>IniConfiguratonFormat providing support for xml.property files.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../../js/jquery-1.11.1.min.js"></script>
+		    <script src="../../js/bootstrap.min.js"></script>
+		    <script src="../../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4176b5bc/documentation/extensions/mod_functions.html
----------------------------------------------------------------------
diff --git a/documentation/extensions/mod_functions.html b/documentation/extensions/mod_functions.html
new file mode 100644
index 0000000..55204b6
--- /dev/null
+++ b/documentation/extensions/mod_functions.html
@@ -0,0 +1,338 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	    <meta charset="utf-8"/>
+	    <title>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Functions</title>
+	    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+	    <meta name="description" content=""/>
+	    <meta name="author" content=""/>
+	    <meta name="keywords" content=""/>
+	    <meta name="generator" content="'JBake '+'${version}"/>
+
+	    <!-- Le styles -->
+	    <link href="../../css/bootstrap.min.css" rel="stylesheet"/>
+	    <link href="../../css/asciidoctor.css" rel="stylesheet"/>
+	    <link href="../../css/base.css" rel="stylesheet"/>
+	    <link href="../../css/prettify.css" rel="stylesheet"/>
+
+	    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
+	    <!--[if lt IE 9]>
+	      <script src="../../js/html5shiv.min.js"></script>
+	    <![endif]-->
+
+	    <!-- Fav and touch icons from ASF -->
+			<link rel="shortcut icon" href="../../favicon.ico"/>
+			<link rel="apple-touch-icon" sizes="57x57" href="../../favicons/apple-touch-icon-57x57.png"/>
+		  <link rel="apple-touch-icon" sizes="60x60" href="../../favicons/apple-touch-icon-60x60.png"/>
+		  <link rel="apple-touch-icon" sizes="72x72" href="../../favicons/apple-touch-icon-72x72.png"/>
+		  <link rel="apple-touch-icon" sizes="76x76" href="../../favicons/apple-touch-icon-76x76.png"/>
+		  <link rel="apple-touch-icon" sizes="114x114" href="../../favicons/apple-touch-icon-114x114.png"/>
+		  <link rel="apple-touch-icon" sizes="120x120" href="../../favicons/apple-touch-icon-120x120.png"/>
+		  <link rel="apple-touch-icon" sizes="144x144" href="../../favicons/apple-touch-icon-144x144.png"/>
+		  <link rel="apple-touch-icon" sizes="152x152" href="../../favicons/apple-touch-icon-152x152.png"/>
+		  <link rel="apple-touch-icon" sizes="180x180" href="../../favicons/apple-touch-icon-180x180.png"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-32x32.png" sizes="32x32"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-194x194.png" sizes="194x194"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-96x96.png" sizes="96x96"/>
+		  <link rel="icon" type="image/png" href="../../favicons/android-chrome-192x192.png" sizes="192x192"/>
+		  <link rel="icon" type="image/png" href="../../favicons/favicon-16x16.png" sizes="16x16"/>
+		  <link rel="manifest" href="../../favicons/manifest.json"/>
+		  <link rel="shortcut icon" href="../../favicons/favicon.ico"/>
+		  <meta name="msapplication-TileColor" content="#603cba"/>
+		  <meta name="msapplication-TileImage" content="../../favicons/mstile-144x144.png"/>
+		  <meta name="msapplication-config" content="../../favicons/browserconfig.xml"/>
+		  <meta name="theme-color" content="#303284"/>
+	</head>
+	<body onload="prettyPrint()">
+	<div id="wrap">
+		<div>
+
+	  <!-- Fixed navbar -->
+      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
+        </div>
+        <div class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+						<li><a href="../../index.html">Home</a></li>
+						<li><a href="../../about.html">About</a></li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../documentation/usecases.html">Use Cases and Requirements</a></li>
+								<li><a href="../../documentation/quickstart.html">Quickstart</a></li>
+								<li><a href="../../documentation/api.html">API</a></li>
+								<li><a href="../../documentation/core.html">Core</a></li>
+								<li><a href="../../documentation/extensions.html">Extension Guide</a></li>
+								<li class="divider"></li>
+								<li><a href="../../apidocs/index.html">Javadoc ${tamaya_version} (external)</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../development/source.html">Sources</a></li>
+								<li><a href="../../development/community.html">Community</a></li>
+								<li><a href="../../devguide.html">Development Guide</a></li>
+								<li><a href="../../release-guide.html">Release Guide</a></li>
+              </ul>
+            </li>
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+								<li><a href="../../download.html">Download</a></li>
+								<li><a href="../../history.html">Release History</a></li>
+              </ul>
+            </li>
+<!-- Example:
+						<li class="dropdown">
+              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Action</a></li>
+                <li><a href="#">Another action</a></li>
+                <li><a href="#">Something else here</a></li>
+                <li class="divider"></li>
+                <li class="dropdown-header">Nav header</li>
+                <li><a href="#">Separated link</a></li>
+                <li><a href="#">One more separated link</a></li>
+              </ul>
+            </li>
+-->
+						<li><a href="../../sitemap.xml">Sitemap</a></li>
+						<li><a href="../../feed.xml">Subscribe</a></li>
+          </ul>
+        </div><!--/.nav-collapse -->
+      </div>
+    </div>
+
+	</div>
+		<div class="container">
+
+			<div class="page-header">
+				<h1>Apache Tamaya&amp;#8201;&amp;#8212;&amp;#8201;Extension: Functions</h1>
+			</div>
+
+			<p><em>2016-12-18</em></p>
+
+			<p><div id="preamble">
+<div class="sectionbody">
+<!-- toc disabled -->
+</div>
+</div>
+<div class="sect1">
+<h2 id="Core">Tamaya Functions (Extension Module)</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_overview">Overview</h3>
+<div class="paragraph">
+<p>Tamaya Functions is an extension module. Refer to the <a href="modules.html">extensions documentation</a> for further details.</p>
+</div>
+<div class="paragraph">
+<p>Tamaya Functions provides several functional extensions using the ConfigOperator,ConfigQuery extension points. Most
+functional extension are accessible from the ConfigurationFunction singleton. When importing its methods statically
+one can use the methods to achieve some interesting effects, e.g.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-java" data-lang="java">import static org.apache.tamaya.functions.ConfigurationFunctions.*;
+
+Set&lt;String&gt; sections = ConfigurationProvider.getConfiguration().with(areas("a", false).with(transitiveAreas());</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The expression above returns all fully qualified section names that are child sections of the root section 'a'.
+So given the entries a.b.entry1, a.b.entry2, a.a.entry3, a.b.c.entry4 the reult would be a, a.a, a.b, a.b.c.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_compatibility">Compatibility</h3>
+<div class="paragraph">
+<p>The module is based on Java 7, so it can be used with Java 7 and beyond.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_installation">Installation</h3>
+<div class="paragraph">
+<p>For using the functionality shown in this document you only must add the corresponding dependency to your module:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml">&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.tamaya.ext&lt;/groupId&gt;
+  &lt;artifactId&gt;tamaya-functions&lt;/artifactId&gt;
+  &lt;version&gt;{tamaya_version}&lt;/version&gt;
+&lt;/dependency&gt;</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_the_provided_functions">The Provided Functions</h3>
+<div class="sect3">
+<h4 id="_functions_on_configurationfunctions">Functions on ConfigurationFunctions</h4>
+<div class="paragraph">
+<p>The following sections explain the provided functions defined by ConfigurationFunctions singleton.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>ConfigOperator filter(PropertyMatcher matcher)</strong> creates a ConfigOperator that creates a Configuration
+containing only keys that are selected by the given <em>matcher predicate</em>. The PropertyMatcher hereby allows to evaluate not only
+the <em>key</em>, but also the <em>value</em>.</p>
+</li>
+<li>
+<p><strong>ConfigOperator map(KeyMapper keyMapper)</strong> creates a ConfigOperator that maps the keys as defined
+by the given <em>keyMapper</em>.</p>
+</li>
+<li>
+<p><strong>ConfigOperator section(String section)</strong> creates  a ConfigOperator that creates a Configuration containing only
+entries that are direct or indirect members of the given section.</p>
+</li>
+<li>
+<p><strong>ConfigOperator section(String areaKey, boolean stripKeys)</strong> creates  a ConfigOperator that creates a Configuration
+containing only entries that are direct or indirect members of the given section. Hereby <em>stripKeys</em> allows to determine
+if the returned entries should be relative to the search criteria {{stripKeys=true}} or absolute keys.</p>
+</li>
+<li>
+<p><strong>isKeyInSection(String section, String sectionKey)</strong> allows to easily determine if a given <em>key</em> is a direct or indirect member
+of a given section.</p>
+</li>
+<li>
+<p><strong>boolean isKeyInSections(String key, String&#8230;&#8203; sectionKeys)</strong> allows to easily determine if one key of given
+<em>key</em> is a direct or indirect member of at least one of the given <em>sectionKeys</em>.</p>
+</li>
+<li>
+<p><strong>ConfigQuery&lt;Set&lt;String&gt;&gt; sections()</strong> allows to query all the contained fully qualified section names (the ones that
+also have parameters present).</p>
+</li>
+<li>
+<p><strong>ConfigQuery&lt;Set&lt;String&gt;&gt; transitiveSections()</strong> allows to query all the contained fully qualified section names,
+including the transitive closure of sections.</p>
+</li>
+<li>
+<p><strong>ConfigQuery&lt;Set&lt;String&gt;&gt; sections(final Predicate&lt;String&gt; predicate)</strong> allows to query all the contained fully
+qualified section names that are selected by the given <em>predicate</em>.</p>
+</li>
+<li>
+<p><strong>ConfigQuery&lt;Set&lt;String&gt;&gt; sections(final Predicate&lt;String&gt; predicate)</strong> allows to query all the contained fully
+qualified section names that are selected by the given <em>predicate</em>, including the transitive closure of sections
+identified.</p>
+</li>
+<li>
+<p><strong>ConfigOperator sectionsRecursive(String&#8230;&#8203; sectionKeys)</strong> provides a ConfigOperator that filters all sections identified
+by the given <em>sectionKeys</em> and its child sections.</p>
+</li>
+<li>
+<p><strong>ConfigOperator sectionRecursive(final boolean stripKeys, final String&#8230;&#8203; sectionKeys)</strong> provides a ConfigOperator
+that filters all sections identified by the given <em>sectionKeys</em> and its child sections. <em>stripKeys</em> allows to
+determine if the resulting configuration should be relative to the selected areas ({{stripKeys=true}}) or
+absolute (filtering only).</p>
+</li>
+<li>
+<p><strong>ConfigQuery&lt;String&gt; jsonInfo()</strong> returns a query that converts a Configuration into a JSON formatted String
+representation.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_functions_on_propertysourcefunctions">Functions on PropertySourceFunctions</h4>
+<div class="paragraph">
+<p>The following sections explain the provided functions defined by PropertySourceFunctions singleton.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><strong>PropertySource addMetaData(PropertySource propertySource, Map&lt;String,String&gt; metaData)</strong> Creates a new PropertySource
+with the given metadata added.</p>
+</li>
+<li>
+<p><strong>boolean isKeyInSection(String key, String sectionKey)</strong> Checks if the given <em>key</em> is a direct or indirect member of
+one of the given <em>sectionKey</em>.</p>
+</li>
+<li>
+<p><strong>boolean isKeyInSections(String key, String&#8230;&#8203; sectionKeys)</strong> Checks if the given <em>key</em> is a direct or indirect member of
+one of one of the given <em>sectionKeys</em>.</p>
+</li>
+<li>
+<p><strong>Set&lt;String&gt; sections(Map&lt;String, String&gt; properties)</strong> Extracts the sections from the given properties.</p>
+</li>
+<li>
+<p><strong>Set&lt;String&gt; transitiveSections(Map&lt;String, String&gt; properties)</strong> Extracts the transitive sections from the given
+properties.</p>
+</li>
+<li>
+<p><strong>Set&lt;String&gt; sections(Map&lt;String, String&gt; properties, final Predicate&lt;String&gt; predicate)</strong> Extracts the sections
+from the given properties, also filtering with the given predicate.</p>
+</li>
+<li>
+<p><strong>Set&lt;String&gt; transitiveSections(Map&lt;String, String&gt; properties, Predicate&lt;String&gt; predicate)</strong> Extracts the transitive
+sections from the given properties, also filtering with the given predicate.</p>
+</li>
+<li>
+<p><strong>Map&lt;String,String&gt; sectionsRecursive(Map&lt;String, String&gt; properties, String&#8230;&#8203; sectionKeys)</strong> Creates w PropertySource
+only containing the sections that a direct or indirect children of the given <em>sectionKeys</em>.</p>
+</li>
+<li>
+<p><strong>Map&lt;String,String&gt; sectionRecursive(Map&lt;String, String&gt; properties, boolean stripKeys, String&#8230;&#8203; sectionKeys)</strong> Creates w PropertySource
+only containing the sections that a direct or indirect children of the given <em>sectionKeys</em>. With <em>stripKeys</em> one can
+select of the returned values should be relative to its selection of be fully qualified.</p>
+</li>
+<li>
+<p><strong>String stripSectionKeys(String key, String&#8230;&#8203; sectionKeys)</strong> This function strips away the matching section key as given
+in <em>sectionKeys</em> from a given <em>key</em>.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+</div></p>
+
+			<hr />
+		</div>
+	</div>
+	<div>
+			<div id="push"></div>
+
+		    <div id="footer">
+		      <div class="container">
+		        <p class="muted credit">&copy; 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
+							| Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
+							at <span>2016-12-18</span>
+						</p>
+						<p>
+								<b>Disclaimer</b>
+                    Apache Tamaya (incubating) is an effort undergoing
+                    incubation at
+                    The Apache Software Foundation (ASF), sponsored by
+                    the name of Apache Incubator. Incubation is required of
+                    all newly accepted projects until a further review indicates
+                    that the infrastructure, communications, and decision making
+                    process have stabilized in a manner consistent with other
+                    successful ASF projects. While incubation status is not
+                    necessarily a reflection of the completeness or stability of
+                    the code, it does indicate that the project has yet to
+                    be fully endorsed by the ASF.<br />
+                    <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../../logos/egg-logo2.png"/></a>
+							</p>
+		      </div>
+		    </div>
+
+		    <!-- Le javascript
+		    ================================================== -->
+		    <!-- Placed at the end of the document so the pages load faster -->
+		    <script src="../../js/jquery-1.11.1.min.js"></script>
+		    <script src="../../js/bootstrap.min.js"></script>
+		    <script src="../../js/prettify.js"></script>
+
+    	</div>
+    </body>
+</html>