http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/fa747cb8/core.html ---------------------------------------------------------------------- diff --git a/core.html b/core.html new file mode 100644 index 0000000..8e80549 --- /dev/null +++ b/core.html @@ -0,0 +1,559 @@ +<!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-10-31</em></p> + + <p><div class="sect1"> +<h2 id="Core">Tamaya Core Implementation</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_overview">Overview</h3> +<div class="paragraph"> +<p>Tamaya Core provides an implementation of the <a href="API.html">Tamaya Configuration API</a> and adds additional functionality +and building blocks for supporting SPI implementations.</p> +</div> +<div class="paragraph"> +<p>Tamaya Core contains the following artifacts:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p>Implementations of Configuration, ConfigurationContext, ConfigurationContextBuilder ConfigurationProviderSpi+</p> +</li> +<li> +<p>A java.util.ServiceLoader based ServiceContext implementation. Hereby it implements component priorization based +on the @Priority annotations.</p> +</li> +<li> +<p>A PropertyConverterManager+ that loads and stores references to all the preconfigured PropertyConverter instances +hereby providing type conversion for all important types.</p> +</li> +<li> +<p>A simple default configuration setup using the current classpath and an optional staging variable.</p> +</li> +<li> +<p>It collects all PropertySource and PropertySourceProvider instances registered with the ServiceLoader and +registers them in the global ConfigurationContext</p> +</li> +<li> +<p>It provides a ConfigurationContextBuilder and allows changing the current ConfigurationContext.</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>The overall size of the library is very small. All required components are implemented and registered, so basically the +Core module is a complete configuration solution. Nevertheless it is also very minimalistic, but fortunately is flexible +enough to be extended/accommodated with additional features as needed, such as</p> +</div> +<div class="ulist"> +<ul> +<li> +<p>placeholder and resolution mechanisms</p> +</li> +<li> +<p>dynamic resource path lookup, e.g. with ant styled patterns</p> +</li> +<li> +<p>configuration injection and configuration templates</p> +</li> +<li> +<p>abstraction for reusable formats</p> +</li> +<li> +<p>integration with other existing solutions</p> +</li> +<li> +<p>configuration and configuration isolation targeting Java EE</p> +</li> +<li> +<p>dynamic configuration and configuration updates</p> +</li> +<li> +<p>Configuration management extensions</p> +</li> +<li> +<p>remote configuration</p> +</li> +<li> +<p>and more</p> +</li> +</ul> +</div> +<div class="paragraph"> +<p>For details about the extension modules available and their functionality refer to the <a href="modules.html">extension user guide</a>.</p> +</div> +</div> +<div class="sect2"> +<h3 id="CorePropertyConverters">Default PropertyConverters in Core</h3> +<div class="paragraph"> +<p>As mentioned the Core module delivers several default PropertyConverter instances out of the box. Find below the +listing of converters automatically registered with the Core module:</p> +</div> +<table class="tableblock frame-1 grid-all spread"> +<colgroup> +<col style="width: 33.3333%;"> +<col style="width: 33.3333%;"> +<col style="width: 33.3334%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top"><em>Target Type</em></th> +<th class="tableblock halign-left valign-top"><em>Class Name</em></th> +<th class="tableblock halign-left valign-top"><em>Supported Formats</em></th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">java.math.BigDecimal</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">BigDecimalConverter</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">1.2345, 0xFF</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">java.math.BigInteger</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">BigIntegerConverter</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">0xFF, 1234</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">java.ui.lang.Boolean</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">BooleanConverter</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">true, false, T, F, 1 ,0</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">java.ui.lang.Byte</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">ByteConverter</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">0xFF, MIN_VALUE, MAX_VALUE, 123</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">java.ui.lang.Character</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">CharConverter</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">0xFF, 'a', 'H', 123</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">java.ui.lang.Class</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">ClassConverter</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><fully qualified class name></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">java.util.Currency</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">CurrencyConverter</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">CHF, 123</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">java.ui.lang.Double</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">DoubleConverter</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">1, 0xFF, 1.2334, NaN, NEGATIVE_INFITIY, POSITIVE_INFINITY, MIN_VALUE, MAX_VALUE</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock"><em>Enums</em></p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">EnumConverter</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><Enum item name></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">java.ui.lang.Float</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">FloatConverter</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">1, 0xFF, 1.2334, NaN, NEGATIVE_INFITIY, POSITIVE_INFINITY, MIN_VALUE, MAX_VALUE</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">java.ui.lang.Integer</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">IntegerConverter</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">1, 0xD3, MIN_VALUE, MAX_VALUE</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">LocalDate</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">LocalDateConverter</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><Date as defined by LocalDate.parse(String)</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">LocalTime</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">LocalTimeConverter</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><Time as defined by LocalTime.parse(String)</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">LocalDateTime</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">LocalDateTimeConverter</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><LocalDateTime as defined by LocalDateTime.parse(String)></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">java.ui.lang.Long</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">LongConverter</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">1, 0xD3, MIN_VALUE, MAX_VALUE</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">java.ui.lang.Number</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">NumberConverter</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">1, 0xFF, 1.2334, NaN, NEGATIVE_INFITIY, POSITIVE_INFINITY</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">java.ui.lang.Short</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">ShortConverter</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">1, 0xD3, MIN_VALUE, MAX_VALUE</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">java.net.URI</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">URIConverter</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="http://localhost:2020/testresource?api=true" class="bare">http://localhost:2020/testresource?api=true</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">java.net.URL</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">URLConverter</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="http://localhost:2020/testresource?api=true" class="bare">http://localhost:2020/testresource?api=true</a></p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">ZoneId</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">ZoneIdConverter</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Europe/Zurich</p></td> +</tr> +</tbody> +</table> +</div> +<div class="sect2"> +<h3 id="_registering_propertyconverters">Registering PropertyConverters</h3> +<div class="paragraph"> +<p>Additional PropertyConverters can be implemented easily. It is recommended to register then using the java.util.ServiceLoader, +meaning you add a file under META-INF/service/org.apache.tamaya.spi.PropertyConverter containing the fully qualified +class names of the converters to be registered (one line per each).</p> +</div> +<div class="paragraph"> +<p>Alternatively you can also use a ConfigurationContextBuilder to add additional converters programmatically.</p> +</div> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<div class="title">Note</div> +</td> +<td class="content"> +API Implementations can be read-only thus not allowing adding additional converters programmatically. +</td> +</tr> +</table> +</div> +</div> +<div class="sect2"> +<h3 id="ComponentLoadingAndPriorization">Component Loading and Priorization</h3> +<div class="paragraph"> +<p>Tamaya Core in general loads all components using the java.util.ServiceLoader mechanism. This means that new components +must be registered by adding a file under META-INF/service/<myInterfaceName> containing the fully qualified +implementation class names of the components to be registered (one line per each). +The ServiceLoader itself does not provide any functionality for overriding or ordering of components. Tamaya +core adds this functionality by the possibility to add @Priority annotations to the components registered. +By default, and if no annotation is added 0 is used as priority. Hereby higher values preceed lower values, meaning</p> +</div> +<div class="ulist"> +<ul> +<li> +<p>if a singleton component is accessed from the current ServiceContext the component with the higher value +effectively <em>overrides/replaces</em> any component with lower values.</p> +</li> +<li> +<p>if a collection of components is obtained from the ServiceContext the components are ordered in order, where the +ones with higher priority are before components with lower priority.</p> +</li> +<li> +<p>if priorities match Tamaya Core additionally sorts them using the simple class name. This ensures that ordering is +still defined and predictable in almost all scenarios.</p> +</li> +</ul> +</div> +</div> +<div class="sect2"> +<h3 id="RegisteringPropertySources">Registering Property Sources</h3> +<div class="paragraph"> +<p>PropertySources that provide configuration properties are registered as ordinary components as described in the previous +section. Nevertheless the priority is not managed based on @Priority annotations, but based on an explicit +int getOrdinal() method. This allows to define the ordinal/priority of a PropertySource explicitly. This is useful +due to several reasons:</p> +</div> +<div class="ulist"> +<ul> +<li> +<p>it allows to define the ordinal as part of the configuration, thus allowing new overriding property sources being +added easily.</p> +</li> +<li> +<p>it allows to define the ordinal dynamically, e.g. based on the configuration location, the time of loading or +whatever may be appropriate.</p> +</li> +</ul> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="CorePropertySources">Configuration Setup in Core</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>Tamaya Core provides a minimal configuration setting, that allows you to configure SE +applications already easily. Basically configuration is built up by default as follows:</p> +</div> +<div class="olist arabic"> +<ol class="arabic"> +<li> +<p>Read environment properties and add them prefixed with env.</p> +</li> +<li> +<p>Read all files found at META-INF/javaconfiguration.properties +and META-INF/javaconfiguration.xml</p> +</li> +</ol> +</div> +<div class="sect2"> +<h3 id="_overview_of_registered_default_property_sources_and_providers">Overview of Registered Default Property Sources and Providers</h3> +<div class="paragraph"> +<p>The Tamaya Core implementation provides a couple of default PropertySource implementations, which are automatically +registered. They are all in the package org.apache.tamaya.core.propertysource and +org.apache.tamaya.core.provider:</p> +</div> +<table class="tableblock frame-1 grid-all spread"> +<colgroup> +<col style="width: 33.3333%;"> +<col style="width: 33.3333%;"> +<col style="width: 33.3334%;"> +</colgroup> +<thead> +<tr> +<th class="tableblock halign-left valign-top"><em>Type</em></th> +<th class="tableblock halign-left valign-top"><em>Class Name</em></th> +<th class="tableblock halign-left valign-top"><em>Ordinal Used</em></th> +</tr> +</thead> +<tbody> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">META-INF/javaconfiguration.properties</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">JavaConfigurationProvider</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">0</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">META-INF/javaconfiguration.xml</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">JavaConfigurationProvider</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">0</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">Environment Properties</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">EnvironmentPropertySource</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">300</p></td> +</tr> +<tr> +<td class="tableblock halign-left valign-top"><p class="tableblock">System Properties</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">SystemPropertySource</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">400</p></td> +</tr> +</tbody> +</table> +</div> +<div class="sect2"> +<h3 id="_abstract_class_propertiesfilepropertysource">Abstract Class PropertiesFilePropertySource</h3> +<div class="paragraph"> +<p>The abstract class PropertiesFilePropertySource can be used for implementing a PropertySource based on a URL +instance that points to a .properites file. It requires a URL to be passed on the constructor:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-java" data-lang="java">PropertiesFilePropertySource(URL url);</code></pre> +</div> +</div> +<div class="sect3"> +<h4 id="_abstract_class_propertiespropertysource">Abstract Class PropertiesPropertySource</h4> +<div class="paragraph"> +<p>The abstract class PropertiesPropertySource can be used for implementing a PropertySource based on a Properties +instance. It requires a PropertySource to be passed on the constructor:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-java" data-lang="java">PropertiesPropertySource(Properties properties);</code></pre> +</div> +</div> +</div> +<div class="sect3"> +<h4 id="_abstract_class_basepropertysource">Abstract Class BasePropertySource</h4> +<div class="paragraph"> +<p>The abstract class BasePropertySource can be used for implementing custom PropertySource classes. It requires only +one method to implemented:</p> +</div> +<div class="listingblock"> +<div class="title">Implementing a PropertySource using BasePropertySource</div> +<div class="content"> +<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public class MyPropertySource extends BasePropertySource{ + + public String getName(){ + // return a unique name for the property source, e.g. based on the underlying resource. This name also + // allows to access the property source later + } + + public Map<String, String> getProperties(){ + // Get a map with all properties provided by this property source + // If the property source is not scannable, the map returned may be empty. + // In the ladder case the +boolean isScannale()+ must be overridden, since + // by default property sources are assumed to be scannable. + } + +}</code></pre> +</div> +</div> +<div class="paragraph"> +<p>By default the ordinal of the property sources will be 1000, unless the key tamaya.ordinal asdefined in +PropertySource.TAMAYA_ORDINAL is present in the current PropertySource. Of course it is also possible to override +the inherited protected void initializeOrdinal(final int defaultOrdinal), or directly int getOrdinal().</p> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="CorePropertySourceProviders">Default PropertySourceProvider in Core</h3> +<div class="paragraph"> +<p>With org.apache.tamaya.core.provider.JavaConfigurationProvider there is also a default PropertySourceProvider +present that loads all .properties files found at META-INF/javaconfiguration.properties +and META-INF/javaconfiguration.xml.</p> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="Extensions">Adding Extensions</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>The Core module only implements the <a href="API.html">API</a>. Many users require/wish additional functionality from a +configuration system. Fortunately there are numerous extensions available that add further functionality. +Loading extensions hereby is trivial: you only are required to add the corresponding dependency to the classpath.</p> +</div> +<div class="paragraph"> +<p>For detailed information on the extensions available refer to the <a href="extensions.html">extensions documentation</a>.</p> +</div> +</div> +</div></p> + + <hr /> + </div> + </div> + <div> + <div id="push"></div> + + <div id="footer"> + <div class="container"> + <p class="muted credit">© 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-10-31</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/fa747cb8/devguide.html ---------------------------------------------------------------------- diff --git a/devguide.html b/devguide.html new file mode 100644 index 0000000..f39a1ca --- /dev/null +++ b/devguide.html @@ -0,0 +1,385 @@ +<!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: Development Guide</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: Development Guide</h1> + </div> + + <p><em>2016-10-31</em></p> + + <p><div class="sect1"> +<h2 id="_suggested_git_workflows">1. Suggested Git Workflows</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_avoid_git_pull">1.1. Avoid git pull!</h3> +<div class="paragraph"> +<p><code>git pull</code> should never get invoked if you have dirty files lying around +or if your branch is ahead of master. This will always lead to +some dirty artifacts in the commit history:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre>Merge branch 'master' of http://git-wip-us.apache.org/tamaya into master</pre> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_use_git_pull_rebase">1.2. Use git pull --rebase</h3> +<div class="paragraph"> +<p>An easy version for getting rid of the auto-merges is using</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre>$ git pull --rebase</pre> +</div> +</div> +<div class="paragraph"> +<p>Please note that this sometimes trashes your working tree if there +are unmergeable files around. Cleaning this up with a forced manual +rebase is not something we would recommend for a git beginner.</p> +</div> +</div> +<div class="sect2"> +<h3 id="_working_in_an_own_branch">1.3. Working in an own branch</h3> +<div class="paragraph"> +<p>This is actually the suggested way to prevent auto-merges. Create an own +branch where you do your feature work. Either do all your work in one +branch or create one branch per feature you are working on.</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre>$ git branch mybranch</pre> +</div> +</div> +<div class="paragraph"> +<p>After you finished your feature, first add (<code>git add</code>) and commit (<code>git commit</code>) your work. +Check with <code>git status</code> that you don’t have any dirty files and uncommitted +changes around. You can use <code>git stash</code> to 'backup' unfinished work.</p> +</div> +<div class="paragraph"> +<p>Then switch back to the master branch and pull changes +done by other committers in the meantime.</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre>$ git checkout master +$ git pull --rebase</pre> +</div> +</div> +<div class="paragraph"> +<p>You should now get all the changes done by other committers and +the will get applied to your local master branch. Now go back to +your private branch and rebase your locally performed work to the HEAD of master.</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre>$ git checkout mybranch +$ git rebase master</pre> +</div> +</div> +<div class="paragraph"> +<p>If you got conflicts, you will get lines with ">>>>" added to those +files. Resolve those conflicts manually, add them and finish the rebase.</p> +</div> +<div class="paragraph"> +<p>Check with <code>git-status</code> and <code>gitk</code> if the merge went well and the history now contains your changes. +If all is well, go back to the master branch and merge your changes in.</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre>$ git pull --rebase // (just for safety, you should see no changes) +$ git checkout master +$ git merge mybranch</pre> +</div> +</div> +<div class="paragraph"> +<p>Finally you can push your changes to the ASF git repo</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre>$ git push</pre> +</div> +</div> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="contributing-workflow">2. Contribution workflow</h2> +<div class="sectionbody"> +<div class="sect2"> +<h3 id="_creating_patches">2.1. Creating patches</h3> +<div class="paragraph"> +<p>You should use the following workflow, if you plan to contribute +patches or new features to Tamaya.</p> +</div> +<div class="paragraph"> +<p>First update you local copy of the repository:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre>$ git checkout master +$ git pull --rebase</pre> +</div> +</div> +<div class="paragraph"> +<p>Then create a new local branch for your work. It’s good practice to name +it after the corresponding JIRA issue.</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre>$ git checkout -b TAMAYA-XXX</pre> +</div> +</div> +<div class="paragraph"> +<p>Now you can start to work on your patch. When you are finished, commit your changes. But don’t forget to <strong>add the name +of the JIRA issue to the commit message</strong>.</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre>$ git add -am "TAMAYA-XXX: Fixed some issue"</pre> +</div> +</div> +<div class="paragraph"> +<p>For small patches we recommend to do a single commit containing your changes. For larger contributions you should try +to group your work into separate sub-tasks that you can commit one by one.</p> +</div> +<div class="paragraph"> +<p>Before you create your patch you should make sure that your local repository is up to date with the master repository. +This is very important especially if you work on your branch for a long time. Use the following commands to pull the +latest changes from the upstream repository and rebase your branch against the current master.</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre>$ git checkout master +$ git pull --rebase +$ git checkout TAMAYA-XXX +$ git rebase master</pre> +</div> +</div> +<div class="paragraph"> +<p>Now you are ready to create your patch:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre>$ git checkout TAMAYA-XXX +$ git format-patch --stdout master > ../TAMAYA-XXX.patch</pre> +</div> +</div> +<div class="paragraph"> +<p>Please attach the resulting patch file to the correspoding JIRA issue.</p> +</div> +</div> +<div class="sect2"> +<h3 id="_applying_patches">2.2. Applying patches</h3> +<div class="paragraph"> +<p>If you are a committer and want to apply a patch you should do so in a separate branch.</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre>$ git checkout -b TAMAYA-XXX</pre> +</div> +</div> +<div class="paragraph"> +<p>Then apply the patch using <code>git am</code> and rebase it against the master branch.</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre>$ git am < ../TAMAYA-XXX.patch +$ git rebase master</pre> +</div> +</div> +<div class="paragraph"> +<p>After reviewing the changes and testing the code, the changes are ready to +be merged into the master branch:</p> +</div> +<div class="listingblock"> +<div class="content"> +<pre>$ git checkout master +$ git merge TAMAYA-XXX +$ git branch -d TAMAYA-XXX</pre> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_discussion_workflow_optional">2.3. Discussion workflow (optional)</h3> +<div class="paragraph"> +<p>All discussions which lead to a decision take place on the mailing list. +Sometimes it’s required to show-case an idea esp. if the solution is +more than few lines. As shown above it makes sense to use local branches +for developing new parts. Git allows to push such local branches to a +public repository. So it’s easier to share it with the community +for discussing it. The following listings show an example in combination +with GitHub - for sure it works with any hosting platform like BitBucket, +Google-Code,…​ The only important part here is that such branches +<strong>NEVER</strong> get pushed to the main Apache repository to keep the commit history +as clean as possible.</p> +</div> +</div> +<div class="sect2"> +<h3 id="_initial_setup">2.4. Initial setup</h3> +<div class="listingblock"> +<div class="content"> +<pre>$ git clone https://git-wip-us.apache.org/repos/asf/incubator-tamaya.git +$ git remote add discuss https://[username]@github.com/[username]/[repo-name].git +$ git push -u discuss master</pre> +</div> +</div> +</div> +<div class="sect2"> +<h3 id="_branches_for_discussions">2.5. Branches for discussions</h3> +<div class="listingblock"> +<div class="content"> +<pre>$ git checkout -b TAMAYA-XXX # 1-n commits +$ git push discuss TAMAYA-XXX # share the link to the branch for the discussions</pre> +</div> +</div> +<div class="paragraph"> +<p><strong>If the community agrees on the suggested change, the implementation will be applied to the origin master. A committer +has to follow the steps described above for the basic workflow to keep the commit history simple, clean and straight. +A contributor has to follow the steps described above for creating a patch.</strong></p> +</div> +</div> +<div class="sect2"> +<h3 id="_delete_the_branch_again">2.6. Delete the branch again</h3> +<div class="listingblock"> +<div class="content"> +<pre>$ git push discuss :TAMAYA-XXX +$ git branch -d TAMAYA-XXX</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-10-31</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/fa747cb8/download.html ---------------------------------------------------------------------- diff --git a/download.html b/download.html new file mode 100644 index 0000000..a482e26 --- /dev/null +++ b/download.html @@ -0,0 +1,247 @@ +<!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="">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: Download</h1> + </div> + + <p><em>2016-10-31</em></p> + + <p><div id="preamble"> +<div class="sectionbody"> +<div class="paragraph"> +<p>The latest release is Apache Tamaya {tamaya_version_released}. +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>{tamaya_mvn_group_id}</groupId> + <artifactId>tamaya-api</artifactId> + <version>{tamaya_version_released}</version> +</dependency> +<dependency> + <groupId>{tamaya_mvn_group_id}</groupId> + <artifactId>tamaya-core</artifactId> + <version>{tamaya_version_released}</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="http://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="http://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="http://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="http://www.apache.org/dist/incubator/tamaya/" target="_blank">main distribution directory</a> +rather than from a +<a href="http://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-10-31</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/fa747cb8/examples.html ---------------------------------------------------------------------- diff --git a/examples.html b/examples.html new file mode 100644 index 0000000..d4255f8 --- /dev/null +++ b/examples.html @@ -0,0 +1,213 @@ +<!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="">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: Examples</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="_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-10-31</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/fa747cb8/extensions.html ---------------------------------------------------------------------- diff --git a/extensions.html b/extensions.html new file mode 100644 index 0000000..534d1be --- /dev/null +++ b/extensions.html @@ -0,0 +1,410 @@ +<!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-10-31</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-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> +</tbody> +</table> +</div> +<div class="sect2"> +<h3 id="_extensions">Extensions</h3> +<div class="paragraph"> +<p>Extensions in <em>draft state</em> are tested well and normally should have rather stable APIs. Nevertheless API changes may +still occurr, but we try to prevent such changes if possible.</p> +</div> +<div class="paragraph"> +<p>NOTE All extensions currently run on Java 7 as well as on Java 8.</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"><p class="tableblock">org.apache.tamaya.ext:tamaya-builder</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Provides a fluent-style builder for configurations</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_builder.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-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</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-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-model</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Provides support documenting ang validating configuration during runtime.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_model.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-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-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-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-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> +</tbody> +</table> +</div> +<div class="sect2"> +<h3 id="_integrations">Integrations</h3> +<div class="paragraph"> +<p>These extensions integrate/bridge Tamayas functionality with other frameworks turning their configuration capabilities +from a sledgehammer to a scalpell:</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"><p class="tableblock">org.apache.tamaya.ext:tamaya-cdi</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Java EE/standalone compliant CDI integration</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-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-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> +<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> +</tbody> +</table> +</div> +<div class="sect2"> +<h3 id="_extensions_in_experimental_stage">Extensions in Experimental Stage</h3> +<div class="paragraph"> +<p>Extensions in <em>experimental mode</em> may still be under discussions. API changes may still happen, so use them +very carefully and especially give us feedback, so we can improve them before progressing to <em>draft</em> state.</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"><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-staged</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Simple configuration extension to add staged config.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="extensions/mod_metamodel-staged.html">Documentation</a></p></td> +</tr> +</tbody> +</table> +</div> +<div class="sect2"> +<h3 id="_integrations_in_experimental_stage">Integrations in Experimental Stage</h3> +<div class="paragraph"> +<p>Integrations in <em>experimental mode</em> may still be under discussions, or may even not compile ! API changes may still happen, so use them +very carefully and especially give us feedback, so we can improve them before progressing to <em>draft</em> state.</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"><p class="tableblock">org.apache.tamaya.ext:tamaya-commons</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">Integration with Apache Commons Configuration.</p></td> +<td class="tableblock halign-left valign-top"><p class="tableblock">-</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-10-31</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>
