http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/97bc8884/extensions/mod_resolver.html ---------------------------------------------------------------------- diff --git a/extensions/mod_resolver.html b/extensions/mod_resolver.html deleted file mode 100644 index 26ed44a..0000000 --- a/extensions/mod_resolver.html +++ /dev/null @@ -1,290 +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>Apache Tamaya&#8201;&#8212;&#8201;Extension: Resolver</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0"/> - <meta name="description" content=""/> - <meta name="author" content=""/> - <meta name="keywords" content=""/> - <meta name="generator" content="'JBake '+'${version}"/> - - <!-- Le styles --> - <link href="../css/bootstrap.min.css" rel="stylesheet"/> - <link href="../css/asciidoctor.css" rel="stylesheet"/> - <link href="../css/base.css" rel="stylesheet"/> - <link href="../css/prettify.css" rel="stylesheet"/> - - <!-- HTML5 shim, for IE6-8 support of HTML5 elements --> - <!--[if lt IE 9]> - <script src="../js/html5shiv.min.js"></script> - <![endif]--> - - <!-- Fav and touch icons from ASF --> - <link rel="shortcut icon" href="../favicon.ico"/> - <link rel="apple-touch-icon" sizes="57x57" href="../favicons/apple-touch-icon-57x57.png"/> - <link rel="apple-touch-icon" sizes="60x60" href="../favicons/apple-touch-icon-60x60.png"/> - <link rel="apple-touch-icon" sizes="72x72" href="../favicons/apple-touch-icon-72x72.png"/> - <link rel="apple-touch-icon" sizes="76x76" href="../favicons/apple-touch-icon-76x76.png"/> - <link rel="apple-touch-icon" sizes="114x114" href="../favicons/apple-touch-icon-114x114.png"/> - <link rel="apple-touch-icon" sizes="120x120" href="../favicons/apple-touch-icon-120x120.png"/> - <link rel="apple-touch-icon" sizes="144x144" href="../favicons/apple-touch-icon-144x144.png"/> - <link rel="apple-touch-icon" sizes="152x152" href="../favicons/apple-touch-icon-152x152.png"/> - <link rel="apple-touch-icon" sizes="180x180" href="../favicons/apple-touch-icon-180x180.png"/> - <link rel="icon" type="image/png" href="../favicons/favicon-32x32.png" sizes="32x32"/> - <link rel="icon" type="image/png" href="../favicons/favicon-194x194.png" sizes="194x194"/> - <link rel="icon" type="image/png" href="../favicons/favicon-96x96.png" sizes="96x96"/> - <link rel="icon" type="image/png" href="../favicons/android-chrome-192x192.png" sizes="192x192"/> - <link rel="icon" type="image/png" href="../favicons/favicon-16x16.png" sizes="16x16"/> - <link rel="manifest" href="../favicons/manifest.json"/> - <link rel="shortcut icon" href="../favicons/favicon.ico"/> - <meta name="msapplication-TileColor" content="#603cba"/> - <meta name="msapplication-TileImage" content="../favicons/mstile-144x144.png"/> - <meta name="msapplication-config" content="../favicons/browserconfig.xml"/> - <meta name="theme-color" content="#303284"/> - </head> - <body onload="prettyPrint()"> - <div id="wrap"> - <div> - - <!-- Fixed navbar --> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <a class="navbar-brand" href="../">Apache Tamaya (incubating)</a> - </div> - <div class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li><a href="../index.html">Home</a></li> - <li><a href="../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: Resolver</h1> - </div> - - <p><em>2016-11-02</em></p> - - <p><div class="sect1"> -<h2 id="Core">Tamaya Resolver (Extension Module)</h2> -<div class="sectionbody"> -<div class="sect2"> -<h3 id="_overview">Overview</h3> -<div class="paragraph"> -<p>Tamaya Resolver is an extension module. Refer to the -<a href="modules.html">extensions documentation</a> -for further details about modules.</p> -</div> -<div class="paragraph"> -<p>Tamaya Resolver provides a dynamic resolution mechanism, which allows to use UNIX-styled (${...} placeholder -expressions in your configuration values. The resolver hereby supports transitive resolution and also prevents -cycles to loop endlessly.</p> -</div> -</div> -<div class="sect2"> -<h3 id="_compatibility">Compatibility</h3> -<div class="paragraph"> -<p>The module is based on Java 7, so it can be used with Java 7 and beyond.</p> -</div> -</div> -<div class="sect2"> -<h3 id="_installation">Installation</h3> -<div class="paragraph"> -<p>To benefit from dynamic value resolution you only must add the corresponding dependency to your module:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml"><dependency> - <groupId>org.apache.tamaya.ext</groupId> - <artifactId>tamaya-resolver</artifactId> - <version>0.3-SNAPSHOT</version> -</dependency></code></pre> -</div> -</div> -<div class="paragraph"> -<p>The module automatically registers an according PropertyFilter that is automatically called, whenever a value -is accessed.</p> -</div> -</div> -<div class="sect2"> -<h3 id="_available_resolvers">Available Resolvers</h3> -<div class="paragraph"> -<p>Currently the module defined the following resolvers:</p> -</div> -<table class="tableblock frame-all grid-all spread"> -<caption class="title">Table 1. Available Resolvers</caption> -<colgroup> -<col style="width: 25%;"> -<col style="width: 50%;"> -<col style="width: 25%;"> -</colgroup> -<tbody> -<tr> -<td class="tableblock halign-left valign-top"><p class="tableblock"><em>Expression</em></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><em>Description</em></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock"><em>Example</em></p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">conf:<configKey></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">Reads another configKey and replaces the expression with the value found.</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">conf-ref=${conf:anotherConf.entryKey}</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">resource:<resourceRef></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">Reads a resource from the current classpath and replaces the expression with the given text content.</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">cp-ref=${resource:Testresource.txt}</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">file:<fileRef></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">Reads a resource from the current classpath and replaces the expression with the given text content.</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">file-ref=${file:c:\myFile.txt}</p></td> -</tr> -<tr> -<td class="tableblock halign-left valign-top"><p class="tableblock">url:<url></p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">Reads an URL and replaces the expression with the given text content.</p></td> -<td class="tableblock halign-left valign-top"><p class="tableblock">url-ref=${url:http://www.google.com}</p></td> -</tr> -</tbody> -</table> -</div> -<div class="sect2"> -<h3 id="_spi_implementing_your_own_resolvers">SPI: Implementing your own Resolvers</h3> -<div class="paragraph"> -<p>The module also provides an easy but powerful SPI for adding your own resolver implementations. Basically the -first and most important thing to do is implementing the ExpressionResolver interface:</p> -</div> -<div class="listingblock"> -<div class="title">Implementing a Custom Resolver</div> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public class PwdDecrypter implements ExpressionResolver { - - @Override - public String getResolverPrefix() { - return "decrypt:"; - } - - @Override - public String evaluate(String expression) { - return decrypt(expression); - } - - private String decrypt(String s) { - ... - } -}</code></pre> -</div> -</div> -<div class="paragraph"> -<p>Basically that is all you must do, after having registered the class with the ServiceLoader it will be found -and loaded by the implementation. With that all expressions that start with the given prefix are passed to the -resolver, so all the following expressions will be sent to the implementation:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-listing" data-lang="listing">blabla ${decrypt:myname} -blabla ${decrypt:myname} foo blabla ${decrypt:myname}</code></pre> -</div> -</div> -<div class="paragraph"> -<p>Hereby evaluation is repeated until no further change of values could be detetced. In case of a endless loop -the evaluation is broken after a (configurable) number of cycles.</p> -</div> -<div class="paragraph"> -<p>Under the hood instances of ExpressionResolver are managed by an implementation of the ExpressionEvaluator -interface:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public interface ExpressionEvaluator { - /** - * Evaluates the current expression. - * @param key the key, not null. - * @param value the value to be filtered/evaluated. - * @return the filtered/evaluated value, including null. - */ - String evaluateExpression(String key, String value); -}</code></pre> -</div> -</div> -<div class="paragraph"> -<p>Implementing and registering this interface gives you full control, but in most cases yhou should be fine with -the default implementation in place.</p> -</div> -</div> -</div> -</div></p> - - <hr /> - </div> - </div> - <div> - <div id="push"></div> - - <div id="footer"> - <div class="container"> - <p class="muted credit">© 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-11-02</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/97bc8884/extensions/mod_resources.html ---------------------------------------------------------------------- diff --git a/extensions/mod_resources.html b/extensions/mod_resources.html deleted file mode 100644 index abecc38..0000000 --- a/extensions/mod_resources.html +++ /dev/null @@ -1,314 +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>Apache Tamaya&#8201;&#8212;&#8201;Extension: Resources</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0"/> - <meta name="description" content=""/> - <meta name="author" content=""/> - <meta name="keywords" content=""/> - <meta name="generator" content="'JBake '+'${version}"/> - - <!-- Le styles --> - <link href="../css/bootstrap.min.css" rel="stylesheet"/> - <link href="../css/asciidoctor.css" rel="stylesheet"/> - <link href="../css/base.css" rel="stylesheet"/> - <link href="../css/prettify.css" rel="stylesheet"/> - - <!-- HTML5 shim, for IE6-8 support of HTML5 elements --> - <!--[if lt IE 9]> - <script src="../js/html5shiv.min.js"></script> - <![endif]--> - - <!-- Fav and touch icons from ASF --> - <link rel="shortcut icon" href="../favicon.ico"/> - <link rel="apple-touch-icon" sizes="57x57" href="../favicons/apple-touch-icon-57x57.png"/> - <link rel="apple-touch-icon" sizes="60x60" href="../favicons/apple-touch-icon-60x60.png"/> - <link rel="apple-touch-icon" sizes="72x72" href="../favicons/apple-touch-icon-72x72.png"/> - <link rel="apple-touch-icon" sizes="76x76" href="../favicons/apple-touch-icon-76x76.png"/> - <link rel="apple-touch-icon" sizes="114x114" href="../favicons/apple-touch-icon-114x114.png"/> - <link rel="apple-touch-icon" sizes="120x120" href="../favicons/apple-touch-icon-120x120.png"/> - <link rel="apple-touch-icon" sizes="144x144" href="../favicons/apple-touch-icon-144x144.png"/> - <link rel="apple-touch-icon" sizes="152x152" href="../favicons/apple-touch-icon-152x152.png"/> - <link rel="apple-touch-icon" sizes="180x180" href="../favicons/apple-touch-icon-180x180.png"/> - <link rel="icon" type="image/png" href="../favicons/favicon-32x32.png" sizes="32x32"/> - <link rel="icon" type="image/png" href="../favicons/favicon-194x194.png" sizes="194x194"/> - <link rel="icon" type="image/png" href="../favicons/favicon-96x96.png" sizes="96x96"/> - <link rel="icon" type="image/png" href="../favicons/android-chrome-192x192.png" sizes="192x192"/> - <link rel="icon" type="image/png" href="../favicons/favicon-16x16.png" sizes="16x16"/> - <link rel="manifest" href="../favicons/manifest.json"/> - <link rel="shortcut icon" href="../favicons/favicon.ico"/> - <meta name="msapplication-TileColor" content="#603cba"/> - <meta name="msapplication-TileImage" content="../favicons/mstile-144x144.png"/> - <meta name="msapplication-config" content="../favicons/browserconfig.xml"/> - <meta name="theme-color" content="#303284"/> - </head> - <body onload="prettyPrint()"> - <div id="wrap"> - <div> - - <!-- Fixed navbar --> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <a class="navbar-brand" href="../">Apache Tamaya (incubating)</a> - </div> - <div class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li><a href="../index.html">Home</a></li> - <li><a href="../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: Resources</h1> - </div> - - <p><em>2016-11-02</em></p> - - <p><div class="sect1"> -<h2 id="Core">Tamaya Resources (Extension Module)</h2> -<div class="sectionbody"> -<div class="sect2"> -<h3 id="_overview">Overview</h3> -<div class="paragraph"> -<p>Tamaya Resources is an extension module. Refer to the -<a href="modules.html">extensions documentation</a> for further details -about modules.</p> -</div> -<div class="paragraph"> -<p>Tamaya Resources defines some additional tools to locate resources in your classpath or file system based on descriptive -ant-styled resource patterns. To use this module add the following dependency:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-listing" data-lang="listing"><dependency> - <grooupId>org.apache.tamaya.ext</groupId> - <artifactId>tamaya-resources</artifactId> - <version>0.3-SNAPSHOT</version> -</dependency></code></pre> -</div> -</div> -<div class="paragraph"> -<p>The module’s main entry point is the singleton class org.apache.tamaya.resource.ConfigResources. This class -provides access to a ResourceResolver instance:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-java" data-lang="java">ResourceResolver resolver = ConfigResources.getResourceResolver();</code></pre> -</div> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public interface ResourceResolver { - Collection<URL> getResources(Collection<String> expressions) {...} - Collection<URL> getResources(String... expressions) {...} - Collection<URL> getResources(ClassLoader classLoader, String... expressions){...} - Collection<URL> getResources(ClassLoader classLoader, Collection<String> expressions); -}</code></pre> -</div> -</div> -<div class="paragraph"> -<p>Hereby the methods allow to resolve expressions to a collection of URLs. In case the expression is also targeting the -current classpath the target ClassLoader to be used can be passed additionally.</p> -</div> -<div class="paragraph"> -<p>The default implementation provides resource resolution mechanism similar to the functionality offered by Spring. -So by default resources can be looked up</p> -</div> -<div class="ulist"> -<ul> -<li> -<p>from files</p> -</li> -<li> -<p>from the classpath</p> -</li> -<li> -<p>optionally ant-styled expressions can be used.</p> -</li> -</ul> -</div> -</div> -<div class="sect2"> -<h3 id="_valid_expression_examples">Valid Expression Examples</h3> -<div class="paragraph"> -<p>There are numerous ways how a resource pattern can be defined. Following the most important variants -are listed:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-listing" data-lang="listing">// explicitly searching the file system -file:myroot/aa?a/*.file -file:myroot/b*/b?/*.file -file:myroot/**/*.file - -// explicitly searching the classpath -classpath:myroot/**/*.file -classpath:javax/annotation/*.class -classpath:javax/**/sql/*.class -classpath:javax/annotation/**/R*.class -classpath:javax/annotation/R?so*.class -classpath:META-INF/maven/org.apache.geronimo.specs/**/* - -// search both classpath and files -javax/annotation/*.class -javax/**/sql/*.class -javax/annotation/**/R*.class -javax/annotation/R?so*.class -META-INF/maven/org.apache.geronimo.specs/**/* -myroot/**/*.file -myroot/aa?a/*.file -myroot/b*/b?/*.file</code></pre> -</div> -</div> -<div class="paragraph"> -<p>Summarizing the resources module provides useful functionality that helps to locate resources on the file system and -in the classpath. This can be used to implement PropertySourceProvider implementations that are based on -corresponding resource path patterns instead of concrete files.</p> -</div> -</div> -<div class="sect2"> -<h3 id="_overall_usage_example">Overall Usage Example</h3> -<div class="paragraph"> -<p>Given the functionality we can easily implement a PropertySourceProvider that reads all files from a classpath -location, hereby traversing down all folders:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public class PathBasedPropertySourceProvider implements PropertySourceProvider { - - @Override - public Collection<PropertySource> getPropertySources() { - List<PropertySource> propertySources = new ArrayList<>(); - Collection<URL> resources = Resources.getResourceResolver().getResources("META-INF/cfg/**/*.properties"); - for(URL url:resources){ - Properties props = new Properties(); - try(InputStream is = url.openStream()){ - props.load(is); - propertySources.add(new PropertiesBasedPropertySource(url.toString(), props)); - } - catch(Exception e){ - e.printStackTrace(); - } - } - - return propertySources; - } - - private final static class PropertiesBasedPropertySource implements PropertySource { - private String name; - private Map<String,String> properties = new HashMap<>(); - - public PropertiesBasedPropertySource(String name, Properties props) { - this.name = name; - props.forEach((k,v) -> this.properties.put(k.toString(), v.toString())); - } - - @Override - public String getName() { - return name; - } - - @Override - public String get(String key) { - return properties.get(key); - } - - @Override - public Map<String, String> getProperties() { - return properties; - } - } -}</code></pre> -</div> -</div> -</div> -<div class="sect2"> -<h3 id="_spi">SPI</h3> -<div class="paragraph"> -<p>The ResourceResolver that is returned by the ConfigResources singleton is determined by the -current ServiceContext, by default you can replace the default implementation by registering an -alternate implementation with an overriding @Priority annotation added using the ServiceLoader.</p> -</div> -<div class="paragraph"> -<p>Additionally a BaseResourceResolver class can be used to reduce the amount of code to be written -on your own.</p> -</div> -</div> -</div> -</div></p> - - <hr /> - </div> - </div> - <div> - <div id="push"></div> - - <div id="footer"> - <div class="container"> - <p class="muted credit">© 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-11-02</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/97bc8884/extensions/mod_server.html ---------------------------------------------------------------------- diff --git a/extensions/mod_server.html b/extensions/mod_server.html deleted file mode 100644 index b3d696a..0000000 --- a/extensions/mod_server.html +++ /dev/null @@ -1,559 +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>Apache Tamaya&#8201;&#8212;&#8201;Extension: Configuration Server</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0"/> - <meta name="description" content=""/> - <meta name="author" content=""/> - <meta name="keywords" content=""/> - <meta name="generator" content="'JBake '+'${version}"/> - - <!-- Le styles --> - <link href="../css/bootstrap.min.css" rel="stylesheet"/> - <link href="../css/asciidoctor.css" rel="stylesheet"/> - <link href="../css/base.css" rel="stylesheet"/> - <link href="../css/prettify.css" rel="stylesheet"/> - - <!-- HTML5 shim, for IE6-8 support of HTML5 elements --> - <!--[if lt IE 9]> - <script src="../js/html5shiv.min.js"></script> - <![endif]--> - - <!-- Fav and touch icons from ASF --> - <link rel="shortcut icon" href="../favicon.ico"/> - <link rel="apple-touch-icon" sizes="57x57" href="../favicons/apple-touch-icon-57x57.png"/> - <link rel="apple-touch-icon" sizes="60x60" href="../favicons/apple-touch-icon-60x60.png"/> - <link rel="apple-touch-icon" sizes="72x72" href="../favicons/apple-touch-icon-72x72.png"/> - <link rel="apple-touch-icon" sizes="76x76" href="../favicons/apple-touch-icon-76x76.png"/> - <link rel="apple-touch-icon" sizes="114x114" href="../favicons/apple-touch-icon-114x114.png"/> - <link rel="apple-touch-icon" sizes="120x120" href="../favicons/apple-touch-icon-120x120.png"/> - <link rel="apple-touch-icon" sizes="144x144" href="../favicons/apple-touch-icon-144x144.png"/> - <link rel="apple-touch-icon" sizes="152x152" href="../favicons/apple-touch-icon-152x152.png"/> - <link rel="apple-touch-icon" sizes="180x180" href="../favicons/apple-touch-icon-180x180.png"/> - <link rel="icon" type="image/png" href="../favicons/favicon-32x32.png" sizes="32x32"/> - <link rel="icon" type="image/png" href="../favicons/favicon-194x194.png" sizes="194x194"/> - <link rel="icon" type="image/png" href="../favicons/favicon-96x96.png" sizes="96x96"/> - <link rel="icon" type="image/png" href="../favicons/android-chrome-192x192.png" sizes="192x192"/> - <link rel="icon" type="image/png" href="../favicons/favicon-16x16.png" sizes="16x16"/> - <link rel="manifest" href="../favicons/manifest.json"/> - <link rel="shortcut icon" href="../favicons/favicon.ico"/> - <meta name="msapplication-TileColor" content="#603cba"/> - <meta name="msapplication-TileImage" content="../favicons/mstile-144x144.png"/> - <meta name="msapplication-config" content="../favicons/browserconfig.xml"/> - <meta name="theme-color" content="#303284"/> - </head> - <body onload="prettyPrint()"> - <div id="wrap"> - <div> - - <!-- Fixed navbar --> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <a class="navbar-brand" href="../">Apache Tamaya (incubating)</a> - </div> - <div class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li><a href="../index.html">Home</a></li> - <li><a href="../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: Configuration Server</h1> - </div> - - <p><em>2016-10-31</em></p> - - <p><div id="preamble"> -<div class="sectionbody"> -<!-- toc disabled --> -</div> -</div> -<div class="sect1"> -<h2 id="Remote">Tamaya Configuration Server (Extension Module)</h2> -<div class="sectionbody"> -<div class="sect2"> -<h3 id="_overview">Overview</h3> -<div class="paragraph"> -<p>The Tamaya server module provides support for providing scoped configuration using a http server serving JSON formatted -configuration properties.</p> -</div> -</div> -<div class="sect2"> -<h3 id="_compatibility">Compatibility</h3> -<div class="paragraph"> -<p>The module is based on Java 7, so it will not run on Java 7 and beyond.</p> -</div> -</div> -<div class="sect2"> -<h3 id="_installation">Installation</h3> -<div class="paragraph"> -<p>To benefit from configuration server support you only must add the corresponding dependency to your module:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml"><dependency> - <groupId>org.apache.tamaya.ext</groupId> - <artifactId>tamaya-server</artifactId> - <version>{tamayaVersion}</version> -</dependency></code></pre> -</div> -</div> -</div> -<div class="sect2"> -<h3 id="_providing_configuration_using_the_tamaya_built_in_configuration_server">Providing configuration using the Tamaya Built-in Configuration Server</h3> -<div class="paragraph"> -<p>THe most simple way for providing onfiguration ist to start the internal server:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-java" data-lang="java">Server server = org.apache.tamaya.server.ConfigServer.createServer(); -server.start(port);</code></pre> -</div> -</div> -<div class="paragraph"> -<p>This will start a simple server instance that serves the following URL patterns:</p> -</div> -<div class="ulist"> -<ul> -<li> -<p>GET /config provides access to the full configuration tree.</p> -</li> -<li> -<p>GET /config/filtered/${path} let you filter the configuration returned using regular expression (comma separated). -E.g. /config/filtered/java,sun will return all configuration entries starting with <em>java</em> and <em>sun</em>.</p> -</li> -</ul> -</div> -<div class="paragraph"> -<p>Additionally the server module has the following options implemented, which can be passed as additional, optional -parameters:</p> -</div> -<div class="ulist"> -<ul> -<li> -<p>format allows to define the target format. By default the ACCEPT header of the http request is checked, but this -setting can be explicitly controlled by passing tis parameter explicitly. The value is the expected MIME type to be -returned. By default the service supports the following types (refer to the SPI section later in this document for -options to adapt this):</p> -<div class="ulist"> -<ul> -<li> -<p>text/html</p> -</li> -<li> -<p>text/plain</p> -</li> -<li> -<p>application/xml</p> -</li> -<li> -<p>text/json</p> -</li> -</ul> -</div> -</li> -<li> -<p>scope,scopeId allows to use a server-side preconfigured filter/combination policy to be applied for -evaluating the entries to be returned. Hereby the scopeId paramter allows to address a certain scope. -As an example think of a scope ?scope=CLIENT&scopeId=client1 to be passed as request parameters. This -tells the server module to lookup a configured scope named 'CLIENT' and access a ConfigOperator for the -given scopeId 'client1'. The returned operator then can filter and combine any kind of entries to the -required client configuration (for client1). Refer to the scopes section for more details.</p> -</li> -</ul> -</div> -</div> -<div class="sect2"> -<h3 id="_using_the_configuration_servlets">Using the Configuration Servlets</h3> -<div class="paragraph"> -<p>Additionally to the fully built-in solution, it is also possible to integrate the Tamaya server module with a standard -Java EE servlet container. Tamaya provides 2 servlet implementations:</p> -</div> -<div class="ulist"> -<ul> -<li> -<p>the servlet org.apache.tamaya.server.FilteredConfigServlet can be used to register access to configurations -that also support filtering of the keys. The URL looks like</p> -</li> -</ul> -</div> -<div class="listingblock"> -<div class="content"> -<pre>http(s)://HOST/SERVLET_CONTEXT/PATHS?params - -where - HOST = host name incl port, e.g. 127.0.0.2:234 - SERVLET_CONTEXT = the base context and servlet context, e.g. /client/config/filtered - PATHS = A comma separated number of key paths to be filtered for being returned, e.g. - java,sun,client - params = the optional parameters (scope, scopeId and format)</pre> -</div> -</div> -<div class="ulist"> -<ul> -<li> -<p>the servlet org.apache.tamaya.server.FullConfigServlet can be used to register access to configurations -that alwyas returns all items known. The URL looks like</p> -</li> -</ul> -</div> -<div class="listingblock"> -<div class="content"> -<pre>http(s)://HOST/SERVLET_CONTEXT?params - -where - HOST = host name incl port, e.g. 127.0.0.2:234 - SERVLET_CONTEXT = the base context and servlet context, e.g. /client/config/filtered - params = the optional parameters (scope, scopeId and format)</pre> -</div> -</div> -<div class="sect3"> -<h4 id="_formatting_used_by_default">Formatting used by Default</h4> -<div class="paragraph"> -<p>The server module formats the configuration returned by default in thw following variants:</p> -</div> -<div class="listingblock"> -<div class="title">Formatting for text/json</div> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-json" data-lang="json">{ - "java.vendor.url": "http://java.oracle.com/", - "java.vendor.url.bug": "http://bugreport.sun.com/bugreport/", - "java.vm.info": "mixed mode", - "java.vm.name": "Java HotSpot(TM) 64-Bit Server VM", - "java.vm.specification.name": "Java Virtual Machine Specification", - "java.vm.specification.vendor": "Oracle Corporation", - "java.vm.specification.version": "1.8", - "java.vm.vendor": "Oracle Corporation", - "java.vm.version": "25.45-b02", - "sun.arch.data.model": "64", - "sun.boot.class.path": "C:\apps\jdk18\jre\lib\resources.jar;C:\apps\jdk18\jre\lib\rt.jar;C:\apps\jdk18\jre\lib\sunrsasign.jar;C:\apps\jdk18\jre\lib\jsse.jar;C:\apps\jdk18\jre\lib\jce.jar;C:\apps\jdk18\jre\lib\charsets.jar;C:\apps\jdk18\jre\lib\jfr.jar;C:\apps\jdk18\jre\classes", - "sun.boot.library.path": "C:\apps\jdk18\jre\bin", - "sun.cpu.endian": "little", - "sun.cpu.isalist": "amd64", - "sun.desktop": "windows", - "sun.io.unicode.encoding": "UnicodeLittle", - "sun.java.command": "com.intellij.rt.execution.application.AppMain org.apache.tamaya.examples.remote.server.Start", - "sun.java.launcher": "SUN_STANDARD", - "sun.jnu.encoding": "Cp1252", - "sun.management.compiler": "HotSpot 64-Bit Tiered Compilers", - "sun.os.patch.level": "", - "{meta}class": "org.apache.tamaya.functions.FilteredConfiguration", - "{meta}info.filter": "java.v,sun", - "{meta}info.format": "application/json", - "{meta}info.timestamp": "1441463200571", - "{meta}timestamp": "1441463200571", - "{meta}type": "Configuration" -}</code></pre> -</div> -</div> -<div class="listingblock"> -<div class="title">Formatting for application/xml</div> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml"><configuration> - <entry key="java.vendor.url">http://java.oracle.com/</entry> - <entry key="java.vendor.url.bug">http://bugreport.sun.com/bugreport/</entry> - <entry key="java.vm.info">mixed mode</entry> - <entry key="java.vm.name">Java HotSpot(TM) 64-Bit Server VM</entry> - <entry key="java.vm.specification.name">Java Virtual Machine Specification</entry> - <entry key="java.vm.specification.vendor">Oracle Corporation</entry> - <entry key="java.vm.specification.version">1.8</entry> - <entry key="java.vm.vendor">Oracle Corporation</entry> - <entry key="java.vm.version">25.45-b02</entry> - <entry key="sun.arch.data.model">64</entry> - <entry key="sun.boot.class.path">C:\apps\jdk18\jre\lib\resources.jar;C:\apps\jdk18\jre\lib\rt.jar;C:\apps\jdk18\jre\lib\sunrsasign.jar;C:\apps\jdk18\jre\lib\jsse.jar;C:\apps\jdk18\jre\lib\jce.jar;C:\apps\jdk18\jre\lib\charsets.jar;C:\apps\jdk18\jre\lib\jfr.jar;C:\apps\jdk18\jre\classes</entry> - <entry key="sun.boot.library.path">C:\apps\jdk18\jre\bin</entry> - <entry key="sun.cpu.endian">little</entry> - <entry key="sun.cpu.isalist">amd64</entry> - <entry key="sun.desktop">windows</entry> - <entry key="sun.io.unicode.encoding">UnicodeLittle</entry> - <entry key="sun.java.command">com.intellij.rt.execution.application.AppMain org.apache.tamaya.examples.remote.server.Start</entry> - <entry key="sun.java.launcher">SUN_STANDARD</entry> - <entry key="sun.jnu.encoding">Cp1252</entry> - <entry key="sun.management.compiler">HotSpot 64-Bit Tiered Compilers</entry> - <entry key="sun.os.patch.level"></entry> - <entry key="{meta}class">org.apache.tamaya.functions.FilteredConfiguration</entry> - <entry key="{meta}info.filter">java.v,sun</entry> - <entry key="{meta}info.format">application/xml</entry> - <entry key="{meta}info.timestamp">1441463383687</entry> - <entry key="{meta}timestamp">1441463383687</entry> - <entry key="{meta}type">Configuration</entry> -</configuration></code></pre> -</div> -</div> -<div class="listingblock"> -<div class="title">Formatting for text/plain</div> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-text" data-lang="text">Configuration: - java.vendor.url: http://java.oracle.com/, - java.vendor.url.bug: http://bugreport.sun.com/bugreport/, - java.vm.info: mixed mode, - java.vm.name: Java HotSpot(TM) 64-Bit Server VM, - java.vm.specification.name: Java Virtual Machine Specification, - java.vm.specification.vendor: Oracle Corporation, - java.vm.specification.version: 1.8, - java.vm.vendor: Oracle Corporation, - java.vm.version: 25.45-b02, - sun.arch.data.model: 64, - sun.boot.class.path: C:\apps\jdk18\jre\lib\resources.jar;C:\apps\jdk18\jre\lib\rt.jar;C:\apps\jdk18\jre\lib\sunrsasign.jar;C:\apps\jdk18\jre\lib\jsse.jar;C:\apps\jdk18\jre\lib\jce.jar;C:\apps\jdk18\jre\lib\charsets.jar;C:\apps\jdk18\jre\lib\jfr.jar;C:\apps\jdk18\jre\classes, - sun.boot.library.path: C:\apps\jdk18\jre\bin, - sun.cpu.endian: little, - sun.cpu.isalist: amd64, - sun.desktop: windows, - sun.io.unicode.encoding: UnicodeLittle, - sun.java.command: com.intellij.rt.execution.application.AppMain org.apache.tamaya.examples.remote.server.Start, - sun.java.launcher: SUN_STANDARD, - sun.jnu.encoding: Cp1252, - sun.management.compiler: HotSpot 64-Bit Tiered Compilers, - sun.os.patch.level: , - {meta}class: org.apache.tamaya.functions.FilteredConfiguration, - {meta}info.filter: java.v,sun, - {meta}info.format: text/plain, - {meta}info.timestamp: 1441463082020, - {meta}timestamp: 1441463082021, - {meta}type: Configuration</code></pre> -</div> -</div> -<div class="listingblock"> -<div class="title">Formatting for application/html</div> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-html" data-lang="html"><html> -<head><title>System Configuration</title></head> -<body> -<h1>Sysem Configuration</h1> -<p>This view shows the system configuration of devbox-win at Sat Sep 05 16:30:59 CEST 2015.</p><pre> -Configuration: - java.vendor.url: http://java.oracle.com/, - java.vendor.url.bug: http://bugreport.sun.com/bugreport/, - java.vm.info: mixed mode, - java.vm.name: Java HotSpot(TM) 64-Bit Server VM, - java.vm.specification.name: Java Virtual Machine Specification, - java.vm.specification.vendor: Oracle Corporation, - java.vm.specification.version: 1.8, - java.vm.vendor: Oracle Corporation, - java.vm.version: 25.45-b02, - sun.arch.data.model: 64, - sun.boot.class.path: C:\apps\jdk18\jre\lib\resources.jar;C:\apps\jdk18\jre\lib\rt.jar;C:\apps\jdk18\jre\lib\sunrsasign.jar;C:\apps\jdk18\jre\lib\jsse.jar;C:\apps\jdk18\jre\lib\jce.jar;C:\apps\jdk18\jre\lib\charsets.jar;C:\apps\jdk18\jre\lib\jfr.jar;C:\apps\jdk18\jre\classes, - sun.boot.library.path: C:\apps\jdk18\jre\bin, - sun.cpu.endian: little, - sun.cpu.isalist: amd64, - sun.desktop: windows, - sun.io.unicode.encoding: UnicodeLittle, - sun.java.command: com.intellij.rt.execution.application.AppMain org.apache.tamaya.examples.remote.server.Start, - sun.java.launcher: SUN_STANDARD, - sun.jnu.encoding: Cp1252, - sun.management.compiler: HotSpot 64-Bit Tiered Compilers, - sun.os.patch.level: , - {meta}class: org.apache.tamaya.functions.FilteredConfiguration, - {meta}info.filter: java.v,sun, - {meta}info.format: text/html, - {meta}info.timestamp: 1441463459653, - {meta}timestamp: 1441463459654, - {meta}type: Configuration - -</pre> -</body> -</html></code></pre> -</div> -</div> -</div> -</div> -<div class="sect2"> -<h3 id="_spi">SPI</h3> -<div class="sect3"> -<h4 id="_scopes">Scopes</h4> -<div class="paragraph"> -<p>As mentioned earlier in this document scopes can be used to define the exact configuration tree to be returned, e.g. -as a result of combining multiple sub trees. Following an example of the code to be written to return a configuration -that combines common client default entries with client specific entries:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public class ClientScopeProvider implements ScopeProvider{ - - /** - * Access the unique scope name. - * @return the unique scope name. - */ - public String getScopeType(){ - return "CLIENT"; - } - - @Override - public ConfigOperator getScope(String scopeId) { - return c -> - ConfigurationFunctions.combine("Scoped Config CLIENT="+scopeId, - c.with(ConfigurationFunctions.sectionRecursive(true, "client.default")), - c.with(ConfigurationFunctions.sectionRecursive(true, "client." + scopeId)) - ); - } -}</code></pre> -</div> -</div> -<div class="paragraph"> -<p>This class can be registered using the ServiceContext in place. By default the ServiceLoader is used, so you will -have to add the following to META-INF/services/org.apache.tamaya.server.spi.ScopeProvider:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-listing" data-lang="listing">my.full.packagename.ClientScopeProvider</code></pre> -</div> -</div> -</div> -<div class="sect3"> -<h4 id="_adapting_the_way_configuration_is_derived">Adapting the Way Configuration is Derived</h4> -<div class="paragraph"> -<p>Finally the effective readong and configuration handling logic can also be replaced or improved. This can be -done by registering your own implementation of the interface ConfigProviderService:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public interface ConfigProviderService { - String getConfigurationWithPath(String path, String format, String scope, String scopeId, HttpServletRequest request); - String getConfiguration(String format, String scope, String scopeId, HttpServletRequest request); - void updateConfiguration(String payload, HttpServletRequest request); - void deleteConfiguration(String paths, HttpServletRequest request); -}</code></pre> -</div> -</div> -<div class="paragraph"> -<p>By default the ServiceContextManager uses the java.util.ServiceLoader for component loading, so to replace the -default server code you must register a higher @Priority implementation.</p> -</div> -</div> -<div class="sect3"> -<h4 id="_replacing_the_built_in_server">Replacing the Built-In Server</h4> -<div class="paragraph"> -<p>We have seen earlier that starting a configuration server is pretty easy:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-java" data-lang="java">Server server = org.apache.tamaya.server.ConfigServer.createServer(); -server.start(port);</code></pre> -</div> -</div> -<div class="paragraph"> -<p>Nevertheless one may want to replace the used implementation of Server. This can be done easily by simply -registering an overriding implementation if the corresponding interface:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public interface Server { - void start(int port); - boolean isStarted(); - void stop(); - void destroy(); -}</code></pre> -</div> -</div> -</div> -<div class="sect3"> -<h4 id="_the_scopemanager_singleton">The ScopeManager Singleton</h4> -<div class="paragraph"> -<p>Finally whe implementing your own server, you might also benefit from the ScopeManager singleton. Basically this -class loads all registered ScopeProvider and manages the configured scope instances:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public final class ScopeManager { - ... - - private ScopeManager(){} - - /** - * Get the scope given its name. - * @param scopeId the scope name - * @return the scope matching - * @throws ConfigException, if nos such scope is defined. - */ - public static ConfigOperator getScope(String scopeId, String target); - - /** - * Get the defined scope names. - * @return the defined scope names, never null. - */ - public static Set<String> getScopes(); - -}</code></pre> -</div> -</div> -</div> -</div> -</div> -</div></p> - - <hr /> - </div> - </div> - <div> - <div id="push"></div> - - <div id="footer"> - <div class="container"> - <p class="muted credit">© 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-11-02</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/97bc8884/extensions/mod_spi-support.html ---------------------------------------------------------------------- diff --git a/extensions/mod_spi-support.html b/extensions/mod_spi-support.html deleted file mode 100644 index 7382aac..0000000 --- a/extensions/mod_spi-support.html +++ /dev/null @@ -1,221 +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>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-10-31</em></p> - - <p><div id="preamble"> -<div class="sectionbody"> -<!-- toc disabled --> -</div> -</div> -<div class="sect1"> -<h2 id="SPISupport">Tamaya SPI Support (Extension Module)</h2> -<div class="sectionbody"> -<div class="sect2"> -<h3 id="_overview">Overview</h3> -<div class="paragraph"> -<p>The Tamaya SPI support module provides a few helpful base classes that can be used to implement some of the often -used SPI parts in Tamaya:</p> -</div> -<div class="ulist"> -<ul> -<li> -<p>BasePropertySource provides an abstract base class for implementation of your own PropertySources.</p> -</li> -<li> -<p>DefaultConfiguration provides you with a simple implementation of the Configuration interface based on a -ConfigurationContext provided. This is also very useful for mocking configuration during test execution, but -not only constraint to that use case.</p> -</li> -<li> -<p>DefaultConfigurationContext provides you with a working implementation of the ConfigurationContext.</p> -</li> -<li> -<p>EnumConverter is a converter implementation that can automatically select the currect enumeration values based -on a configured entry.</p> -</li> -<li> -<p>MapPropertySource implements a static property source based on java.util.Map.</p> -</li> -<li> -<p>PriorityServiceComparator compares arbitrary services based on their @Priority annotations (also handling the -case, where no such annotation is present).</p> -</li> -<li> -<p>PropertiesResourcePropertySource is an implementation of a PropertySource based on a Properties instance, - lodable from any URL. -+ PropertyConverterManager is a service class very useful, when implementing instances of ConfigurationContext. - It manages registered instances of PropertyConverter and provides easy to use type conversion logic. -+ PropertyFiltering provides another helpful class that manages PropertyFilter instances and provides an - easy to use high level API. -+ PropertySourceComparator provides an implementation that compares PropertySources based on their getOrdinal() - values and their class names.</p> -</li> -</ul> -</div> -</div> -<div class="sect2"> -<h3 id="_compatibility">Compatibility</h3> -<div class="paragraph"> -<p>The module is based on Java 7, so it will 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 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-spisupport</artifactId> - <version>{tamayaVersion}</version> -</dependency></code></pre> -</div> -</div> -<div class="paragraph"> -<p>The component will not register any components but only providing portable base classes for some common SPI -implementation tasks. It only depends on the API, so it should be safely reusable also with other implementations -of the Tamaya API similarly.</p> -</div> -</div> -</div> -</div></p> - - <hr /> - </div> - </div> - <div> - <div id="push"></div> - - <div id="footer"> - <div class="container"> - <p class="muted credit">© 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-11-02</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/97bc8884/extensions/mod_spring.html ---------------------------------------------------------------------- diff --git a/extensions/mod_spring.html b/extensions/mod_spring.html deleted file mode 100644 index 3e07fba..0000000 --- a/extensions/mod_spring.html +++ /dev/null @@ -1,308 +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>Apache Tamaya&#8201;&#8212;&#8201;Extension: Spring Integration</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0"/> - <meta name="description" content=""/> - <meta name="author" content=""/> - <meta name="keywords" content=""/> - <meta name="generator" content="'JBake '+'${version}"/> - - <!-- Le styles --> - <link href="../css/bootstrap.min.css" rel="stylesheet"/> - <link href="../css/asciidoctor.css" rel="stylesheet"/> - <link href="../css/base.css" rel="stylesheet"/> - <link href="../css/prettify.css" rel="stylesheet"/> - - <!-- HTML5 shim, for IE6-8 support of HTML5 elements --> - <!--[if lt IE 9]> - <script src="../js/html5shiv.min.js"></script> - <![endif]--> - - <!-- Fav and touch icons from ASF --> - <link rel="shortcut icon" href="../favicon.ico"/> - <link rel="apple-touch-icon" sizes="57x57" href="../favicons/apple-touch-icon-57x57.png"/> - <link rel="apple-touch-icon" sizes="60x60" href="../favicons/apple-touch-icon-60x60.png"/> - <link rel="apple-touch-icon" sizes="72x72" href="../favicons/apple-touch-icon-72x72.png"/> - <link rel="apple-touch-icon" sizes="76x76" href="../favicons/apple-touch-icon-76x76.png"/> - <link rel="apple-touch-icon" sizes="114x114" href="../favicons/apple-touch-icon-114x114.png"/> - <link rel="apple-touch-icon" sizes="120x120" href="../favicons/apple-touch-icon-120x120.png"/> - <link rel="apple-touch-icon" sizes="144x144" href="../favicons/apple-touch-icon-144x144.png"/> - <link rel="apple-touch-icon" sizes="152x152" href="../favicons/apple-touch-icon-152x152.png"/> - <link rel="apple-touch-icon" sizes="180x180" href="../favicons/apple-touch-icon-180x180.png"/> - <link rel="icon" type="image/png" href="../favicons/favicon-32x32.png" sizes="32x32"/> - <link rel="icon" type="image/png" href="../favicons/favicon-194x194.png" sizes="194x194"/> - <link rel="icon" type="image/png" href="../favicons/favicon-96x96.png" sizes="96x96"/> - <link rel="icon" type="image/png" href="../favicons/android-chrome-192x192.png" sizes="192x192"/> - <link rel="icon" type="image/png" href="../favicons/favicon-16x16.png" sizes="16x16"/> - <link rel="manifest" href="../favicons/manifest.json"/> - <link rel="shortcut icon" href="../favicons/favicon.ico"/> - <meta name="msapplication-TileColor" content="#603cba"/> - <meta name="msapplication-TileImage" content="../favicons/mstile-144x144.png"/> - <meta name="msapplication-config" content="../favicons/browserconfig.xml"/> - <meta name="theme-color" content="#303284"/> - </head> - <body onload="prettyPrint()"> - <div id="wrap"> - <div> - - <!-- Fixed navbar --> - <div class="navbar navbar-default navbar-fixed-top" role="navigation"> - <div class="container"> - <div class="navbar-header"> - <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <a class="navbar-brand" href="../">Apache Tamaya (incubating)</a> - </div> - <div class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li><a href="../index.html">Home</a></li> - <li><a href="../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: Spring Integration</h1> - </div> - - <p><em>2016-10-31</em></p> - - <p><div id="preamble"> -<div class="sectionbody"> -<!-- toc disabled --> -</div> -</div> -<div class="sect1"> -<h2 id="Remote">Tamaya Spring Integration (Extension Module)</h2> -<div class="sectionbody"> -<div class="sect2"> -<h3 id="_overview">Overview</h3> -<div class="paragraph"> -<p>Apache Tamaya currently provides two implementations also full integration for Spring:</p> -</div> -<div class="ulist"> -<ul> -<li> -<p>A Spring @Configuration implementation that also provides a Tamaya based version of -org.springframework.context.support.PropertySourcesPlaceholderConfigurer.</p> -</li> -<li> -<p>org.apache.tamaya.integration.spring.TamayaEnvironment is the Tamaya based implementation of the Spring -Environment interface.</p> -</li> -<li> -<p>TamayaSpringPropertySource implements an additional Spring PropertySource.</p> -</li> -<li> -<p>Finally org.apache.tamaya.integration.spring.SpringConfigInjectionPostProcessor implements a Bean PostProcessor, -which adds all the full fledged Tamaya configuration capabilities to Spring.</p> -</li> -</ul> -</div> -</div> -<div class="sect2"> -<h3 id="_compatibility">Compatibility</h3> -<div class="paragraph"> -<p>Both modules are based on Java 7, so they will not run on Java 7 and beyond. The extension shown here works similarly -with Spring Framework as well as Spring Boot.</p> -</div> -</div> -<div class="sect2"> -<h3 id="_installation">Installation</h3> -<div class="paragraph"> -<p>To benefit from Tamaya Spring integration you only must one of the following dependencies to your module:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml"><dependency> - <groupId>org.apache.tamaya.ext</groupId> - <artifactId>tamaya-spring</artifactId> - <version>{tamayaVersion}</version> -</dependency></code></pre> -</div> -</div> -</div> -<div class="sect2"> -<h3 id="_registering_tamaya_spring_configuration">Registering Tamaya Spring Configuration</h3> -<div class="paragraph"> -<p>Basically to activate the Tamaya Spring support the most simple thing is to a enable the Tamaya package for being -scanned for Spring components, e.g.</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml"><beans xmlns="http://www.springframework.org/schema/beans" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:context="http://www.springframework.org/schema/context" - xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> - - <context:annotation-config /> - <context:component-scan base-package="org.apache.tamaya.integration.spring"/> - - ... - -</beans></code></pre> -</div> -</div> -<div class="admonitionblock note"> -<table> -<tr> -<td class="icon"> -<div class="title">Note</div> -</td> -<td class="content"> -Of course you can also use the newer @ComponentScan annotation as described by the Spring documentation. -</td> -</tr> -</table> -</div> -<div class="paragraph"> -<p>Similarly if you dont want to use component scanning you can configure things using plain old XML. Simply add the -following lines somewhere into one of your application context configuration files.</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml"><bean id="tamayaInjectionProcessor" name="tamayaInjectionProcessor" class="org.apache.tamaya.integration.spring.SpringConfigInjectionPostProcessor"/> -<bean id="tamayaConfigProvider" name="tamayaConfigProvider" class="org.apache.tamaya.integration.spring.TamayaSpringConfig"/></code></pre> -</div> -</div> -</div> -<div class="sect2"> -<h3 id="_configuring_your_context">Configuring your Context</h3> -<div class="paragraph"> -<p>Done so enables you to use Tamaya as a backend for property resolution, e.g. propertyValue as illustrated below -is resolved from the current Tamaya configuration.</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml"><bean id="configuredBean" name="configuredBean" class="org.apache.tamaya.integration.spring.ConfiguredSpringBean"> - <property name="message" value="${propertyValue}"/> -</bean></code></pre> -</div> -</div> -</div> -<div class="sect2"> -<h3 id="_configuring_your_beans">Configuring your Beans</h3> -<div class="paragraph"> -<p>Similarly you can inject any kind of configuration as supported by Tamaya into your Spring managed beans:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-java" data-lang="java">** - * Created by Anatole on 25.09.2015. - */ -@ConfigDefaultSections -public class ConfiguredSpringBean { - - private String message; - - @Autowired - private Environment env; - - @Config("java.version") - private String javaVersion; - - @Config - @ConfigDefault("23") - private int testNumber; - - public String getJavaVersion(){ - return javaVersion; - } - - public int getTestNumber(){ - return testNumber; - } - - public Environment getEnv(){ - return env; - } - - public void setMessage(String message){ - this.message = message; - } - - public String getMessage() { - return message; - } -}</code></pre> -</div> -</div> -<div class="paragraph"> -<p>Summarizing you get all the nice features of Tamaya out of the box running with your Spring code.</p> -</div> -</div> -</div> -</div></p> - - <hr /> - </div> - </div> - <div> - <div id="push"></div> - - <div id="footer"> - <div class="container"> - <p class="muted credit">© 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-11-02</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/97bc8884/extensions/mod_yaml.html ---------------------------------------------------------------------- diff --git a/extensions/mod_yaml.html b/extensions/mod_yaml.html deleted file mode 100644 index a195882..0000000 --- a/extensions/mod_yaml.html +++ /dev/null @@ -1,262 +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>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-02</em></p> - - <p><div id="preamble"> -<div class="sectionbody"> -<!-- toc disabled --> -</div> -</div> -<div class="sect1"> -<h2 id="BuilderCore">Tamaya YAML (Extension Module)</h2> -<div class="sectionbody"> -<div class="sect2"> -<h3 id="_overview">Overview</h3> -<div class="paragraph"> -<p>The Tamaya YAML module provides support for reading configuration using the YAML format (yaml.org). YAML hereby -use intendation for expressing hierarchy, which makes yaml configuration files very easily readable and compact.</p> -</div> -</div> -<div class="sect2"> -<h3 id="_compatibility">Compatibility</h3> -<div class="paragraph"> -<p>The YAML module is based on Java 7, so it will 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-yaml</artifactId> - <version>{tamaya-version}</version> -</dependency></code></pre> -</div> -</div> -</div> -<div class="sect2"> -<h3 id="_reading_configuration_in_yaml">Reading configuration in YAML</h3> -<div class="paragraph"> -<p>For reading YAML based onfiguration most easily a YAMLFormat can be provided:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-java" data-lang="java">ConfigurationData dataRead = ConfigurationFormats.readConfig( - getClassLoader().getResource("myFileConfig.yaml"), new YAMLFormat()));</code></pre> -</div> -</div> -</div> -<div class="sect2"> -<h3 id="_examples">Examples</h3> -<div class="paragraph"> -<p>The YAML module adds instances of ConfigurationFormat so YAML configuration can be read and mapped to the -according property values. E.g. the following file is a simple and correct YAML configuration:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-yaml" data-lang="yaml">invoice: 34843 -date : 2001-01-23 -bill-to: &id001 - given : Chris - family : Dumars - address: - lines: | - 458 Walkman Dr. - Suite #292 - city : Royal Oak - state : MI - postal : 48046 -ship-to: *id001 -product: - - sku : BL394D - quantity : 4 - description : Basketball - price : 450.00 - - sku : BL4438H - quantity : 1 - description : Super Hoop - price : 2392.00 -tax : 251.42 -total: 4443.52 -comments: - Late afternoon is best. - Backup contact is Nancy - Billsmer @ 338-4338.</code></pre> -</div> -</div> -<div class="paragraph"> -<p>Hereby the above file, by default is mapped as follows into Map<String,String> typed properties:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-listing" data-lang="listing">invoice -> 34843 -date -> Tue Jan 23 01:00:00 CET 2001 -bill-to.family -> Dumars -bill-to.given -> Chris -bill-to.address.state -> MI -bill-to.address.postal -> 48046 -bill-to.address.city -> Royal Oak -bill-to.address.lines -> 458 Walkman Dr. -Suite #292 - -ship-to.given -> Chris -ship-to.address.state -> MI -ship-to.family -> Dumars -ship-to.address.postal -> 48046 -ship-to.address.city -> Royal Oak -ship-to.address.lines -> 458 Walkman Dr. -Suite #292 - -product -> {sku=BL394D, quantity=4, description=Basketball, price=450.0},{sku=BL4438H, quantity=1, description=Super Hoop, price=2392.0} -_product.collection-type -> List - -tax -> 251.42 -total -> 4443.52 -comments -> Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.</code></pre> -</div> -</div> -</div> -</div> -</div></p> - - <hr /> - </div> - </div> - <div> - <div id="push"></div> - - <div id="footer"> - <div class="container"> - <p class="muted credit">© 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-11-02</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/97bc8884/favicon.ico ---------------------------------------------------------------------- diff --git a/favicon.ico b/favicon.ico deleted file mode 100644 index 839e0e9..0000000 Binary files a/favicon.ico and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/97bc8884/favicons/android-chrome-144x144.png ---------------------------------------------------------------------- diff --git a/favicons/android-chrome-144x144.png b/favicons/android-chrome-144x144.png deleted file mode 100644 index 49db02e..0000000 Binary files a/favicons/android-chrome-144x144.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/97bc8884/favicons/android-chrome-192x192.png ---------------------------------------------------------------------- diff --git a/favicons/android-chrome-192x192.png b/favicons/android-chrome-192x192.png deleted file mode 100644 index ceac544..0000000 Binary files a/favicons/android-chrome-192x192.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/97bc8884/favicons/android-chrome-36x36.png ---------------------------------------------------------------------- diff --git a/favicons/android-chrome-36x36.png b/favicons/android-chrome-36x36.png deleted file mode 100644 index 68adb6c..0000000 Binary files a/favicons/android-chrome-36x36.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/97bc8884/favicons/android-chrome-48x48.png ---------------------------------------------------------------------- diff --git a/favicons/android-chrome-48x48.png b/favicons/android-chrome-48x48.png deleted file mode 100644 index 9a2f4c7..0000000 Binary files a/favicons/android-chrome-48x48.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/97bc8884/favicons/android-chrome-72x72.png ---------------------------------------------------------------------- diff --git a/favicons/android-chrome-72x72.png b/favicons/android-chrome-72x72.png deleted file mode 100644 index 383fc0e..0000000 Binary files a/favicons/android-chrome-72x72.png and /dev/null differ http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/97bc8884/favicons/android-chrome-96x96.png ---------------------------------------------------------------------- diff --git a/favicons/android-chrome-96x96.png b/favicons/android-chrome-96x96.png deleted file mode 100644 index 10c92d6..0000000 Binary files a/favicons/android-chrome-96x96.png and /dev/null differ
