<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="de">
<head>
<!-- Generated by javadoc -->
<title>All Classes (Apache Tamaya Base 0.4-incubating API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="All Classes (Apache Tamaya Base 0.4-incubating API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":2,"i1":2,"i2":2,"i3":2,"i4":2,"i5":2,"i6":2,"i7":2,"i8":2,"i9":2,"i10":4,"i11":2,"i12":2,"i13":1,"i14":2,"i15":8,"i16":1,"i17":1,"i18":1,"i19":1,"i20":1,"i21":2,"i22":1,"i23":1,"i24":1,"i25":2,"i26":2,"i27":2,"i28":2,"i29":2,"i30":2,"i31":2,"i32":2,"i33":2,"i34":2,"i35":2,"i36":2,"i37":2,"i38":2,"i39":2,"i40":2,"i41":2,"i42":2,"i43":32,"i44":2,"i45":2,"i46":2,"i47":2,"i48":2,"i49":2,"i50":2,"i51":2,"i52":2,"i53":2,"i54":2,"i55":2,"i56":2,"i57":2,"i58":1,"i59":2,"i60":2,"i61":2,"i62":2,"i63":2,"i64":2,"i65":2,"i66":2,"i67":2,"i68":2,"i69":2,"i70":2,"i71":1,"i72":2,"i73":1,"i74":2,"i75":2,"i76":1,"i77":2,"i78":2,"i79":1,"i80":2,"i81":4,"i82":2,"i83":2,"i84":1,"i85":2,"i86":2,"i87":2,"i88":2,"i89":2,"i90":2,"i91":2,"i92":2,"i93":2,"i94":2,"i95":2,"i96":2,"i97":2};
var tabs = {65535:["t0","All Classes"],1:["t1","Interface Summary"],2:["t2","Class Summary"],4:["t3","Enum Summary"],8:["t4","Exception Summary"],32:["t6","Annotation Types Summary"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "./";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="index.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<main role="main">
<div class="header">
<h1 title="All&amp;nbsp;Classes" class="title">All&nbsp;Classes</h1>
</div>
<div class="allClassesContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary">
<caption><span id="t0" class="activeTableTab"><span>All Classes</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Interface Summary</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Class Summary</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Enum Summary</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Exception Summary</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Annotation Types Summary</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/core/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.core.propertysource">BasePropertySource</a></td>
<th class="colLast" scope="row">Deprecated.
<div class="deprecationComment">Use <a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource"><code>BasePropertySource</code></a></div>
</th>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BasePropertySource</a></td>
<th class="colLast" scope="row">
<div class="block">Abstract <a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi"><code>PropertySource</code></a> that allows setting a default ordinal to be used, if no
 ordinal is provided with the config.</div>
</th>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/BigDecimalConverter.html" title="class in org.apache.tamaya.core.internal.converters">BigDecimalConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to BigDecimal, the supported format is one of the following:
 
     232573527352.76352753
     -23257352.735276352753
     -0xFFFFFF (integral numbers only)
     -0XFFFFAC (integral numbers only)
     0xFFFFFF (integral numbers only)
     0XFFFFAC (integral numbers only)
 </div>
</th>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/BigIntegerConverter.html" title="class in org.apache.tamaya.core.internal.converters">BigIntegerConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to BigInteger, the supported format is one of the following:
 
     0xFFFFFF
     0XFFFFAC
     23257352735276352753
     -0xFFFFFF
     -0XFFFFAC
     -23257352735276352753
 </div>
</th>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/BooleanConverter.html" title="class in org.apache.tamaya.core.internal.converters">BooleanConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to Boolean.</div>
</th>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySource</a></td>
<th class="colLast" scope="row">
<div class="block">A Buildable property source.</div>
</th>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySource.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">The type Builder.</div>
</th>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySourceProvider.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySourceProvider</a></td>
<th class="colLast" scope="row">
<div class="block">A Buildable property source.</div>
</th>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySourceProvider.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySourceProvider.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">The type Builder.</div>
</th>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/ByteConverter.html" title="class in org.apache.tamaya.core.internal.converters">ByteConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to Byte, the supported format is one of the following:
 
     123 (byte createValue)
     0xFF (byte createValue)
     0XDF (byte createValue)
     0D1 (byte createValue)
     -123 (byte createValue)
     -0xFF (byte createValue)
     -0XDF (byte createValue)
     -0D1 (byte createValue)
     MIN_VALUE (ignoring case)
     MIN (ignoring case)
     MAX_VALUE (ignoring case)
     MAX (ignoring case)
 </div>
</th>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/spi/ChangeSupport.html" title="enum in org.apache.tamaya.spi">ChangeSupport</a></td>
<th class="colLast" scope="row">
<div class="block">Enum type that describges the config change capabilities of a property source.</div>
</th>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/CharConverter.html" title="class in org.apache.tamaya.core.internal.converters">CharConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to Character, the supported format is one of the following:
 
     'a'
     123 (byte createValue)
     0xFF (byte createValue)
     0XDF (byte createValue)
     0D1 (byte createValue)
 </div>
</th>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/ClassConverter.html" title="class in org.apache.tamaya.core.internal.converters">ClassConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to Class, hereby using the following classloaders:
 
     The current ThreadContext ClassLoader
     The Classloader of this class
     The system Classloader
 </div>
</th>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/spi/ClassloaderAware.html" title="interface in org.apache.tamaya.spi">ClassloaderAware</a></td>
<th class="colLast" scope="row">
<div class="block">This interface models a provider that serves configuration properties that is also dependent on the
 target classloader of the current configuration.</div>
</th>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/propertysource/CLIPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">CLIPropertySource</a></td>
<th class="colLast" scope="row">
<div class="block">PropertySource that allows adding the program's main arguments as configuration entries.</div>
</th>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/ConfigException.html" title="class in org.apache.tamaya">ConfigException</a></td>
<th class="colLast" scope="row">
<div class="block">Exception class (runtime exception) for configuration issues.</div>
</th>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/ConfigOperator.html" title="interface in org.apache.tamaya">ConfigOperator</a></td>
<th class="colLast" scope="row">Deprecated.
<div class="deprecationComment">Use <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/UnaryOperator.html?is-external=true" title="class or interface in java.util.function" class="externalLink"><code>UnaryOperator</code></a></div>
</th>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/ConfigQuery.html" title="interface in org.apache.tamaya">ConfigQuery</a>&lt;<a href="org/apache/tamaya/ConfigQuery.html" title="type parameter in ConfigQuery">T</a>&gt;</td>
<th class="colLast" scope="row">Deprecated.
<div class="deprecationComment">Use <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function" class="externalLink"><code>Function</code></a></div>
</th>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></td>
<th class="colLast" scope="row">
<div class="block">A configuration models an aggregated setPropertyValue of current properties, identified by
 a unique key, but adds higher level access functions to
 a <a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi"><code>PropertySource</code></a>.</div>
</th>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></td>
<th class="colLast" scope="row">
<div class="block">A builder for creating new instances of <a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya"><code>Configuration</code></a>.</div>
</th>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/spi/ConfigurationContext.html" title="interface in org.apache.tamaya.spi">ConfigurationContext</a></td>
<th class="colLast" scope="row">
<div class="block">Central SPI for programmatically dealing with the setup of the configuration system.</div>
</th>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/ConfigurationProvider.html" title="class in org.apache.tamaya">ConfigurationProvider</a></td>
<th class="colLast" scope="row">Deprecated.
<div class="deprecationComment">Use static methods of <a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya"><code>Configuration</code></a></div>
</th>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/spi/ConfigurationProviderSpi.html" title="interface in org.apache.tamaya.spi">ConfigurationProviderSpi</a></td>
<th class="colLast" scope="row">
<div class="block">SPI that must be implemented to provide the component that manages all <a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya"><code>Configuration</code></a>
 instances in a system.</div>
</th>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/ConfigurationSnapshot.html" title="interface in org.apache.tamaya">ConfigurationSnapshot</a></td>
<th class="colLast" scope="row">
<div class="block">An immutable configuration snapshot containing the given keys only.</div>
</th>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/ConfigValueEvaluator.html" title="interface in org.apache.tamaya.spisupport">ConfigValueEvaluator</a></td>
<th class="colLast" scope="row">
<div class="block">Component SPI which encapsulates the evaluation of a single or full <b>raw</b> createValue
 for a <a href="org/apache/tamaya/spi/ConfigurationContext.html" title="interface in org.apache.tamaya.spi"><code>ConfigurationContext</code></a>.</div>
</th>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/spi/ConversionContext.html" title="class in org.apache.tamaya.spi">ConversionContext</a></td>
<th class="colLast" scope="row">
<div class="block">A conversion context containing all the required values for implementing conversion.</div>
</th>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/spi/ConversionContext.Builder.html" title="class in org.apache.tamaya.spi">ConversionContext.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">Builder to create new instances of <a href="org/apache/tamaya/spi/ConversionContext.html" title="class in org.apache.tamaya.spi"><code>ConversionContext</code></a>.</div>
</th>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/CoreConfiguration.html" title="class in org.apache.tamaya.core.internal">CoreConfiguration</a></td>
<th class="colLast" scope="row">
<div class="block">Default implementation of <a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi"><code>ConfigurationBuilder</code></a>.</div>
</th>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/CoreConfigurationBuilder.html" title="class in org.apache.tamaya.core.internal">CoreConfigurationBuilder</a></td>
<th class="colLast" scope="row">
<div class="block">Default implementation of <a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi"><code>ConfigurationBuilder</code></a>.</div>
</th>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/CoreConfigurationProvider.html" title="class in org.apache.tamaya.core.internal">CoreConfigurationProvider</a></td>
<th class="colLast" scope="row">
<div class="block">Implementation of the Configuration API.</div>
</th>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/CurrencyConverter.html" title="class in org.apache.tamaya.core.internal.converters">CurrencyConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to Currency, the supported format is one of the following:
 
     CHF (currency code)
     123 (numeric currency createValue &gt;
     = 0)
     DE (ISO 2-digit country)
     de_DE, de_DE_123 (Locale)
 </div>
</th>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/DefaultConfiguration.html" title="class in org.apache.tamaya.spisupport">DefaultConfiguration</a></td>
<th class="colLast" scope="row">
<div class="block">Implementation of the Configuration API.</div>
</th>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></td>
<th class="colLast" scope="row">
<div class="block">Default implementation of <a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi"><code>ConfigurationBuilder</code></a>.</div>
</th>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/DefaultConfigurationContext.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationContext</a></td>
<th class="colLast" scope="row">
<div class="block">Default implementation of a simple <a href="org/apache/tamaya/spi/ConfigurationContext.html" title="interface in org.apache.tamaya.spi"><code>ConfigurationContext</code></a>.</div>
</th>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationSnapshot</a></td>
<th class="colLast" scope="row">
<div class="block">/**
 Configuration implementation that stores all current values of a given (possibly dynamic, contextual and non server
 capable instance) and is fully serializable.</div>
</th>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/DefaultConfigValueEvaluator.html" title="class in org.apache.tamaya.spisupport">DefaultConfigValueEvaluator</a></td>
<th class="colLast" scope="row">
<div class="block">Implementation of the Configuration API.</div>
</th>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/DefaultMetaDataProvider.html" title="class in org.apache.tamaya.spisupport">DefaultMetaDataProvider</a></td>
<th class="colLast" scope="row">
<div class="block">Default metadata provider implementation, which searches for all kind of entries
 formatted as <code>[(META)key].metaKey=metaValue</code>.</div>
</th>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/DefaultPropertySourceSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultPropertySourceSnapshot</a></td>
<th class="colLast" scope="row">
<div class="block">PropertySource implementation that stores all current values of a given (possibly dynamic, contextual and non server
 capable instance) and is fully serializable.</div>
</th>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/DefaultServiceContext.html" title="class in org.apache.tamaya.spisupport">DefaultServiceContext</a></td>
<th class="colLast" scope="row">
<div class="block">This class implements the (default) <a href="org/apache/tamaya/spi/ServiceContext.html" title="interface in org.apache.tamaya.spi"><code>ServiceContext</code></a> interface and hereby uses the JDK
 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ServiceLoader.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>ServiceLoader</code></a> to load the services required.</div>
</th>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/DoubleConverter.html" title="class in org.apache.tamaya.core.internal.converters">DoubleConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to Double, using the Java number syntax:
 (-)?</div>
</th>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/DurationConverter.html" title="class in org.apache.tamaya.core.internal.converters">DurationConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to Boolean.</div>
</th>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/EnumConverter.html" title="class in org.apache.tamaya.spisupport">EnumConverter</a>&lt;<a href="org/apache/tamaya/spisupport/EnumConverter.html" title="type parameter in EnumConverter">T</a>&gt;</td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to the given enum type.</div>
</th>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">EnvironmentPropertySource</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi"><code>PropertySource</code></a> to access environment variables via Tamaya
 which are setCurrent via <code>export VARIABLE=createValue</code> on UNIX systems or
 <code>setCurrent VARIABLE=createValue</code> on Windows systems.</div>
</th>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/spi/Experimental.html" title="annotation in org.apache.tamaya.spi">Experimental</a></td>
<th class="colLast" scope="row">
<div class="block">This is a simple annotation for flaging out functionality or features the Tamaya team is not sure if it is already
 stabilized, so use it with some caution.</div>
</th>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/FileConverter.html" title="class in org.apache.tamaya.core.internal.converters">FileConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to File, using new File(createValue).</div>
</th>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/spi/FilterContext.html" title="class in org.apache.tamaya.spi">FilterContext</a></td>
<th class="colLast" scope="row">
<div class="block">A filter configurationContext containing all the required values for implementing filtering.</div>
</th>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/FloatConverter.html" title="class in org.apache.tamaya.core.internal.converters">FloatConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to Float, using the Java number syntax:
 (-)?</div>
</th>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/InstantConverter.html" title="class in org.apache.tamaya.core.internal.converters">InstantConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to Instant.</div>
</th>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/IntegerConverter.html" title="class in org.apache.tamaya.core.internal.converters">IntegerConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to Integer, the supported format is one of the following:
 
     123 (byte createValue)
     0xFF (byte createValue)
     0XDF (byte createValue)
     0D1 (byte createValue)
     -123 (byte createValue)
     -0xFF (byte createValue)
     -0XDF (byte createValue)
     -0D1 (byte createValue)
     MIN_VALUE (ignoring case)
     MIN (ignoring case)
     MAX_VALUE (ignoring case)
     MAX (ignoring case)
 </div>
</th>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/propertysource/JavaConfigurationPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">JavaConfigurationPropertySource</a></td>
<th class="colLast" scope="row">
<div class="block">Provider which reads all <a href="org/apache/tamaya/spisupport/propertysource/JavaConfigurationPropertySource.html#DEFAULT_SIMPLE_PROPERTIES_FILE_NAME">"META-INF/javaconfiguration.properties"</a> and
 <a href="org/apache/tamaya/spisupport/propertysource/JavaConfigurationPropertySource.html#DEFAULT_XML_PROPERTIES_FILE_NAME">"META-INF/javaconfiguration.xml"</a> files found in the
 classpath.</div>
</th>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/spi/ListValue.html" title="class in org.apache.tamaya.spi">ListValue</a></td>
<th class="colLast" scope="row">
<div class="block">Class modelling the result of a request for a property createValue.</div>
</th>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/LocalDateConverter.html" title="class in org.apache.tamaya.core.internal.converters">LocalDateConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to LocalDate.</div>
</th>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/LocalDateTimeConverter.html" title="class in org.apache.tamaya.core.internal.converters">LocalDateTimeConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to LocalDateTime.</div>
</th>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/LocalTimeConverter.html" title="class in org.apache.tamaya.core.internal.converters">LocalTimeConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to LocalTime.</div>
</th>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/LongConverter.html" title="class in org.apache.tamaya.core.internal.converters">LongConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to Long, the supported format is one of the following:
 
     123 (byte createValue)
     0xFF (byte createValue)
     0XDF (byte createValue)
     0D1 (byte createValue)
     -123 (byte createValue)
     -0xFF (byte createValue)
     -0XDF (byte createValue)
     -0D1 (byte createValue)
     MIN_VALUE (ignoring case)
     MIN (ignoring case)
     MAX_VALUE (ignoring case)
     MAX (ignoring case)
 </div>
</th>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/examples/custompropertysource/Main.html" title="class in org.apache.tamaya.examples.custompropertysource">Main</a></td>
<th class="colLast" scope="row">
<div class="block">Small example demonstrating the usage of a self-written <a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi"><code>PropertySource</code></a>
 and <a href="org/apache/tamaya/spi/PropertySourceProvider.html" title="interface in org.apache.tamaya.spi"><code>PropertySourceProvider</code></a>.</div>
</th>
</tr>
<tr id="i56" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/examples/minimal/Main.html" title="class in org.apache.tamaya.examples.minimal">Main</a></td>
<th class="colLast" scope="row">
<div class="block">Minimal example showing how to use Tamaya in the simplest possible way.</div>
</th>
</tr>
<tr id="i57" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/propertysource/MapPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">MapPropertySource</a></td>
<th class="colLast" scope="row">
<div class="block">Simple <a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi"><code>PropertySource</code></a> implementation that just takes a Map and an (optional) priority.</div>
</th>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/MetadataProvider.html" title="interface in org.apache.tamaya.spisupport">MetadataProvider</a></td>
<th class="colLast" scope="row">
<div class="block">This interface allows to plugin different metadata mechanism.</div>
</th>
</tr>
<tr id="i59" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/MonthDayConverter.html" title="class in org.apache.tamaya.core.internal.converters">MonthDayConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to Year.</div>
</th>
</tr>
<tr id="i60" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/NumberConverter.html" title="class in org.apache.tamaya.core.internal.converters">NumberConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to Number.</div>
</th>
</tr>
<tr id="i61" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></td>
<th class="colLast" scope="row">
<div class="block">Class modelling the result of a request for a property value.</div>
</th>
</tr>
<tr id="i62" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/OffsetDateTimeConverter.html" title="class in org.apache.tamaya.core.internal.converters">OffsetDateTimeConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to OffsetDateTime.</div>
</th>
</tr>
<tr id="i63" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/OffsetTimeConverter.html" title="class in org.apache.tamaya.core.internal.converters">OffsetTimeConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to OffsetTime.</div>
</th>
</tr>
<tr id="i64" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/OptionalConverter.html" title="class in org.apache.tamaya.core.internal.converters">OptionalConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to Optional.</div>
</th>
</tr>
<tr id="i65" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/core/OSGIActivator.html" title="class in org.apache.tamaya.core">OSGIActivator</a></td>
<th class="colLast" scope="row">
<div class="block">A bundle activator that registers the <a href="org/apache/tamaya/core/internal/OSGIServiceLoader.html" title="class in org.apache.tamaya.core.internal"><code>OSGIServiceLoader</code></a>.</div>
</th>
</tr>
<tr id="i66" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/OSGIServiceContext.html" title="class in org.apache.tamaya.core.internal">OSGIServiceContext</a></td>
<th class="colLast" scope="row">
<div class="block">ServiceContext implementation based on OSGI Service mechanisms.</div>
</th>
</tr>
<tr id="i67" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/OSGIServiceLoader.html" title="class in org.apache.tamaya.core.internal">OSGIServiceLoader</a></td>
<th class="colLast" scope="row">
<div class="block">A bundle listener that registers services defined in META-INF/services, when
 a bundle is starting.</div>
</th>
</tr>
<tr id="i68" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/PathConverter.html" title="class in org.apache.tamaya.core.internal.converters">PathConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to Path, using FileSystem.getPath(createValue).</div>
</th>
</tr>
<tr id="i69" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/PriorityServiceComparator.html" title="class in org.apache.tamaya.spisupport">PriorityServiceComparator</a></td>
<th class="colLast" scope="row">
<div class="block">Comparator implementation for ordering services loaded based on their increasing priority values.</div>
</th>
</tr>
<tr id="i70" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/propertysource/PropertiesResourcePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">PropertiesResourcePropertySource</a></td>
<th class="colLast" scope="row">
<div class="block">Simple <a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi"><code>PropertySource</code></a>, with a fixed ordinal that reads a .properties file from a given URL.</div>
</th>
</tr>
<tr id="i71" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/spi/PropertyConverter.html" title="interface in org.apache.tamaya.spi">PropertyConverter</a>&lt;<a href="org/apache/tamaya/spi/PropertyConverter.html" title="type parameter in PropertyConverter">T</a>&gt;</td>
<th class="colLast" scope="row">
<div class="block">Interface for an property that converts a configured String into something else.</div>
</th>
</tr>
<tr id="i72" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/PropertyConverterManager.html" title="class in org.apache.tamaya.spisupport">PropertyConverterManager</a></td>
<th class="colLast" scope="row">
<div class="block">Manager that deals with <a href="org/apache/tamaya/spi/PropertyConverter.html" title="interface in org.apache.tamaya.spi"><code>PropertyConverter</code></a> instances.</div>
</th>
</tr>
<tr id="i73" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/spi/PropertyFilter.html" title="interface in org.apache.tamaya.spi">PropertyFilter</a></td>
<th class="colLast" scope="row">
<div class="block">Interface for filtering the current mapProperties of properties during the evaluation of the chain of PropertySources.</div>
</th>
</tr>
<tr id="i74" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/PropertyFilterComparator.html" title="class in org.apache.tamaya.spisupport">PropertyFilterComparator</a></td>
<th class="colLast" scope="row">
<div class="block">Comparator for <a href="org/apache/tamaya/spi/PropertyFilter.html" title="interface in org.apache.tamaya.spi"><code>PropertyFilter</code></a>s based on their priority annotations.</div>
</th>
</tr>
<tr id="i75" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/PropertyFiltering.html" title="class in org.apache.tamaya.spisupport">PropertyFiltering</a></td>
<th class="colLast" scope="row">
<div class="block">Implementation of the Configuration API.</div>
</th>
</tr>
<tr id="i76" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a></td>
<th class="colLast" scope="row">
<div class="block">This interface models a provider that serves configuration properties.</div>
</th>
</tr>
<tr id="i77" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/PropertySourceChangeSupport.html" title="class in org.apache.tamaya.spisupport">PropertySourceChangeSupport</a></td>
<th class="colLast" scope="row">
<div class="block">Simple support class for helping with change management on property sources.</div>
</th>
</tr>
<tr id="i78" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/PropertySourceComparator.html" title="class in org.apache.tamaya.spisupport">PropertySourceComparator</a></td>
<th class="colLast" scope="row">
<div class="block">Comparator for ordering of <a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi"><code>PropertySource</code></a>s based on their ordinal method and class name.</div>
</th>
</tr>
<tr id="i79" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/spi/PropertySourceProvider.html" title="interface in org.apache.tamaya.spi">PropertySourceProvider</a></td>
<th class="colLast" scope="row">
<div class="block">Implement this interfaces to provide a PropertySource provider which
 is able to register multiple PropertySources.</div>
</th>
</tr>
<tr id="i80" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></td>
<th class="colLast" scope="row">
<div class="block">Class modelling the result of a request for a property createValue.</div>
</th>
</tr>
<tr id="i81" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/spi/PropertyValue.ValueType.html" title="enum in org.apache.tamaya.spi">PropertyValue.ValueType</a></td>
<th class="colLast" scope="row">
<div class="block">Enum of the different supported value types.</div>
</th>
</tr>
<tr id="i82" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/ReflectionUtil.html" title="class in org.apache.tamaya.spisupport">ReflectionUtil</a></td>
<th class="colLast" scope="row">
<div class="block">Small utility class used by other parts.</div>
</th>
</tr>
<tr id="i83" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/RegexPropertyFilter.html" title="class in org.apache.tamaya.spisupport">RegexPropertyFilter</a></td>
<th class="colLast" scope="row">
<div class="block">Predicate filtering using a regex expression operating on the key.</div>
</th>
</tr>
<tr id="i84" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/spi/ServiceContext.html" title="interface in org.apache.tamaya.spi">ServiceContext</a></td>
<th class="colLast" scope="row">
<div class="block">This class models the component that is managing the lifecycle current the
 services used by the Configuration API.</div>
</th>
</tr>
<tr id="i85" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/spi/ServiceContextManager.html" title="class in org.apache.tamaya.spi">ServiceContextManager</a></td>
<th class="colLast" scope="row">
<div class="block">This singleton provides access to the services available in the current <a href="org/apache/tamaya/spi/ServiceContext.html" title="interface in org.apache.tamaya.spi"><code>ServiceContext</code></a>.</div>
</th>
</tr>
<tr id="i86" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/ShortConverter.html" title="class in org.apache.tamaya.core.internal.converters">ShortConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to Short, the supported format is one of the following:
 
     123 (byte createValue)
     0xFF (byte createValue)
     0XDF (byte createValue)
     0D1 (byte createValue)
     -123 (byte createValue)
     -0xFF (byte createValue)
     -0XDF (byte createValue)
     -0D1 (byte createValue)
     MIN_VALUE (ignoring case)
     MIN (ignoring case)
     MAX_VALUE (ignoring case)
     MAX (ignoring case)
 </div>
</th>
</tr>
<tr id="i87" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/examples/custompropertysource/SimplePropertySource.html" title="class in org.apache.tamaya.examples.custompropertysource">SimplePropertySource</a></td>
<th class="colLast" scope="row">
<div class="block">A simple PropertySource class.</div>
</th>
</tr>
<tr id="i88" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">SimplePropertySource</a></td>
<th class="colLast" scope="row">
<div class="block">Simple implementation of a <a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi"><code>PropertySource</code></a> for
 simple property files and XML property files.</div>
</th>
</tr>
<tr id="i89" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource">SimplePropertySource.Builder</a></td>
<th class="colLast" scope="row">
<div class="block"><code>SimplePropertySource</code> builder static inner class.</div>
</th>
</tr>
<tr id="i90" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/examples/custompropertysource/SimplePropertySourceProvider.html" title="class in org.apache.tamaya.examples.custompropertysource">SimplePropertySourceProvider</a></td>
<th class="colLast" scope="row">
<div class="block">A simple PropertySource provider class.</div>
</th>
</tr>
<tr id="i91" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/SupplierConverter.html" title="class in org.apache.tamaya.core.internal.converters">SupplierConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to Supplier.</div>
</th>
</tr>
<tr id="i92" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/spisupport/propertysource/SystemPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">SystemPropertySource</a></td>
<th class="colLast" scope="row">
<div class="block">This <a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi"><code>PropertySource</code></a> manages the system properties.</div>
</th>
</tr>
<tr id="i93" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/TypeLiteral.html" title="class in org.apache.tamaya">TypeLiteral</a>&lt;<a href="org/apache/tamaya/TypeLiteral.html" title="type parameter in TypeLiteral">T</a>&gt;</td>
<th class="colLast" scope="row">
<div class="block">Class for instantiation of objects that represent parameterized types
 with current parameters.</div>
</th>
</tr>
<tr id="i94" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/URIConverter.html" title="class in org.apache.tamaya.core.internal.converters">URIConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to URI, using new URI(createValue).</div>
</th>
</tr>
<tr id="i95" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/URLConverter.html" title="class in org.apache.tamaya.core.internal.converters">URLConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to URL, using new URL(createValue).</div>
</th>
</tr>
<tr id="i96" class="altColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/YearConverter.html" title="class in org.apache.tamaya.core.internal.converters">YearConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to Year.</div>
</th>
</tr>
<tr id="i97" class="rowColor">
<td class="colFirst"><a href="org/apache/tamaya/core/internal/converters/YearMonthConverter.html" title="class in org.apache.tamaya.core.internal.converters">YearMonthConverter</a></td>
<th class="colLast" scope="row">
<div class="block">Converter, converting from String to YearMonth.</div>
</th>
</tr>
</table>
</li>
</ul>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="index.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2014&#x2013;2019 <a href="https://apache.org">Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>
