http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/8158d464/documentation/api.html
----------------------------------------------------------------------
diff --git a/documentation/api.html b/documentation/api.html
deleted file mode 100644
index ebea6ff..0000000
--- a/documentation/api.html
+++ /dev/null
@@ -1,1143 +0,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>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="../index.html">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 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 null (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></h1>
-                       </div>
-
-                       <p><em>2017-01-09</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
-<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]]</p>
-</div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_configuration">Configuration</h3>
-<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 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="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>2017-01-10</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/8158d464/documentation/core.html
----------------------------------------------------------------------
diff --git a/documentation/core.html b/documentation/core.html
deleted file mode 100644
index faf44e8..0000000
--- a/documentation/core.html
+++ /dev/null
@@ -1,600 +0,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>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="../index.html">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 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 null (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></h1>
-                       </div>
-
-                       <p><em>2017-01-09</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="extensions.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>2017-01-10</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>

Reply via email to