tamaya-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From pottlin...@apache.org
Subject [25/57] [abbrv] incubator-tamaya-site git commit: Merge branch 'asf-site' of https://git-wip-us.apache.org/repos/asf/incubator-tamaya-site into asf-site
Date Mon, 19 Dec 2016 21:58:43 GMT
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4f4912e5/documentation/extensions/mod_filter.html
----------------------------------------------------------------------
diff --cc documentation/extensions/mod_filter.html
index b225f5d,ca4596a..0000000
deleted file mode 100644,100644
--- a/documentation/extensions/mod_filter.html
+++ /dev/null
@@@ -1,305 -1,302 +1,0 @@@
--<!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="../../index.html">Apache Tamaya (incubating)</a>
 -          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
--        </div>
--        <div class="navbar-collapse collapse">
--          <ul class="nav navbar-nav">
- 						<li><a href="../../start.html">Tamaya in 5 minutes</a></li>
 -						<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>
 -								<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="../../development/team.html">Project Team</a></li>
- 								<li><a target="_blank" href="https://builds.apache.org/view/S-Z/view/Tamaya/">CI / ASF Jenkins</a></li>
- 								<li><a target="_blank" href="https://issues.apache.org/jira/browse/TAMAYA">Issues / ASF Jira</a></li>
--								<li><a href="../../devguide.html">Development Guide</a></li>
--								<li><a href="../../release-guide.html">Release Guide</a></li>
- 								<li class="divider"></li>
- 								<li><a href="../../development/possible-contributions.html">Possible Contributions</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><em>2016-12-19</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-19</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/4f4912e5/documentation/extensions/mod_formats.html
----------------------------------------------------------------------
diff --cc documentation/extensions/mod_formats.html
index ac34de1,223c06e..0000000
deleted file mode 100644,100644
--- a/documentation/extensions/mod_formats.html
+++ /dev/null
@@@ -1,466 -1,463 +1,0 @@@
--<!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="../../index.html">Apache Tamaya (incubating)</a>
 -          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
--        </div>
--        <div class="navbar-collapse collapse">
--          <ul class="nav navbar-nav">
- 						<li><a href="../../start.html">Tamaya in 5 minutes</a></li>
 -						<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>
 -								<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="../../development/team.html">Project Team</a></li>
- 								<li><a target="_blank" href="https://builds.apache.org/view/S-Z/view/Tamaya/">CI / ASF Jenkins</a></li>
- 								<li><a target="_blank" href="https://issues.apache.org/jira/browse/TAMAYA">Issues / ASF Jira</a></li>
--								<li><a href="../../devguide.html">Development Guide</a></li>
--								<li><a href="../../release-guide.html">Release Guide</a></li>
- 								<li class="divider"></li>
- 								<li><a href="../../development/possible-contributions.html">Possible Contributions</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><em>2016-12-19</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-19</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/4f4912e5/documentation/extensions/mod_functions.html
----------------------------------------------------------------------
diff --cc documentation/extensions/mod_functions.html
index 58ee4d5,177c291..0000000
deleted file mode 100644,100644
--- a/documentation/extensions/mod_functions.html
+++ /dev/null
@@@ -1,342 -1,339 +1,0 @@@
--<!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="../../index.html">Apache Tamaya (incubating)</a>
 -          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
--        </div>
--        <div class="navbar-collapse collapse">
--          <ul class="nav navbar-nav">
- 						<li><a href="../../start.html">Tamaya in 5 minutes</a></li>
 -						<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>
 -								<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="../../development/team.html">Project Team</a></li>
- 								<li><a target="_blank" href="https://builds.apache.org/view/S-Z/view/Tamaya/">CI / ASF Jenkins</a></li>
- 								<li><a target="_blank" href="https://issues.apache.org/jira/browse/TAMAYA">Issues / ASF Jira</a></li>
--								<li><a href="../../devguide.html">Development Guide</a></li>
--								<li><a href="../../release-guide.html">Release Guide</a></li>
- 								<li class="divider"></li>
- 								<li><a href="../../development/possible-contributions.html">Possible Contributions</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><em>2016-12-19</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-19</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/4f4912e5/documentation/extensions/mod_injection.html
----------------------------------------------------------------------
diff --cc documentation/extensions/mod_injection.html
index f947a78,dfd7664..0000000
deleted file mode 100644,100644
--- a/documentation/extensions/mod_injection.html
+++ /dev/null
@@@ -1,704 -1,701 +1,0 @@@
--<!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="../../index.html">Apache Tamaya (incubating)</a>
 -          <a class="navbar-brand" href="../../">Apache Tamaya (incubating)</a>
--        </div>
--        <div class="navbar-collapse collapse">
--          <ul class="nav navbar-nav">
- 						<li><a href="../../start.html">Tamaya in 5 minutes</a></li>
 -						<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>
 -								<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="../../development/team.html">Project Team</a></li>
- 								<li><a target="_blank" href="https://builds.apache.org/view/S-Z/view/Tamaya/">CI / ASF Jenkins</a></li>
- 								<li><a target="_blank" href="https://issues.apache.org/jira/browse/TAMAYA">Issues / ASF Jira</a></li>
--								<li><a href="../../devguide.html">Development Guide</a></li>
--								<li><a href="../../release-guide.html">Release Guide</a></li>
- 								<li class="divider"></li>
- 								<li><a href="../../development/possible-contributions.html">Possible Contributions</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><em>2016-12-19</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-19</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>


Mime
View raw message