http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/40dff215/download.html ---------------------------------------------------------------------- diff --git a/download.html b/download.html new file mode 100644 index 0000000..0444c42 --- /dev/null +++ b/download.html @@ -0,0 +1,274 @@ +<!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: Download</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 {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: Download</h1> + </div> + + <p><em>2016-12-19</em></p> + + <p><div id="preamble"> +<div class="sectionbody"> +<div class="paragraph"> +<p>The latest release is Apache Tamaya 0.2. +You can download it it from the +<a href="http://www.apache.org/dist/incubator/tamaya" target="_blank">Apache Software Foundation Distribution Directory</a>.</p> +</div> +<div class="paragraph"> +<p>The release notes for each release of Apache Tamaya +can be found at the <a href="history.html">release history page</a>.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_current_source_code">1. Current Source Code</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Downloading of the the current state of the project can be done by</p> +</div> +<div class="ulist"> +<ul> +<li> +<p>cloning the <a href="https://github.com/apache/incubator-tamaya" target="_blank">GitHub mirror</a></p> +</li> +<li> +<p>Github also provides an easy way to dowload the current project source as zip archive.</p> +</li> +</ul> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_maven_dependencies">2. Maven Dependencies</h2> +<div class="sectionbody"> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml"><dependency> + <groupId>org.apache.tamaya</groupId> + <artifactId>tamaya-api</artifactId> + <version>0.2</version> +</dependency> +<dependency> + <groupId>org.apache.tamaya</groupId> + <artifactId>tamaya-core</artifactId> + <version>0.2</version> +</dependency></code></pre> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_previous_releases">3. Previous Releases</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>All previous releases can also be found at the +<a href="https://www.apache.org/dist/incubator/tamaya/" target="_blank">Apache Software Foundation Distribution Directory</a>. +In our <a href="history.html">release history overview</a> you can find all previous releases of Tamaya.</p> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_verifying_releases">4. Verifying Releases</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>It is essential that you verify the integrity of any downloaded files using +the PGP or MD5 signatures. For more information on signing artifacts and +why we do it, check out the +<a href="https://www.apache.org/dev/release-signing.html" target="_blank">Release Signing FAQ</a>.</p> +</div> +<div class="paragraph"> +<p>The PGP signatures can be verified using PGP or GPG. First download the +<a href="https://www.apache.org/dist/incubator/tamaya/KEYS" target="_blank">KEYS file</a> +as well as the asc signature file for the artifact. Make sure you get +these files from the +<a href="https://www.apache.org/dist/incubator/tamaya/" target="_blank">main distribution directory</a> +rather than from a +<a href="https://www.apache.org/dyn/closer.cgi/tamaya/" target="_blank">mirror</a>. +Then verify the signatures using e.g.:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-shell" data-lang="shell">$ pgpk -a KEYS +$ pgpv tamaya-project-1.2.0-source-release.zip.asc</code></pre> +</div> +</div> +<div class="paragraph"> +<p>or</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-shell" data-lang="shell">$ pgp -ka KEYS +$ pgp tamaya-project-1.2.0-source-release.zip.asc</code></pre> +</div> +</div> +<div class="paragraph"> +<p>or</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-shell" data-lang="shell">$ gpg --import KEYS +$ gpg --verify tamaya-project-1.2.0-source-release.zip.asc</code></pre> +</div> +</div> +</div> +</div></p> + + <hr /> + </div> + </div> + <div> + <div id="push"></div> + + <div id="footer"> + <div class="container"> + <p class="muted credit">© 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/40dff215/examples.html ---------------------------------------------------------------------- diff --git a/examples.html b/examples.html new file mode 100644 index 0000000..f07eb61 --- /dev/null +++ b/examples.html @@ -0,0 +1,240 @@ +<!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: Examples</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 {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: Examples</h1> + </div> + + <p><em>2016-12-19</em></p> + + <p><div id="preamble"> +<div class="sectionbody"> +<!-- toc disabled --> +</div> +</div> +<div class="sect1"> +<h2 id="_tamaya_examples">Tamaya Examples</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_minimal">Minimal</h3> +<div class="paragraph"> +<p>This example shows the basic functionality that is available when Tamaya is used without any further extensions. +It shows how configuration can be added to the classpath and how it can be accessed.</p> +</div> +</div> +<div class="sect2"> +<h3 id="_simple_propertysource">Simple PropertySource</h3> +<div class="paragraph"> +<p>This example shows how to write and register an additional PropertySource and PropertySourceProvider, which is +the SPI to add your own configuration data and locations. For a more advanced example you may also have a look at +the provided default metamodels, e.g. the simple metamodel (currently in the experimental part and not shipped with +the current release).</p> +</div> +</div> +<div class="sect2"> +<h3 id="_resources">Resources</h3> +<div class="paragraph"> +<p>This example shows how resources can be located using ANT-styled paths and this feature can help you to implement +PropertySourceProvider instances that provide configuration for a set of files/folders at a certain (searchable) +location, as provided by the resource extension_.</p> +</div> +</div> +<div class="sect2"> +<h3 id="_resolver">Resolver</h3> +<div class="paragraph"> +<p>The resolver example defines a configuration file that illustrates the usage of placeholders that are resolved on +configuration access, as provided by the <em>resolver extension</em>.</p> +</div> +</div> +<div class="sect2"> +<h3 id="_injection">Injection</h3> +<div class="paragraph"> +<p>The injection sample shows how to inject configuration into a created object instance, or how to instantiate a proxied +configuration template, which provides a type-safe configuration access mechanism. This functionality is provided +by the <em>injection extension</em>. Hereby neither JSR 330 nor 299 are used, so it is pure and minimal SE based +implementation.</p> +</div> +</div> +<div class="sect2"> +<h3 id="_fileobserver">FileObserver</h3> +<div class="paragraph"> +<p>This example shows how the event extension can be used to automatically adapt the current configuration when +the underlying configuration data is changing, e.g. when new configuration is added to a file folder, or removed or +adapted.</p> +</div> +</div> +<div class="sect2"> +<h3 id="_builder">Builder</h3> +<div class="paragraph"> +<p>This example shows how to build a Configuration using a simple pure SE builder API as provided by the +<em>builder extension</em>.</p> +</div> +</div> +<div class="sect2"> +<h3 id="_remote">Remote</h3> +<div class="paragraph"> +<p>THe remote example shows a simple setup where parts of the Configuration are read remotedly.</p> +</div> +</div> +</div> +</div></p> + + <hr /> + </div> + </div> + <div> + <div id="push"></div> + + <div id="footer"> + <div class="container"> + <p class="muted credit">© 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/40dff215/extensions.html ---------------------------------------------------------------------- diff --git a/extensions.html b/extensions.html new file mode 100644 index 0000000..1255fd6 --- /dev/null +++ b/extensions.html @@ -0,0 +1,371 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta charset="utf-8"/> + <title>Tamaya Incubator</title> + <meta name="viewport" content="width=device-width, initial-scale=1.0"/> + <meta name="description" content=""/> + <meta name="author" content=""/> + <meta name="keywords" content=""/> + <meta name="generator" content="'JBake '+'${version}"/> + + <!-- Le styles --> + <link href="css/bootstrap.min.css" rel="stylesheet"/> + <link href="css/asciidoctor.css" rel="stylesheet"/> + <link href="css/base.css" rel="stylesheet"/> + <link href="css/prettify.css" rel="stylesheet"/> + + <!-- HTML5 shim, for IE6-8 support of HTML5 elements --> + <!--[if lt IE 9]> + <script src="js/html5shiv.min.js"></script> + <![endif]--> + + <!-- Fav and touch icons from ASF --> + <link rel="shortcut icon" href="favicon.ico"/> + <link rel="apple-touch-icon" sizes="57x57" href="favicons/apple-touch-icon-57x57.png"/> + <link rel="apple-touch-icon" sizes="60x60" href="favicons/apple-touch-icon-60x60.png"/> + <link rel="apple-touch-icon" sizes="72x72" href="favicons/apple-touch-icon-72x72.png"/> + <link rel="apple-touch-icon" sizes="76x76" href="favicons/apple-touch-icon-76x76.png"/> + <link rel="apple-touch-icon" sizes="114x114" href="favicons/apple-touch-icon-114x114.png"/> + <link rel="apple-touch-icon" sizes="120x120" href="favicons/apple-touch-icon-120x120.png"/> + <link rel="apple-touch-icon" sizes="144x144" href="favicons/apple-touch-icon-144x144.png"/> + <link rel="apple-touch-icon" sizes="152x152" href="favicons/apple-touch-icon-152x152.png"/> + <link rel="apple-touch-icon" sizes="180x180" href="favicons/apple-touch-icon-180x180.png"/> + <link rel="icon" type="image/png" href="favicons/favicon-32x32.png" sizes="32x32"/> + <link rel="icon" type="image/png" href="favicons/favicon-194x194.png" sizes="194x194"/> + <link rel="icon" type="image/png" href="favicons/favicon-96x96.png" sizes="96x96"/> + <link rel="icon" type="image/png" href="favicons/android-chrome-192x192.png" sizes="192x192"/> + <link rel="icon" type="image/png" href="favicons/favicon-16x16.png" sizes="16x16"/> + <link rel="manifest" href="favicons/manifest.json"/> + <link rel="shortcut icon" href="favicons/favicon.ico"/> + <meta name="msapplication-TileColor" content="#603cba"/> + <meta name="msapplication-TileImage" content="favicons/mstile-144x144.png"/> + <meta name="msapplication-config" content="favicons/browserconfig.xml"/> + <meta name="theme-color" content="#303284"/> + </head> + <body onload="prettyPrint()"> + <div id="wrap"> + <div> + + <!-- Fixed navbar --> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="navbar-brand" href="">Apache Tamaya (incubating)</a> + </div> + <div class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li><a href="index.html">Home</a></li> + <li><a href="quickstart.html">Quickstart</a></li> + <li><a href="index.html">Documentation</a></li> + <li><a href="/apidocs/index.html">API</a></li> + <li><a href="index.html">Development</a></li> + <li><a href="index.html">Releases</a></li> + <li><a href="about.html">About</a></li> + <li><a href="sitemap.xml">Sitemap</a></li> + <li><a href="feed.xml">Subscribe</a></li> +<!-- + <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> +--> + </ul> + </div><!--/.nav-collapse --> + </div> + </div> + + </div> + <div class="container"> + + <div class="page-header"> + <h1></h1> + </div> + + <p><em>2016-11-28</em></p> + + <p><div class="sect1"> +<h2 id="_apache_tamaya_extension_modules">Apache Tamaya: Extension Modules</h2> +<div class="sectionbody"> +<!-- toc disabled --> +<div class="sect2"> +<h3 id="_mature_extensions">Mature Extensions</h3> +<div class="paragraph"> +<p>Mature extensions have a stable API and SPI, similar to the API and Implementations provided.</p> +</div> +<table class="tableblock frame-1 grid-all spread"> +<colgroup> +<col style="width: 33.3333%;"> +<col style="width: 33.3333%;"> +<col style="width: 33.3334%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top"><em>Artifact</em></th> +<th class="tableblock halign-left valign-top"><em>Description</em></th> +<th class="tableblock halign-left valign-top"><em>Links</em></th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">N/A: currently no extensions have reached that maturity level.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-formats</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Provides an abstract model for configuration formats</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_formats.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-functions</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Provides several functional extension points.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_functions.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-json</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Provides format support for JSON based configuration.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_json.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-optional</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Lets a Tamaya configuration to be used as an optional project extension only.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_optional.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-resolver</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Provides placeholder and dynamic resolution functionality for configuration values.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_resolver.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-events</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Provides support for publishing configuration changes</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_events.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-filter</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Provides a programmatic filter for config entries.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_filter.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-injection-api</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Provides Tamaya’s injection annotations API.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_injection.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-injection</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Provides configuration injection services and congiruation template support.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_injection.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-injection-cdi</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Java EE/standalone compliant CDI integration using CDI for injection.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_cdi.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-injection-cdi-se</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Java EE/standalone compliant CDI integration using Tamaya SE injection mechanism.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_cdi.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-mutable-config</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Provides API/SPI for writing configuration</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_mutable_config.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-spi-support</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Tamaya support module for SPI implementation.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_spi-support.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-resources</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Provides ant-style resource path resolution</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_resources.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-yaml</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Support for using yaml as a configuration format.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_yaml.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-collections</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Collections support.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_collections.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-spring</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Integration for Spring / Spring Boot.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_spring.html">Documentation</a></p></td> +</tr> +</tbody> +</table> +</div> +<div class="sect2"> +<h3 id="_extensions_sandbox">Extensions Sandbox</h3> +<div class="paragraph"> +<p>Extensions in <em>draft state</em> rather experimental or not yet very mature. API changes may occurr at any time +and the may also have severe issues. So use at your own risk or join and help us getting them stable and +well tested!</p> +</div> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<div class="title">Note</div> +</td> +<td class="content"> +All extensions currently run on Java 7 as well as on Java 8. +</td> +</tr> +</table> +</div> +<table class="tableblock frame-1 grid-all spread"> +<colgroup> +<col style="width: 33.3333%;"> +<col style="width: 33.3333%;"> +<col style="width: 33.3334%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top"><em>Artifact</em></th> +<th class="tableblock halign-left valign-top"><em>Description</em></th> +<th class="tableblock halign-left valign-top"><em>Links</em></th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-commons</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Combines Tamaya’s Format Abstraction with Apache Commons.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-jodatime</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Provides support for JodaTime.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_jodatime.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-classloader-support</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Manages Tamaya configuration and services considering classloading hierarchies.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_classloader_support.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-management</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Provides JMX support for inspecting configuration.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_management.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-metamodel</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Provides support defining configuration using XML based meta-configuration.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_metamodel.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-validation</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Provides support for XML based meta-configuration allowing to validate configuration read.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_validation.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-usagetracker</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Provides support tracking of configuration usage and the consumer locations consuming configuration.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_usagetracker.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-camel</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Integration for Apache Camel.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_camel.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-osgi</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Integration for OSGI containers.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_osgi.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-consul</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Integration with consul clusters.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_consul.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-etcd</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Integration with etcd clusters.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_etcd.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-configured-sysprops</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Allows Tamaya to integrate with System.getProperties().</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_sysprops.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-remote</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Provides remote configuration support.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_remote.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-server</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Lets a Tamaya configuration instance provide scoped configuration as a REST service.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_server.html">Documentation</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">org.apache.tamaya.ext:tamaya-ui</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Provides a web UI for a VM running Tamaya.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_ui.html">Documentation</a></p></td> +</tr> +</tbody> +</table> +</div> +</div> +</div></p> + + <hr /> + </div> + </div> + <div> + <div id="push"></div> + + <div id="footer"> + <div class="container"> + <p class="muted credit">© 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-12</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/40dff215/extensions/mod_builder.html ---------------------------------------------------------------------- diff --git a/extensions/mod_builder.html b/extensions/mod_builder.html new file mode 100644 index 0000000..577da75 --- /dev/null +++ b/extensions/mod_builder.html @@ -0,0 +1,235 @@ +<!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&#8201;&#8212;&#8201;Extension: Builder</title> + <meta name="viewport" content="width=device-width, initial-scale=1.0"/> + <meta name="description" content=""/> + <meta name="author" content=""/> + <meta name="keywords" content=""/> + <meta name="generator" content="'JBake '+'${version}"/> + + <!-- Le styles --> + <link href="../css/bootstrap.min.css" rel="stylesheet"/> + <link href="../css/asciidoctor.css" rel="stylesheet"/> + <link href="../css/base.css" rel="stylesheet"/> + <link href="../css/prettify.css" rel="stylesheet"/> + + <!-- HTML5 shim, for IE6-8 support of HTML5 elements --> + <!--[if lt IE 9]> + <script src="../js/html5shiv.min.js"></script> + <![endif]--> + + <!-- Fav and touch icons from ASF --> + <link rel="shortcut icon" href="../favicon.ico"/> + <link rel="apple-touch-icon" sizes="57x57" href="../favicons/apple-touch-icon-57x57.png"/> + <link rel="apple-touch-icon" sizes="60x60" href="../favicons/apple-touch-icon-60x60.png"/> + <link rel="apple-touch-icon" sizes="72x72" href="../favicons/apple-touch-icon-72x72.png"/> + <link rel="apple-touch-icon" sizes="76x76" href="../favicons/apple-touch-icon-76x76.png"/> + <link rel="apple-touch-icon" sizes="114x114" href="../favicons/apple-touch-icon-114x114.png"/> + <link rel="apple-touch-icon" sizes="120x120" href="../favicons/apple-touch-icon-120x120.png"/> + <link rel="apple-touch-icon" sizes="144x144" href="../favicons/apple-touch-icon-144x144.png"/> + <link rel="apple-touch-icon" sizes="152x152" href="../favicons/apple-touch-icon-152x152.png"/> + <link rel="apple-touch-icon" sizes="180x180" href="../favicons/apple-touch-icon-180x180.png"/> + <link rel="icon" type="image/png" href="../favicons/favicon-32x32.png" sizes="32x32"/> + <link rel="icon" type="image/png" href="../favicons/favicon-194x194.png" sizes="194x194"/> + <link rel="icon" type="image/png" href="../favicons/favicon-96x96.png" sizes="96x96"/> + <link rel="icon" type="image/png" href="../favicons/android-chrome-192x192.png" sizes="192x192"/> + <link rel="icon" type="image/png" href="../favicons/favicon-16x16.png" sizes="16x16"/> + <link rel="manifest" href="../favicons/manifest.json"/> + <link rel="shortcut icon" href="../favicons/favicon.ico"/> + <meta name="msapplication-TileColor" content="#603cba"/> + <meta name="msapplication-TileImage" content="../favicons/mstile-144x144.png"/> + <meta name="msapplication-config" content="../favicons/browserconfig.xml"/> + <meta name="theme-color" content="#303284"/> + </head> + <body onload="prettyPrint()"> + <div id="wrap"> + <div> + + <!-- Fixed navbar --> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="navbar-brand" href="../">Apache Tamaya (incubating)</a> + </div> + <div class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li><a href="../index.html">Home</a></li> + <li><a href="../quickstart.html">Quickstart</a></li> + <li><a href="../index.html">Documentation</a></li> + <li><a href="..//apidocs/index.html">API</a></li> + <li><a href="../index.html">Development</a></li> + <li><a href="../index.html">Releases</a></li> + <li><a href="../about.html">About</a></li> + <li><a href="../sitemap.xml">Sitemap</a></li> + <li><a href="../feed.xml">Subscribe</a></li> +<!-- + <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> +--> + </ul> + </div><!--/.nav-collapse --> + </div> + </div> + + </div> + <div class="container"> + + <div class="page-header"> + <h1>Apache Tamaya&#8201;&#8212;&#8201;Extension: Builder</h1> + </div> + + <p><em>2016-11-28</em></p> + + <p><div class="sect1"> +<h2 id="BuilderCore">Tamaya Builder (Extension Module)</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_overview">Overview</h3> +<div class="paragraph"> +<p>The Tamaya builder module provides a generic (one time) builder for creating Configuration instances, +e.g. as follows:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-java" data-lang="java">ConfigurationBuilder builder = new ConfigurationBuilder(); +// do something +Configuration config = builder.build();</code></pre> +</div> +</div> +<div class="paragraph"> +<p>Basically the builder allows to create configuration instances completely independent of the current configuration +setup. This gives you full control on the Configuration setup.</p> +</div> +</div> +<div class="sect2"> +<h3 id="_compatibility">Compatibility</h3> +<div class="paragraph"> +<p>The module is based on Java 7, so it will run on Java 7 and does +not require Java 8. The ConfigurationProvider +as defined by the API, provides a builder instance for ConfigurationContext +in a similar way. A Configuration can also be created by passing an instance of a ConfigurationContext:</p> +</div> +</div> +<div class="sect2"> +<h3 id="_installation">Installation</h3> +<div class="paragraph"> +<p>To benefit from configuration builder support you only must add the corresponding +dependency to your module:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml"><dependency> + <groupId>org.apache.tamaya.ext</groupId> + <artifactId>tamaya-builder</artifactId> + <version>0.3-SNAPSHOT</version> +</dependency></code></pre> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_supported_functionality">Supported Functionality</h3> +<div class="paragraph"> +<p>The builder allows you to add PropertySource instances:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-java" data-lang="java">ConfigurationBuilder builder = new ConfigurationBuilder(); +builder.addPropertySources(sourceOne).addPropertySources(sourceTwo); +Configuration config = builder.build();</code></pre> +</div> +</div> +<div class="paragraph"> +<p>Similarly you can add filters:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-java" data-lang="java">builder.addPropertyFilters(new MyConfigFilter());</code></pre> +</div> +</div> +<div class="paragraph"> +<p>…​or PropertySourceProvider instances:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-java" data-lang="java">builder.addPropertySourceProvider(new MyPropertySourceProvider());</code></pre> +</div> +</div> +<div class="paragraph"> +<p>Also the builder module allows to include/exclude any filters and property source already known to the current +ConfigurationContext:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-java" data-lang="java">builder.disableProvidedPropertyConverters(); +builder.enableProvidedPropertyConverters(); + +builder.disableProvidedPropertyFilters(); +builder.enableProvidedPropertyFilters(); + +builder.disableProvidedPropertySources(); +builder.enableProvidedPropertySources();</code></pre> +</div> +</div> +</div> +</div> +</div></p> + + <hr /> + </div> + </div> + <div> + <div id="push"></div> + + <div id="footer"> + <div class="container"> + <p class="muted credit">© 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-12</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/40dff215/extensions/mod_camel.html ---------------------------------------------------------------------- diff --git a/extensions/mod_camel.html b/extensions/mod_camel.html new file mode 100644 index 0000000..fe51806 --- /dev/null +++ b/extensions/mod_camel.html @@ -0,0 +1,287 @@ +<!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&#8201;&#8212;&#8201;Extension: Integration with Apache Camel</title> + <meta name="viewport" content="width=device-width, initial-scale=1.0"/> + <meta name="description" content=""/> + <meta name="author" content=""/> + <meta name="keywords" content=""/> + <meta name="generator" content="'JBake '+'${version}"/> + + <!-- Le styles --> + <link href="../css/bootstrap.min.css" rel="stylesheet"/> + <link href="../css/asciidoctor.css" rel="stylesheet"/> + <link href="../css/base.css" rel="stylesheet"/> + <link href="../css/prettify.css" rel="stylesheet"/> + + <!-- HTML5 shim, for IE6-8 support of HTML5 elements --> + <!--[if lt IE 9]> + <script src="../js/html5shiv.min.js"></script> + <![endif]--> + + <!-- Fav and touch icons from ASF --> + <link rel="shortcut icon" href="../favicon.ico"/> + <link rel="apple-touch-icon" sizes="57x57" href="../favicons/apple-touch-icon-57x57.png"/> + <link rel="apple-touch-icon" sizes="60x60" href="../favicons/apple-touch-icon-60x60.png"/> + <link rel="apple-touch-icon" sizes="72x72" href="../favicons/apple-touch-icon-72x72.png"/> + <link rel="apple-touch-icon" sizes="76x76" href="../favicons/apple-touch-icon-76x76.png"/> + <link rel="apple-touch-icon" sizes="114x114" href="../favicons/apple-touch-icon-114x114.png"/> + <link rel="apple-touch-icon" sizes="120x120" href="../favicons/apple-touch-icon-120x120.png"/> + <link rel="apple-touch-icon" sizes="144x144" href="../favicons/apple-touch-icon-144x144.png"/> + <link rel="apple-touch-icon" sizes="152x152" href="../favicons/apple-touch-icon-152x152.png"/> + <link rel="apple-touch-icon" sizes="180x180" href="../favicons/apple-touch-icon-180x180.png"/> + <link rel="icon" type="image/png" href="../favicons/favicon-32x32.png" sizes="32x32"/> + <link rel="icon" type="image/png" href="../favicons/favicon-194x194.png" sizes="194x194"/> + <link rel="icon" type="image/png" href="../favicons/favicon-96x96.png" sizes="96x96"/> + <link rel="icon" type="image/png" href="../favicons/android-chrome-192x192.png" sizes="192x192"/> + <link rel="icon" type="image/png" href="../favicons/favicon-16x16.png" sizes="16x16"/> + <link rel="manifest" href="../favicons/manifest.json"/> + <link rel="shortcut icon" href="../favicons/favicon.ico"/> + <meta name="msapplication-TileColor" content="#603cba"/> + <meta name="msapplication-TileImage" content="../favicons/mstile-144x144.png"/> + <meta name="msapplication-config" content="../favicons/browserconfig.xml"/> + <meta name="theme-color" content="#303284"/> + </head> + <body onload="prettyPrint()"> + <div id="wrap"> + <div> + + <!-- Fixed navbar --> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="navbar-brand" href="../">Apache Tamaya (incubating)</a> + </div> + <div class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li><a href="../index.html">Home</a></li> + <li><a href="../quickstart.html">Quickstart</a></li> + <li><a href="../index.html">Documentation</a></li> + <li><a href="..//apidocs/index.html">API</a></li> + <li><a href="../index.html">Development</a></li> + <li><a href="../index.html">Releases</a></li> + <li><a href="../about.html">About</a></li> + <li><a href="../sitemap.xml">Sitemap</a></li> + <li><a href="../feed.xml">Subscribe</a></li> +<!-- + <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> +--> + </ul> + </div><!--/.nav-collapse --> + </div> + </div> + + </div> + <div class="container"> + + <div class="page-header"> + <h1>Apache Tamaya&#8201;&#8212;&#8201;Extension: Integration with Apache Camel</h1> + </div> + + <p><em>2016-11-28</em></p> + + <p><div id="preamble"> +<div class="sectionbody"> +<!-- toc disabled --> +</div> +</div> +<div class="sect1"> +<h2 id="Optional">Integration with Apache Camel (Extension Module)</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_overview">Overview</h3> +<div class="paragraph"> +<p>The Tamaya Camel integration module provides different artifacts which allows integration of Apachae Tamaya +configuration with Apache Camel.</p> +</div> +</div> +<div class="sect2"> +<h3 id="_compatibility">Compatibility</h3> +<div class="paragraph"> +<p>The module is based on Java 7, so it will not run on Java 7 and beyond.</p> +</div> +</div> +<div class="sect2"> +<h3 id="_installation">Installation</h3> +<div class="paragraph"> +<p>To benefit from configuration builder support you only must add the corresponding dependency to your module:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml"><dependency> + <groupId>org.apache.tamaya.ext</groupId> + <artifactId>tamaya-camel</artifactId> + <version>{tamaya_version}</version> +</dependency></code></pre> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_the_extensions_provided">The Extensions Provided</h3> +<div class="paragraph"> +<p>Camel integration comes basically with three artifacts:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p>A Camel ResolverFunction implementation adding explicit property resolution +(org.apache.tamaya.integration.camel.TamayaPropertyResolver).</p> +</li> +<li> +<p>A Camel PropertiesComponent implementation, which allows implicitly preconfigures the resolvers from above and +additionally allows using Tamaya configuration as Camel <em>overrides</em> +(org.apache.tamaya.integration.camel.TamayaPropertiesComponent).</p> +</li> +</ul> +</div> +</div> +<div class="sect2"> +<h3 id="_configuring_using_camel_java_dsl">Configuring using Camel Java DSL</h3> +<div class="paragraph"> +<p>Camel integration using Java DSL is basically simple:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-java" data-lang="java">import org.apache.tamaya.integration.camel.TamayaPropertiesComponent; + +camelContext.addComponent("properties", new TamayaPropertiesComponent());</code></pre> +</div> +</div> +<div class="paragraph"> +<p>Given so you can then use cfg or tamaya as prefix for resolving entries with Tamaya as follows:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-java" data-lang="java">RouteBuilder builder = new RouteBuilder() { + public void configure() { + from("direct:hello1").transform().simple("{{cfg:message}}"); + } +}; +camelContext.addRoutes(builder); +builder = new RouteBuilder() { + public void configure() { + from("direct:hello2").transform().simple("{{tamaya:message}}"); + } +}; +camelContext.addRoutes(builder);</code></pre> +</div> +</div> +<div class="paragraph"> +<p>Optionally you can also configure TamayaPropertiesComponent that all currently known Tamaya properties are used +as Camel overrides, meaning they are evaluated prior to all other available resolver functions in the Camel +PropertiesComponent:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-java" data-lang="java">TamayaPropertiesComponent props = new TamayaPropertiesComponent(); +props.setTamayaOverrides(true);</code></pre> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_configuring_using_camel_xml_dsl">Configuring using Camel XML DSL</h3> +<div class="paragraph"> +<p>Camel integration using XML DSL is basically very similar. You just have to add the properties component as bean +as well. All other configuration parameters (e.g. file URIs are similar supported). In the example code below we +again use Tamaya as the main configuration solutions only using Camel’s default behaviour as a fallback:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml"><beans xmlns="http://www.springframework.org/schema/beans" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation=" + http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd + http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd + "> + + <routeContext id="myCoolRoutes" xmlns="http://camel.apache.org/schema/spring"> + <route id="r1"> + <from uri="direct:hello1"/> + <transform> + <simple>{{message}}</simple> + </transform> + </route> + <route id="r2"> + <from uri="direct:hello2"/> + <transform> + <simple>{{cfg:message}}</simple> + </transform> + </route> + <route id="r3"> + <from uri="direct:hello3"/> + <transform> + <simple>{{tamaya:message}}</simple> + </transform> + </route> + </routeContext> + + <bean id="properties" class="org.apache.tamaya.integration.camel.TamayaPropertiesComponent"> + <property name="tamayaOverrides" value="true"/> + </bean> + +</beans></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">© 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-12</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/40dff215/extensions/mod_cdi.html ---------------------------------------------------------------------- diff --git a/extensions/mod_cdi.html b/extensions/mod_cdi.html new file mode 100644 index 0000000..4835d11 --- /dev/null +++ b/extensions/mod_cdi.html @@ -0,0 +1,420 @@ +<!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&#8201;&#8212;&#8201;Extension: Classloader Isolation Support</title> + <meta name="viewport" content="width=device-width, initial-scale=1.0"/> + <meta name="description" content=""/> + <meta name="author" content=""/> + <meta name="keywords" content=""/> + <meta name="generator" content="'JBake '+'${version}"/> + + <!-- Le styles --> + <link href="../css/bootstrap.min.css" rel="stylesheet"/> + <link href="../css/asciidoctor.css" rel="stylesheet"/> + <link href="../css/base.css" rel="stylesheet"/> + <link href="../css/prettify.css" rel="stylesheet"/> + + <!-- HTML5 shim, for IE6-8 support of HTML5 elements --> + <!--[if lt IE 9]> + <script src="../js/html5shiv.min.js"></script> + <![endif]--> + + <!-- Fav and touch icons from ASF --> + <link rel="shortcut icon" href="../favicon.ico"/> + <link rel="apple-touch-icon" sizes="57x57" href="../favicons/apple-touch-icon-57x57.png"/> + <link rel="apple-touch-icon" sizes="60x60" href="../favicons/apple-touch-icon-60x60.png"/> + <link rel="apple-touch-icon" sizes="72x72" href="../favicons/apple-touch-icon-72x72.png"/> + <link rel="apple-touch-icon" sizes="76x76" href="../favicons/apple-touch-icon-76x76.png"/> + <link rel="apple-touch-icon" sizes="114x114" href="../favicons/apple-touch-icon-114x114.png"/> + <link rel="apple-touch-icon" sizes="120x120" href="../favicons/apple-touch-icon-120x120.png"/> + <link rel="apple-touch-icon" sizes="144x144" href="../favicons/apple-touch-icon-144x144.png"/> + <link rel="apple-touch-icon" sizes="152x152" href="../favicons/apple-touch-icon-152x152.png"/> + <link rel="apple-touch-icon" sizes="180x180" href="../favicons/apple-touch-icon-180x180.png"/> + <link rel="icon" type="image/png" href="../favicons/favicon-32x32.png" sizes="32x32"/> + <link rel="icon" type="image/png" href="../favicons/favicon-194x194.png" sizes="194x194"/> + <link rel="icon" type="image/png" href="../favicons/favicon-96x96.png" sizes="96x96"/> + <link rel="icon" type="image/png" href="../favicons/android-chrome-192x192.png" sizes="192x192"/> + <link rel="icon" type="image/png" href="../favicons/favicon-16x16.png" sizes="16x16"/> + <link rel="manifest" href="../favicons/manifest.json"/> + <link rel="shortcut icon" href="../favicons/favicon.ico"/> + <meta name="msapplication-TileColor" content="#603cba"/> + <meta name="msapplication-TileImage" content="../favicons/mstile-144x144.png"/> + <meta name="msapplication-config" content="../favicons/browserconfig.xml"/> + <meta name="theme-color" content="#303284"/> + </head> + <body onload="prettyPrint()"> + <div id="wrap"> + <div> + + <!-- Fixed navbar --> + <div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="navbar-brand" href="../">Apache Tamaya (incubating)</a> + </div> + <div class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li><a href="../index.html">Home</a></li> + <li><a href="../quickstart.html">Quickstart</a></li> + <li><a href="../index.html">Documentation</a></li> + <li><a href="..//apidocs/index.html">API</a></li> + <li><a href="../index.html">Development</a></li> + <li><a href="../index.html">Releases</a></li> + <li><a href="../about.html">About</a></li> + <li><a href="../sitemap.xml">Sitemap</a></li> + <li><a href="../feed.xml">Subscribe</a></li> +<!-- + <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> +--> + </ul> + </div><!--/.nav-collapse --> + </div> + </div> + + </div> + <div class="container"> + + <div class="page-header"> + <h1>Apache Tamaya&#8201;&#8212;&#8201;Extension: Classloader Isolation Support</h1> + </div> + + <p><em>2016-11-28</em></p> + + <p><div id="preamble"> +<div class="sectionbody"> +<!-- toc disabled --> +</div> +</div> +<div class="sect1"> +<h2 id="Remote">Tamaya CDI Integration (Extension Modules)</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_overview">Overview</h3> +<div class="paragraph"> +<p>Apache Tamaya currently provides two implementations for integration with CDI extensions implementing similar +functionality as described in this document:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p>Loading of CDI managed SPI components as configuration extensions such as PropertySources, PropertySourceProviders, +PropertyFilters, etc. This also includes SPI defined by any Tamaya submodules.</p> +</li> +<li> +<p>Implement and enable Tamaya’s configuration injection services with CDI.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>Hereby there are two implementations provided:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p>tamaya-cdi-ee implements injection by using CDI’s injection mechanism to inject configuration values into the +beans managed by the CDI systems.</p> +</li> +<li> +<p>tamaya-cdi-se implements injection by integrating the tamaya-injection SE based injection module (also used +for Spring and OSGI injection) with CDI. Injection hereby is performed by the Tamaya SE module, whereas +beans and injection control overall are still managed by CDI.</p> +</li> +<li> +<p>One difference, of course, is that tamaya-se also provides an SE compatible API (ConfigurationInjection, +ConfigurationInjector), which is not available, when using the purely Java EE based variant.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>The annotations used for all injection functionality in Tamaya is defined as a separate module. This allows you to +code against the injection API without dependency on the concrete injection implementation. As a consequence your +components will be compatible regardless if deployed in a pure SE, a Java EE (CDI) or OSGI or Spring environment:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre><dependency> + <groupId>org.apache.tamaya.ext</groupId> + <artifactId>tamaya-injection-api</artifactId> + <version>{tamaya_version}</version> +</dependency></pre> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_compatibility">Compatibility</h3> +<div class="paragraph"> +<p>Both modules are based on Java 7, so they will not run on Java 7 and beyond.</p> +</div> +</div> +<div class="sect2"> +<h3 id="_installation">Installation</h3> +<div class="paragraph"> +<p>To benefit from Tamaya CDI integration you only must one of the following dependencies to your module. Ensure that +you never have installed both CDI extensions at the same time because this may be lead to unforseen side-effects.</p> +</div> +<div class="listingblock"> +<div class="title">CDI Pure Application Configuration</div> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml"><dependency> + <groupId>org.apache.tamaya.ext</groupId> + <artifactId>tamaya-cdi-ee</artifactId> + <version>{tamaya_version}</version> +</dependency></code></pre> +</div> +</div> +<div class="listingblock"> +<div class="title">CDI enhanced with Tamaya SE Application Configuration</div> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml"><dependency> + <groupId>org.apache.tamaya.ext</groupId> + <artifactId>tamaya-cdi-se</artifactId> + <version>{tamaya_version}</version> +</dependency></code></pre> +</div> +</div> +<div class="paragraph"> +<p>Both components will auto-register its components and override the default ServicceContext in use. Additionally they +register CDI extensions that implement Configuration injection as described before.</p> +</div> +<div class="admonitionblock important"> +<table> +<tr> +<td class="icon"> +<div class="title">Important</div> +</td> +<td class="content"> +Never install Tamaya’s tamaya-cdi-se and tamaya-cdi-ee on the same system, since unpredictable side + effects could occur. +</td> +</tr> +</table> +</div> +</div> +<div class="sect2"> +<h3 id="_registering_cdi_managed_components_into_the_application_s_configurationcontext">Registering CDI managed components into the Application’s ConfigurationContext</h3> +<div class="paragraph"> +<p>As mentioned both modules allow to provide Tamaya SPI extensions modules as ordinary CDI managed beans. By default +extensions should be registered using @Singleton or @ApplicationScoped scope annotations. So you can define/deploy +additional application specific PropertySources and other artifacts simply by defining a CDI managed bean implementing +the required SPI interface:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-java" data-lang="java">@Singleton +public class TestPropertySource implements PropertySource{ + + final Map<String,String> config = new HashMap<>(); + + public TestPropertySource(){ + config.put("a.b.c.key1", "keys current a.b.c.key1"); + config.put("a.b.c.key2", "keys current a.b.c.key2"); + config.put("{"+getName()+"}source", getClass().getName()); + } + + @Override + public int getOrdinal() { + return 10; + } + + @Override + public String getName() { + return getClass().getName(); + } + + @Override + public String get(String key) { + return config.get(key); + } + + @Override + public Map<String, String> getProperties() { + return config; + } + + @Override + public boolean isScannable() { + return true; + } +}</code></pre> +</div> +</div> +<div class="paragraph"> +<p>Note that for many SPI’s there is a priority mechanism using @Priority annotations in place. +The ServiceContext implementation combines the components registered with the ones loaded from the ServiceLoader +mechanism hereby considering classloaser hierarchies.</p> +</div> +</div> +<div class="sect2"> +<h3 id="_annotating_your_classes">Annotating your Classes</h3> +<div class="paragraph"> +<p>Basically annotating your classes is stright forward. @Config defines an additional CDI qualifier that is, depending +on the module deployed, handled by a CDI producer (tamaya-cdi-ee) or the Tamaya SE injection mechanism $ +(tamaya-cdi-se). All types injected by this module are injected using <em>dependent scope</em>.</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-java" data-lang="java">@RequestScoped +public class ConfiguredClass{ + + @Config + private String testProperty; + + @Config({"a.b.c.key1","a.b.c.key2","a.b.c.key3"}) + @ConfigDefault("The current \\${JAVA_HOME} env property is ${env:JAVA_HOME}.") + String value1; + + @Config({"foo","a.b.c.key2"}) + private String value2; + + @Config + @ConfigDefault("N/A") + private String runtimeVersion; + + @Config + @ConfigDefault("${sys:java.version}") + private String javaVersion2; + + @Config + @ConfigDefault("5") + private Integer int1; + + ... + +}</code></pre> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_advanced_use_cases">Advanced Use Cases</h3> +<div class="paragraph"> +<p>Beside basic configuration Tamaya also covers additional requirements:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p>_Reading multiple keys, where the first successful one is determining the value of the configuration, is +simply possible, by adding multiple keys to the @Configy annotation. +E.g. for trying first a.b and then new.b you would configure it as follows:</p> +</li> +</ul> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-java" data-lang="java">@Config({"a.b", "new.b"} +private String value;</code></pre> +</div> +</div> +<div class="ulist"> +<ul> +<li> +<p>When you must apply a ConfigOperator to your config, before reading the configuration, you can +configure one as follows:</p> +</li> +</ul> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-java" data-lang="java">@Config({"a.b", "new.b"} +@WithConfigOperator(MyOperator.class) +private String value;</code></pre> +</div> +</div> +<div class="ulist"> +<ul> +<li> +<p>When you must apply a some special conversion, or you use a type that is not registered +for conversion, you can configure a custom converter to be applied as follows:</p> +</li> +</ul> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-java" data-lang="java">@Config({"a.b", "new.b"} +@WithPropertyConverter(MyConverter.class) +private MySpecialFooType value;</code></pre> +</div> +</div> +<div class="ulist"> +<ul> +<li> +<p>Often multiple keys in a class belong to the same root section. So instead of copying this to +every entry you can define the most common root sections in the type’s header:</p> +</li> +</ul> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-java" data-lang="java">@ConfigDefaultSections({"aaaa", "new"}); +public class MyType{ + +@Config({"b", "[legacy.bKey]"} // lookups: "aaaa.b", "new.b", legacy.bKey +private String value;</code></pre> +</div> +</div> +<div class="paragraph"> +<p>In the example above legacy.bKey defines an absolute key, which is not combined with any defined +default section parts.</p> +</div> +</div> +</div> +</div></p> + + <hr /> + </div> + </div> + <div> + <div id="push"></div> + + <div id="footer"> + <div class="container"> + <p class="muted credit">© 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-12</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>
