<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="de">
<head>
<!-- Generated by javadoc -->
<title>Index (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="Index (Apache Tamaya Base 0.4-incubating API)";
        }
    }
    catch(err) {
    }
//-->
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 class="navBarCell1Rev">Index</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="contentContainer"><a href="#I:A">A</a>&nbsp;<a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:Q">Q</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;<a href="#I:Y">Y</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes</a>&nbsp;<a href="allpackages-index.html">All&nbsp;Packages</a><a id="I:A">
<!--   -->
</a>
<h2 class="title">A</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#adapt(java.util.function.Function)">adapt(Function&lt;Configuration, T&gt;)</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Query a configuration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertySource.html#addChangeListener(java.util.function.BiConsumer)">addChangeListener(BiConsumer&lt;Set&lt;String&gt;, PropertySource&gt;)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a></dt>
<dd>
<div class="block">Add a change listener for this properrty source.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/PropertiesResourcePropertySource.html#addChangeListener(java.util.function.BiConsumer)">addChangeListener(BiConsumer&lt;Set&lt;String&gt;, PropertySource&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/PropertiesResourcePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">PropertiesResourcePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertySourceChangeSupport.html#addChangeListener(java.util.function.BiConsumer)">addChangeListener(BiConsumer&lt;Set&lt;String&gt;, PropertySource&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertySourceChangeSupport.html" title="class in org.apache.tamaya.spisupport">PropertySourceChangeSupport</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/CoreConfigurationBuilder.html#addCorePropertyConverters()">addCorePropertyConverters()</a></span> - Method in class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/CoreConfigurationBuilder.html" title="class in org.apache.tamaya.core.internal">CoreConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#addCorePropertyConverters()">addCorePropertyConverters()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#addCorePropertyResources(java.util.List)">addCorePropertyResources(List&lt;PropertySource&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#addDefaultPropertyConverters()">addDefaultPropertyConverters()</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Add all auto-discoverable property converters to the context built.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#addDefaultPropertyConverters()">addDefaultPropertyConverters()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#addDefaultPropertyFilters()">addDefaultPropertyFilters()</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Add all auto-discoverable property filters to the context built.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#addDefaultPropertyFilters()">addDefaultPropertyFilters()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#addDefaultPropertySources()">addDefaultPropertySources()</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Adds all registered (default) property sources to the context built.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#addDefaultPropertySources()">addDefaultPropertySources()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ListValue.html#addList()">addList()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ListValue.html" title="class in org.apache.tamaya.spi">ListValue</a></dt>
<dd>
<div class="block">Adds an anonymous array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ObjectValue.html#addList(java.lang.String)">addList(String)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></dt>
<dd>
<div class="block">Sets the given list value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ListValue.html#addObject()">addObject()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ListValue.html" title="class in org.apache.tamaya.spi">ListValue</a></dt>
<dd>
<div class="block">Adds an anonymous child createObject to the array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ObjectValue.html#addObject(java.lang.String)">addObject(String)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></dt>
<dd>
<div class="block">Sets the given object vaöue.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#addPropertyConverters(org.apache.tamaya.TypeLiteral,java.util.Collection)">addPropertyConverters(TypeLiteral&lt;T&gt;, Collection&lt;PropertyConverter&lt;T&gt;&gt;)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">This method can be used for adding <a href="org/apache/tamaya/spi/PropertyConverter.html" title="interface in org.apache.tamaya.spi"><code>PropertyConverter</code></a>s.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#addPropertyConverters(org.apache.tamaya.TypeLiteral,java.util.Collection)">addPropertyConverters(TypeLiteral&lt;T&gt;, Collection&lt;PropertyConverter&lt;T&gt;&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#addPropertyConverters(org.apache.tamaya.TypeLiteral,org.apache.tamaya.spi.PropertyConverter...)">addPropertyConverters(TypeLiteral&lt;T&gt;, PropertyConverter&lt;T&gt;...)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">This method can be used for adding <a href="org/apache/tamaya/spi/PropertyConverter.html" title="interface in org.apache.tamaya.spi"><code>PropertyConverter</code></a>s.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#addPropertyFilters(java.util.Collection)">addPropertyFilters(Collection&lt;PropertyFilter&gt;)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Adds the given <a href="org/apache/tamaya/spi/PropertyFilter.html" title="interface in org.apache.tamaya.spi"><code>PropertyFilter</code></a> instances, hereby the instances are added
 to the end of the createList with highest priority.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#addPropertyFilters(java.util.Collection)">addPropertyFilters(Collection&lt;PropertyFilter&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#addPropertyFilters(org.apache.tamaya.spi.PropertyFilter...)">addPropertyFilters(PropertyFilter...)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Adds the given <a href="org/apache/tamaya/spi/PropertyFilter.html" title="interface in org.apache.tamaya.spi"><code>PropertyFilter</code></a> instances, hereby the instances are added
 to the end of the createList with highest priority.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#addPropertySources(java.util.Collection)">addPropertySources(Collection&lt;PropertySource&gt;)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">This method can be used for programmatically adding <a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi"><code>PropertySource</code></a>s.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#addPropertySources(java.util.Collection)">addPropertySources(Collection&lt;PropertySource&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>
<div class="block">Adds the given sources as property sources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#addPropertySources(org.apache.tamaya.spi.PropertySource...)">addPropertySources(PropertySource...)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">This method can be used for adding <a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi"><code>PropertySource</code></a>s.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ListValue.html#addPropertyValue(org.apache.tamaya.spi.PropertyValue)">addPropertyValue(PropertyValue)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ListValue.html" title="class in org.apache.tamaya.spi">ListValue</a></dt>
<dd>
<div class="block">Adds a createValue to the array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConversionContext.html#addSupportedFormats(java.lang.Class,java.lang.String...)">addSupportedFormats(Class&lt;?&gt;, String...)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConversionContext.html" title="class in org.apache.tamaya.spi">ConversionContext</a></dt>
<dd>
<div class="block">Allows to addPropertyValue information on the supported/tried formats, which can be shown to the user, especially when
 conversion failed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConversionContext.Builder.html#addSupportedFormats(java.lang.Class,java.lang.String...)">addSupportedFormats(Class&lt;?&gt;, String...)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConversionContext.Builder.html" title="class in org.apache.tamaya.spi">ConversionContext.Builder</a></dt>
<dd>
<div class="block">Add the formats provided by a <a href="org/apache/tamaya/spi/PropertyConverter.html" title="interface in org.apache.tamaya.spi"><code>PropertyConverter</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ListValue.html#addValue(java.lang.String)">addValue(String)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ListValue.html" title="class in org.apache.tamaya.spi">ListValue</a></dt>
<dd>
<div class="block">Adds an anonymous text value to the array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ListValue.html#addValues(java.lang.String...)">addValues(String...)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ListValue.html" title="class in org.apache.tamaya.spi">ListValue</a></dt>
<dd>
<div class="block">Adds text values to the array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertyFiltering.html#applyFilter(org.apache.tamaya.spi.PropertyValue,org.apache.tamaya.spi.ConfigurationContext)">applyFilter(PropertyValue, ConfigurationContext)</a></span> - Static method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertyFiltering.html" title="class in org.apache.tamaya.spisupport">PropertyFiltering</a></dt>
<dd>
<div class="block">Filters a single createValue.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertyFiltering.html#applyFilters(java.util.List,org.apache.tamaya.spi.ConfigurationContext)">applyFilters(List&lt;PropertyValue&gt;, ConfigurationContext)</a></span> - Static method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertyFiltering.html" title="class in org.apache.tamaya.spisupport">PropertyFiltering</a></dt>
<dd>
<div class="block">Filters a single createValue.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertyFiltering.html#applyFilters(java.util.Map,org.apache.tamaya.spi.ConfigurationContext)">applyFilters(Map&lt;String, PropertyValue&gt;, ConfigurationContext)</a></span> - Static method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertyFiltering.html" title="class in org.apache.tamaya.spisupport">PropertyFiltering</a></dt>
<dd>
<div class="block">Filters all properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.ValueType.html#ARRAY">ARRAY</a></span> - org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.ValueType.html" title="enum in org.apache.tamaya.spi">PropertyValue.ValueType</a></dt>
<dd>
<div class="block">A multi valued property value, which contains unnamed child properties.</div>
</dd>
</dl>
<a id="I:B">
<!--   -->
</a>
<h2 class="title">B</h2>
<dl>
<dt><a href="org/apache/tamaya/core/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.core.propertysource"><span class="typeNameLink">BasePropertySource</span></a> - Class in <a href="org/apache/tamaya/core/propertysource/package-summary.html">org.apache.tamaya.core.propertysource</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<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>
</div>
</dd>
<dt><a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource"><span class="typeNameLink">BasePropertySource</span></a> - Class in <a href="org/apache/tamaya/spisupport/propertysource/package-summary.html">org.apache.tamaya.spisupport.propertysource</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/propertysource/BasePropertySource.html#%3Cinit%3E()">BasePropertySource()</a></span> - Constructor for class org.apache.tamaya.core.propertysource.<a href="org/apache/tamaya/core/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.core.propertysource">BasePropertySource</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Constructor, using a default ordinal of 0.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html#%3Cinit%3E()">BasePropertySource()</a></span> - Constructor for class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BasePropertySource</a></dt>
<dd>
<div class="block">Constructor, using a default ordinal of 0.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/propertysource/BasePropertySource.html#%3Cinit%3E(int)">BasePropertySource(int)</a></span> - Constructor for class org.apache.tamaya.core.propertysource.<a href="org/apache/tamaya/core/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.core.propertysource">BasePropertySource</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Constructor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html#%3Cinit%3E(int)">BasePropertySource(int)</a></span> - Constructor for class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BasePropertySource</a></dt>
<dd>
<div class="block">Constructor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/propertysource/BasePropertySource.html#%3Cinit%3E(java.lang.String)">BasePropertySource(String)</a></span> - Constructor for class org.apache.tamaya.core.propertysource.<a href="org/apache/tamaya/core/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.core.propertysource">BasePropertySource</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Constructor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html#%3Cinit%3E(java.lang.String)">BasePropertySource(String)</a></span> - Constructor for class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BasePropertySource</a></dt>
<dd>
<div class="block">Constructor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/propertysource/BasePropertySource.html#%3Cinit%3E(java.lang.String,int)">BasePropertySource(String, int)</a></span> - Constructor for class org.apache.tamaya.core.propertysource.<a href="org/apache/tamaya/core/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.core.propertysource">BasePropertySource</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Constructor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html#%3Cinit%3E(java.lang.String,int)">BasePropertySource(String, int)</a></span> - Constructor for class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BasePropertySource</a></dt>
<dd>
<div class="block">Constructor.</div>
</dd>
<dt><a href="org/apache/tamaya/core/internal/converters/BigDecimalConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">BigDecimalConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/BigDecimalConverter.html#%3Cinit%3E()">BigDecimalConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/BigDecimalConverter.html" title="class in org.apache.tamaya.core.internal.converters">BigDecimalConverter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/core/internal/converters/BigIntegerConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">BigIntegerConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<div class="block">Converter, converting from String to BigInteger, the supported format is one of the following:
 
     0xFFFFFF
     0XFFFFAC
     23257352735276352753
     -0xFFFFFF
     -0XFFFFAC
     -23257352735276352753
 </div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/BigIntegerConverter.html#%3Cinit%3E()">BigIntegerConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/BigIntegerConverter.html" title="class in org.apache.tamaya.core.internal.converters">BigIntegerConverter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/core/internal/converters/BooleanConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">BooleanConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<div class="block">Converter, converting from String to Boolean.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/BooleanConverter.html#%3Cinit%3E()">BooleanConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/BooleanConverter.html" title="class in org.apache.tamaya.core.internal.converters">BooleanConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/CoreConfigurationBuilder.html#build()">build()</a></span> - Method in class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/CoreConfigurationBuilder.html" title="class in org.apache.tamaya.core.internal">CoreConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#build()">build()</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Builds a new <a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya"><code>Configuration</code></a> based on the data in this builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConversionContext.Builder.html#build()">build()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConversionContext.Builder.html" title="class in org.apache.tamaya.spi">ConversionContext.Builder</a></dt>
<dd>
<div class="block">Builds a new context instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#build()">build()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>
<div class="block">Builds a new configuration based on the configuration of this builder instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.Builder.html#build()">build()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySource.Builder</a></dt>
<dd>
<div class="block">Build buildable property source.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySourceProvider.Builder.html#build()">build()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySourceProvider.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySourceProvider.Builder</a></dt>
<dd>
<div class="block">Build buildable property source.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.Builder.html#build()">build()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource">SimplePropertySource.Builder</a></dt>
<dd>
<div class="block">Returns a <code>SimplePropertySource</code> built from the parameters previously setCurrent.</div>
</dd>
<dt><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource"><span class="typeNameLink">BuildablePropertySource</span></a> - Class in <a href="org/apache/tamaya/spisupport/propertysource/package-summary.html">org.apache.tamaya.spisupport.propertysource</a></dt>
<dd>
<div class="block">A Buildable property source.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.html#%3Cinit%3E()">BuildablePropertySource()</a></span> - Constructor for class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource"><span class="typeNameLink">BuildablePropertySource.Builder</span></a> - Class in <a href="org/apache/tamaya/spisupport/propertysource/package-summary.html">org.apache.tamaya.spisupport.propertysource</a></dt>
<dd>
<div class="block">The type Builder.</div>
</dd>
<dt><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySourceProvider.html" title="class in org.apache.tamaya.spisupport.propertysource"><span class="typeNameLink">BuildablePropertySourceProvider</span></a> - Class in <a href="org/apache/tamaya/spisupport/propertysource/package-summary.html">org.apache.tamaya.spisupport.propertysource</a></dt>
<dd>
<div class="block">A Buildable property source.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySourceProvider.html#%3Cinit%3E()">BuildablePropertySourceProvider()</a></span> - Constructor for class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySourceProvider.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySourceProvider</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySourceProvider.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource"><span class="typeNameLink">BuildablePropertySourceProvider.Builder</span></a> - Class in <a href="org/apache/tamaya/spisupport/propertysource/package-summary.html">org.apache.tamaya.spisupport.propertysource</a></dt>
<dd>
<div class="block">The type Builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.html#builder()">builder()</a></span> - Static method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySource</a></dt>
<dd>
<div class="block">Builder builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySourceProvider.html#builder()">builder()</a></span> - Static method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySourceProvider.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySourceProvider</a></dt>
<dd>
<div class="block">Builder builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConversionContext.Builder.html#%3Cinit%3E(java.lang.String,org.apache.tamaya.TypeLiteral)">Builder(String, TypeLiteral&lt;?&gt;)</a></span> - Constructor for class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConversionContext.Builder.html" title="class in org.apache.tamaya.spi">ConversionContext.Builder</a></dt>
<dd>
<div class="block">Creates a new Builder instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConversionContext.Builder.html#%3Cinit%3E(org.apache.tamaya.Configuration,java.lang.String,org.apache.tamaya.TypeLiteral)">Builder(Configuration, String, TypeLiteral&lt;?&gt;)</a></span> - Constructor for class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConversionContext.Builder.html" title="class in org.apache.tamaya.spi">ConversionContext.Builder</a></dt>
<dd>
<div class="block">Creates a new Builder instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConversionContext.Builder.html#%3Cinit%3E(org.apache.tamaya.TypeLiteral)">Builder(TypeLiteral&lt;?&gt;)</a></span> - Constructor for class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConversionContext.Builder.html" title="class in org.apache.tamaya.spi">ConversionContext.Builder</a></dt>
<dd>
<div class="block">Creates a new Builder instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#built">built</a></span> - Variable in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>
<div class="block">Flag if the config has already been built.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/OSGIServiceLoader.html#bundleChanged(org.osgi.framework.BundleEvent)">bundleChanged(BundleEvent)</a></span> - Method in class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/OSGIServiceLoader.html" title="class in org.apache.tamaya.core.internal">OSGIServiceLoader</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.Builder.html#but()">but()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySource.Builder</a></dt>
<dd>
<div class="block">But builder.</div>
</dd>
<dt><a href="org/apache/tamaya/core/internal/converters/ByteConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">ByteConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/ByteConverter.html#%3Cinit%3E()">ByteConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/ByteConverter.html" title="class in org.apache.tamaya.core.internal.converters">ByteConverter</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:C">
<!--   -->
</a>
<h2 class="title">C</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertySourceChangeSupport.html#cancelSchedule()">cancelSchedule()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertySourceChangeSupport.html" title="class in org.apache.tamaya.spisupport">PropertySourceChangeSupport</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/spi/ChangeSupport.html" title="enum in org.apache.tamaya.spi"><span class="typeNameLink">ChangeSupport</span></a> - Enum in <a href="org/apache/tamaya/spi/package-summary.html">org.apache.tamaya.spi</a></dt>
<dd>
<div class="block">Enum type that describges the config change capabilities of a property source.</div>
</dd>
<dt><a href="org/apache/tamaya/core/internal/converters/CharConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">CharConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/CharConverter.html#%3Cinit%3E()">CharConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/CharConverter.html" title="class in org.apache.tamaya.core.internal.converters">CharConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#checkImmutable()">checkImmutable()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ServiceContext.html#checkPriorityAnnotation(java.lang.ClassLoader)">checkPriorityAnnotation(ClassLoader)</a></span> - Static method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ServiceContext.html" title="interface in org.apache.tamaya.spi">ServiceContext</a></dt>
<dd>
<div class="block">Checks if the <a href="https://docs.oracle.com/javase/8/docs/api/javax/annotation/Priority.html?is-external=true" title="class or interface in javax.annotation" class="externalLink"><code>Priority</code></a> annotation class is on the classpath.</div>
</dd>
<dt><a href="org/apache/tamaya/core/internal/converters/ClassConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">ClassConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/ClassConverter.html#%3Cinit%3E()">ClassConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/ClassConverter.html" title="class in org.apache.tamaya.core.internal.converters">ClassConverter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/spi/ClassloaderAware.html" title="interface in org.apache.tamaya.spi"><span class="typeNameLink">ClassloaderAware</span></a> - Interface in <a href="org/apache/tamaya/spi/package-summary.html">org.apache.tamaya.spi</a></dt>
<dd>
<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>
</dd>
<dt><a href="org/apache/tamaya/spisupport/propertysource/CLIPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource"><span class="typeNameLink">CLIPropertySource</span></a> - Class in <a href="org/apache/tamaya/spisupport/propertysource/package-summary.html">org.apache.tamaya.spisupport.propertysource</a></dt>
<dd>
<div class="block">PropertySource that allows adding the program's main arguments as configuration entries.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/CLIPropertySource.html#%3Cinit%3E()">CLIPropertySource()</a></span> - Constructor for class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/CLIPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">CLIPropertySource</a></dt>
<dd>
<div class="block">Creates a new instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/CLIPropertySource.html#%3Cinit%3E(int,java.lang.String...)">CLIPropertySource(int, String...)</a></span> - Constructor for class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/CLIPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">CLIPropertySource</a></dt>
<dd>
<div class="block">Creates a new instance, allows optionally to pass the main arguments.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/CLIPropertySource.html#%3Cinit%3E(java.lang.String...)">CLIPropertySource(String...)</a></span> - Constructor for class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/CLIPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">CLIPropertySource</a></dt>
<dd>
<div class="block">Creates a new instance, allows optionally to pass the main arguments.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PriorityServiceComparator.html#compare(java.lang.Object,java.lang.Object)">compare(Object, Object)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PriorityServiceComparator.html" title="class in org.apache.tamaya.spisupport">PriorityServiceComparator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertyFilterComparator.html#compare(org.apache.tamaya.spi.PropertyFilter,org.apache.tamaya.spi.PropertyFilter)">compare(PropertyFilter, PropertyFilter)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertyFilterComparator.html" title="class in org.apache.tamaya.spisupport">PropertyFilterComparator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertySourceComparator.html#compare(org.apache.tamaya.spi.PropertySource,org.apache.tamaya.spi.PropertySource)">compare(PropertySource, PropertySource)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertySourceComparator.html" title="class in org.apache.tamaya.spisupport">PropertySourceComparator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/examples/custompropertysource/SimplePropertySource.html#CONFIG_PROPERTIES_LOCATION">CONFIG_PROPERTIES_LOCATION</a></span> - Static variable in class org.apache.tamaya.examples.custompropertysource.<a href="org/apache/tamaya/examples/custompropertysource/SimplePropertySource.html" title="class in org.apache.tamaya.examples.custompropertysource">SimplePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/ConfigException.html" title="class in org.apache.tamaya"><span class="typeNameLink">ConfigException</span></a> - Exception in <a href="org/apache/tamaya/package-summary.html">org.apache.tamaya</a></dt>
<dd>
<div class="block">Exception class (runtime exception) for configuration issues.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/ConfigException.html#%3Cinit%3E(java.lang.String)">ConfigException(String)</a></span> - Constructor for exception org.apache.tamaya.<a href="org/apache/tamaya/ConfigException.html" title="class in org.apache.tamaya">ConfigException</a></dt>
<dd>
<div class="block">Creates a new configuration exception.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/ConfigException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">ConfigException(String, Throwable)</a></span> - Constructor for exception org.apache.tamaya.<a href="org/apache/tamaya/ConfigException.html" title="class in org.apache.tamaya">ConfigException</a></dt>
<dd>
<div class="block">Creates a new configuration exception.</div>
</dd>
<dt><a href="org/apache/tamaya/ConfigOperator.html" title="interface in org.apache.tamaya"><span class="typeNameLink">ConfigOperator</span></a> - Interface in <a href="org/apache/tamaya/package-summary.html">org.apache.tamaya</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<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>
</div>
</dd>
<dt><a href="org/apache/tamaya/ConfigQuery.html" title="interface in org.apache.tamaya"><span class="typeNameLink">ConfigQuery</span></a>&lt;<a href="org/apache/tamaya/ConfigQuery.html" title="type parameter in ConfigQuery">T</a>&gt; - Interface in <a href="org/apache/tamaya/package-summary.html">org.apache.tamaya</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<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>
</div>
</dd>
<dt><a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya"><span class="typeNameLink">Configuration</span></a> - Interface in <a href="org/apache/tamaya/package-summary.html">org.apache.tamaya</a></dt>
<dd>
<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>
</dd>
<dt><a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi"><span class="typeNameLink">ConfigurationBuilder</span></a> - Interface in <a href="org/apache/tamaya/spi/package-summary.html">org.apache.tamaya.spi</a></dt>
<dd>
<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>
</dd>
<dt><a href="org/apache/tamaya/spi/ConfigurationContext.html" title="interface in org.apache.tamaya.spi"><span class="typeNameLink">ConfigurationContext</span></a> - Interface in <a href="org/apache/tamaya/spi/package-summary.html">org.apache.tamaya.spi</a></dt>
<dd>
<div class="block">Central SPI for programmatically dealing with the setup of the configuration system.</div>
</dd>
<dt><a href="org/apache/tamaya/ConfigurationProvider.html" title="class in org.apache.tamaya"><span class="typeNameLink">ConfigurationProvider</span></a> - Class in <a href="org/apache/tamaya/package-summary.html">org.apache.tamaya</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<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>
</div>
</dd>
<dt><a href="org/apache/tamaya/spi/ConfigurationProviderSpi.html" title="interface in org.apache.tamaya.spi"><span class="typeNameLink">ConfigurationProviderSpi</span></a> - Interface in <a href="org/apache/tamaya/spi/package-summary.html">org.apache.tamaya.spi</a></dt>
<dd>
<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>
</dd>
<dt><a href="org/apache/tamaya/ConfigurationSnapshot.html" title="interface in org.apache.tamaya"><span class="typeNameLink">ConfigurationSnapshot</span></a> - Interface in <a href="org/apache/tamaya/package-summary.html">org.apache.tamaya</a></dt>
<dd>
<div class="block">An immutable configuration snapshot containing the given keys only.</div>
</dd>
<dt><a href="org/apache/tamaya/spisupport/ConfigValueEvaluator.html" title="interface in org.apache.tamaya.spisupport"><span class="typeNameLink">ConfigValueEvaluator</span></a> - Interface in <a href="org/apache/tamaya/spisupport/package-summary.html">org.apache.tamaya.spisupport</a></dt>
<dd>
<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>
</dd>
<dt><a href="org/apache/tamaya/spi/ConversionContext.html" title="class in org.apache.tamaya.spi"><span class="typeNameLink">ConversionContext</span></a> - Class in <a href="org/apache/tamaya/spi/package-summary.html">org.apache.tamaya.spi</a></dt>
<dd>
<div class="block">A conversion context containing all the required values for implementing conversion.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConversionContext.html#%3Cinit%3E(org.apache.tamaya.spi.ConversionContext.Builder)">ConversionContext(ConversionContext.Builder)</a></span> - Constructor for class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConversionContext.html" title="class in org.apache.tamaya.spi">ConversionContext</a></dt>
<dd>
<div class="block">Private constructor used from builder.</div>
</dd>
<dt><a href="org/apache/tamaya/spi/ConversionContext.Builder.html" title="class in org.apache.tamaya.spi"><span class="typeNameLink">ConversionContext.Builder</span></a> - Class in <a href="org/apache/tamaya/spi/package-summary.html">org.apache.tamaya.spi</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/BigDecimalConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/BigDecimalConverter.html" title="class in org.apache.tamaya.core.internal.converters">BigDecimalConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/BigIntegerConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/BigIntegerConverter.html" title="class in org.apache.tamaya.core.internal.converters">BigIntegerConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/BooleanConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/BooleanConverter.html" title="class in org.apache.tamaya.core.internal.converters">BooleanConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/ByteConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/ByteConverter.html" title="class in org.apache.tamaya.core.internal.converters">ByteConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/CharConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/CharConverter.html" title="class in org.apache.tamaya.core.internal.converters">CharConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/ClassConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/ClassConverter.html" title="class in org.apache.tamaya.core.internal.converters">ClassConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/CurrencyConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/CurrencyConverter.html" title="class in org.apache.tamaya.core.internal.converters">CurrencyConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/DoubleConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/DoubleConverter.html" title="class in org.apache.tamaya.core.internal.converters">DoubleConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/DurationConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/DurationConverter.html" title="class in org.apache.tamaya.core.internal.converters">DurationConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/FileConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/FileConverter.html" title="class in org.apache.tamaya.core.internal.converters">FileConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/FloatConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/FloatConverter.html" title="class in org.apache.tamaya.core.internal.converters">FloatConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/InstantConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/InstantConverter.html" title="class in org.apache.tamaya.core.internal.converters">InstantConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/IntegerConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/IntegerConverter.html" title="class in org.apache.tamaya.core.internal.converters">IntegerConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/LocalDateConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/LocalDateConverter.html" title="class in org.apache.tamaya.core.internal.converters">LocalDateConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/LocalDateTimeConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/LocalDateTimeConverter.html" title="class in org.apache.tamaya.core.internal.converters">LocalDateTimeConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/LocalTimeConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/LocalTimeConverter.html" title="class in org.apache.tamaya.core.internal.converters">LocalTimeConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/LongConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/LongConverter.html" title="class in org.apache.tamaya.core.internal.converters">LongConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/MonthDayConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/MonthDayConverter.html" title="class in org.apache.tamaya.core.internal.converters">MonthDayConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/NumberConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/NumberConverter.html" title="class in org.apache.tamaya.core.internal.converters">NumberConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/OffsetDateTimeConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/OffsetDateTimeConverter.html" title="class in org.apache.tamaya.core.internal.converters">OffsetDateTimeConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/OffsetTimeConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/OffsetTimeConverter.html" title="class in org.apache.tamaya.core.internal.converters">OffsetTimeConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/OptionalConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/OptionalConverter.html" title="class in org.apache.tamaya.core.internal.converters">OptionalConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/PathConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/PathConverter.html" title="class in org.apache.tamaya.core.internal.converters">PathConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/ShortConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/ShortConverter.html" title="class in org.apache.tamaya.core.internal.converters">ShortConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/SupplierConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/SupplierConverter.html" title="class in org.apache.tamaya.core.internal.converters">SupplierConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/URIConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/URIConverter.html" title="class in org.apache.tamaya.core.internal.converters">URIConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/URLConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/URLConverter.html" title="class in org.apache.tamaya.core.internal.converters">URLConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/YearConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/YearConverter.html" title="class in org.apache.tamaya.core.internal.converters">YearConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/YearMonthConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/YearMonthConverter.html" title="class in org.apache.tamaya.core.internal.converters">YearMonthConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyConverter.html" title="interface in org.apache.tamaya.spi">PropertyConverter</a></dt>
<dd>
<div class="block">Convert the given configuration keys from its String representation into the required target type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/EnumConverter.html#convert(java.lang.String,org.apache.tamaya.spi.ConversionContext)">convert(String, ConversionContext)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/EnumConverter.html" title="class in org.apache.tamaya.spisupport">EnumConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfiguration.html#convertValue(java.lang.String,java.util.List,org.apache.tamaya.TypeLiteral)">convertValue(String, List&lt;PropertyValue&gt;, TypeLiteral&lt;T&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfiguration.html" title="class in org.apache.tamaya.spisupport">DefaultConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/core/internal/CoreConfiguration.html" title="class in org.apache.tamaya.core.internal"><span class="typeNameLink">CoreConfiguration</span></a> - Class in <a href="org/apache/tamaya/core/internal/package-summary.html">org.apache.tamaya.core.internal</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/CoreConfiguration.html#%3Cinit%3E(org.apache.tamaya.spi.ConfigurationContext)">CoreConfiguration(ConfigurationContext)</a></span> - Constructor for class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/CoreConfiguration.html" title="class in org.apache.tamaya.core.internal">CoreConfiguration</a></dt>
<dd>
<div class="block">Creates a new builder instance.</div>
</dd>
<dt><a href="org/apache/tamaya/core/internal/CoreConfigurationBuilder.html" title="class in org.apache.tamaya.core.internal"><span class="typeNameLink">CoreConfigurationBuilder</span></a> - Class in <a href="org/apache/tamaya/core/internal/package-summary.html">org.apache.tamaya.core.internal</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/CoreConfigurationBuilder.html#%3Cinit%3E()">CoreConfigurationBuilder()</a></span> - Constructor for class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/CoreConfigurationBuilder.html" title="class in org.apache.tamaya.core.internal">CoreConfigurationBuilder</a></dt>
<dd>
<div class="block">Creates a new builder instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/CoreConfigurationBuilder.html#%3Cinit%3E(org.apache.tamaya.Configuration)">CoreConfigurationBuilder(Configuration)</a></span> - Constructor for class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/CoreConfigurationBuilder.html" title="class in org.apache.tamaya.core.internal">CoreConfigurationBuilder</a></dt>
<dd>
<div class="block">Creates a new builder instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/CoreConfigurationBuilder.html#%3Cinit%3E(org.apache.tamaya.spi.ConfigurationContext)">CoreConfigurationBuilder(ConfigurationContext)</a></span> - Constructor for class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/CoreConfigurationBuilder.html" title="class in org.apache.tamaya.core.internal">CoreConfigurationBuilder</a></dt>
<dd>
<div class="block">Creates a new builder instance initializing it with the given context.</div>
</dd>
<dt><a href="org/apache/tamaya/core/internal/CoreConfigurationProvider.html" title="class in org.apache.tamaya.core.internal"><span class="typeNameLink">CoreConfigurationProvider</span></a> - Class in <a href="org/apache/tamaya/core/internal/package-summary.html">org.apache.tamaya.core.internal</a></dt>
<dd>
<div class="block">Implementation of the Configuration API.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/CoreConfigurationProvider.html#%3Cinit%3E()">CoreConfigurationProvider()</a></span> - Constructor for class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/CoreConfigurationProvider.html" title="class in org.apache.tamaya.core.internal">CoreConfigurationProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ServiceContext.html#create(java.lang.Class)">create(Class&lt;T&gt;)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ServiceContext.html" title="interface in org.apache.tamaya.spi">ServiceContext</a></dt>
<dd>
<div class="block">Factory method to createObject a type, hereby a new instance is created on each access.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/OSGIServiceContext.html#create(java.lang.Class,java.util.function.Supplier)">create(Class&lt;T&gt;, Supplier&lt;T&gt;)</a></span> - Method in class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/OSGIServiceContext.html" title="class in org.apache.tamaya.core.internal">OSGIServiceContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ServiceContext.html#create(java.lang.Class,java.util.function.Supplier)">create(Class&lt;T&gt;, Supplier&lt;T&gt;)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ServiceContext.html" title="interface in org.apache.tamaya.spi">ServiceContext</a></dt>
<dd>
<div class="block">Factory method to createObject a type, hereby a new instance is created on each access.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultServiceContext.html#create(java.lang.Class,java.util.function.Supplier)">create(Class&lt;T&gt;, Supplier&lt;T&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultServiceContext.html" title="class in org.apache.tamaya.spisupport">DefaultServiceContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/ConfigurationProvider.html#createConfiguration(org.apache.tamaya.spi.ConfigurationContext)">createConfiguration(ConfigurationContext)</a></span> - Static method in class org.apache.tamaya.<a href="org/apache/tamaya/ConfigurationProvider.html" title="class in org.apache.tamaya">ConfigurationProvider</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Creates a new configuration instance based on the given context.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/CoreConfigurationProvider.html#createConfiguration(org.apache.tamaya.spi.ConfigurationContext)">createConfiguration(ConfigurationContext)</a></span> - Method in class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/CoreConfigurationProvider.html" title="class in org.apache.tamaya.core.internal">CoreConfigurationProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationProviderSpi.html#createConfiguration(org.apache.tamaya.spi.ConfigurationContext)">createConfiguration(ConfigurationContext)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationProviderSpi.html" title="interface in org.apache.tamaya.spi">ConfigurationProviderSpi</a></dt>
<dd>
<div class="block">Create a <a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya"><code>Configuration</code></a> instance using the given context.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#createConfigurationBuilder()">createConfigurationBuilder()</a></span> - Static method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Access a new configuration builder initialized with the current thread's context classloader.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertyConverterManager.html#createDefaultPropertyConverter(org.apache.tamaya.TypeLiteral)">createDefaultPropertyConverter(TypeLiteral&lt;T&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertyConverterManager.html" title="class in org.apache.tamaya.spisupport">PropertyConverterManager</a></dt>
<dd>
<div class="block">Creates a dynamic <a href="org/apache/tamaya/spi/PropertyConverter.html" title="interface in org.apache.tamaya.spi"><code>PropertyConverter</code></a> for the given target type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#createList()">createList()</a></span> - Static method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Creates a new (invisible) root, which is a node with an empty name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#createList(java.lang.String)">createList(String)</a></span> - Static method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Creates a new createValue of type <a href="org/apache/tamaya/spi/PropertyValue.ValueType.html#ARRAY"><code>PropertyValue.ValueType.ARRAY</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#createObject()">createObject()</a></span> - Static method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Creates a new (invisible) root, which is a node with an empty name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#createObject(java.lang.String)">createObject(String)</a></span> - Static method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Creates a new createValue of type <a href="org/apache/tamaya/spi/PropertyValue.ValueType.html#MAP"><code>PropertyValue.ValueType.MAP</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#createValue(java.lang.String,java.lang.String)">createValue(String, String)</a></span> - Static method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Creates a new createValue of type <a href="org/apache/tamaya/spi/PropertyValue.ValueType.html#VALUE"><code>PropertyValue.ValueType.VALUE</code></a>.</div>
</dd>
<dt><a href="org/apache/tamaya/core/internal/converters/CurrencyConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">CurrencyConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/CurrencyConverter.html#%3Cinit%3E()">CurrencyConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/CurrencyConverter.html" title="class in org.apache.tamaya.core.internal.converters">CurrencyConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#current()">current()</a></span> - Static method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Access the configuration instance for the current thread's context classloader.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#current(java.lang.ClassLoader)">current(ClassLoader)</a></span> - Static method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Accesses the configuration for a given classloader.</div>
</dd>
</dl>
<a id="I:D">
<!--   -->
</a>
<h2 class="title">D</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#decreasePriority(org.apache.tamaya.spi.PropertySource)">decreasePriority(PropertySource)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Decreases the priority of the given property source, by moving it towards the start
 of the chain of property sources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#decreasePriority(org.apache.tamaya.spi.PropertySource)">decreasePriority(PropertySource)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ListValue.html#deepClone()">deepClone()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ListValue.html" title="class in org.apache.tamaya.spi">ListValue</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ObjectValue.html#deepClone()">deepClone()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#deepClone()">deepClone()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Creates a deep clone of this intance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html#DEFAULT_ORDINAL">DEFAULT_ORDINAL</a></span> - Static variable in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">EnvironmentPropertySource</a></dt>
<dd>
<div class="block">Default ordinal for <a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource"><code>EnvironmentPropertySource</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/SystemPropertySource.html#DEFAULT_ORDINAL">DEFAULT_ORDINAL</a></span> - Static variable in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/SystemPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">SystemPropertySource</a></dt>
<dd>
<div class="block">default ordinal used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/JavaConfigurationPropertySource.html#DEFAULT_SIMPLE_PROPERTIES_FILE_NAME">DEFAULT_SIMPLE_PROPERTIES_FILE_NAME</a></span> - Static variable in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/JavaConfigurationPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">JavaConfigurationPropertySource</a></dt>
<dd>
<div class="block">Default location in the classpath, where Tamaya looks for simple line based configuration by default.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/JavaConfigurationPropertySource.html#DEFAULT_XML_PROPERTIES_FILE_NAME">DEFAULT_XML_PROPERTIES_FILE_NAME</a></span> - Static variable in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/JavaConfigurationPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">JavaConfigurationPropertySource</a></dt>
<dd>
<div class="block">Default location in the classpath, where Tamaya looks for XML based configuration by default.</div>
</dd>
<dt><a href="org/apache/tamaya/spisupport/DefaultConfiguration.html" title="class in org.apache.tamaya.spisupport"><span class="typeNameLink">DefaultConfiguration</span></a> - Class in <a href="org/apache/tamaya/spisupport/package-summary.html">org.apache.tamaya.spisupport</a></dt>
<dd>
<div class="block">Implementation of the Configuration API.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfiguration.html#%3Cinit%3E(org.apache.tamaya.spi.ConfigurationContext)">DefaultConfiguration(ConfigurationContext)</a></span> - Constructor for class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfiguration.html" title="class in org.apache.tamaya.spisupport">DefaultConfiguration</a></dt>
<dd>
<div class="block">Constructor.</div>
</dd>
<dt><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport"><span class="typeNameLink">DefaultConfigurationBuilder</span></a> - Class in <a href="org/apache/tamaya/spisupport/package-summary.html">org.apache.tamaya.spisupport</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#%3Cinit%3E()">DefaultConfigurationBuilder()</a></span> - Constructor for class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>
<div class="block">Creates a new builder instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#%3Cinit%3E(org.apache.tamaya.Configuration)">DefaultConfigurationBuilder(Configuration)</a></span> - Constructor for class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>
<div class="block">Creates a new builder instance initializing it with the given context.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#%3Cinit%3E(org.apache.tamaya.spi.ConfigurationContext)">DefaultConfigurationBuilder(ConfigurationContext)</a></span> - Constructor for class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>
<div class="block">Creates a new builder instance.</div>
</dd>
<dt><a href="org/apache/tamaya/spisupport/DefaultConfigurationContext.html" title="class in org.apache.tamaya.spisupport"><span class="typeNameLink">DefaultConfigurationContext</span></a> - Class in <a href="org/apache/tamaya/spisupport/package-summary.html">org.apache.tamaya.spisupport</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationContext.html#%3Cinit%3E(org.apache.tamaya.spi.ServiceContext,java.util.List,java.util.List,java.util.Map,org.apache.tamaya.spisupport.MetadataProvider)">DefaultConfigurationContext(ServiceContext, List&lt;PropertyFilter&gt;, List&lt;PropertySource&gt;, Map&lt;TypeLiteral&lt;?&gt;, List&lt;PropertyConverter&lt;?&gt;&gt;&gt;, MetadataProvider)</a></span> - Constructor for class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationContext.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationContext.html#%3Cinit%3E(org.apache.tamaya.spisupport.DefaultConfigurationBuilder)">DefaultConfigurationContext(DefaultConfigurationBuilder)</a></span> - Constructor for class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationContext.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationContext</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html" title="class in org.apache.tamaya.spisupport"><span class="typeNameLink">DefaultConfigurationSnapshot</span></a> - Class in <a href="org/apache/tamaya/spisupport/package-summary.html">org.apache.tamaya.spisupport</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html#%3Cinit%3E(org.apache.tamaya.Configuration)">DefaultConfigurationSnapshot(Configuration)</a></span> - Constructor for class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationSnapshot</a></dt>
<dd>
<div class="block">Constructor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html#%3Cinit%3E(org.apache.tamaya.Configuration,java.lang.Iterable)">DefaultConfigurationSnapshot(Configuration, Iterable&lt;String&gt;)</a></span> - Constructor for class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationSnapshot</a></dt>
<dd>
<div class="block">Constructor.</div>
</dd>
<dt><a href="org/apache/tamaya/spisupport/DefaultConfigValueEvaluator.html" title="class in org.apache.tamaya.spisupport"><span class="typeNameLink">DefaultConfigValueEvaluator</span></a> - Class in <a href="org/apache/tamaya/spisupport/package-summary.html">org.apache.tamaya.spisupport</a></dt>
<dd>
<div class="block">Implementation of the Configuration API.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigValueEvaluator.html#%3Cinit%3E()">DefaultConfigValueEvaluator()</a></span> - Constructor for class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigValueEvaluator.html" title="class in org.apache.tamaya.spisupport">DefaultConfigValueEvaluator</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/spisupport/DefaultMetaDataProvider.html" title="class in org.apache.tamaya.spisupport"><span class="typeNameLink">DefaultMetaDataProvider</span></a> - Class in <a href="org/apache/tamaya/spisupport/package-summary.html">org.apache.tamaya.spisupport</a></dt>
<dd>
<div class="block">Default metadata provider implementation, which searches for all kind of entries
 formatted as <code>[(META)key].metaKey=metaValue</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultMetaDataProvider.html#%3Cinit%3E()">DefaultMetaDataProvider()</a></span> - Constructor for class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultMetaDataProvider.html" title="class in org.apache.tamaya.spisupport">DefaultMetaDataProvider</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/spisupport/DefaultPropertySourceSnapshot.html" title="class in org.apache.tamaya.spisupport"><span class="typeNameLink">DefaultPropertySourceSnapshot</span></a> - Class in <a href="org/apache/tamaya/spisupport/package-summary.html">org.apache.tamaya.spisupport</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultPropertySourceSnapshot.html#%3Cinit%3E(org.apache.tamaya.spi.PropertySource)">DefaultPropertySourceSnapshot(PropertySource)</a></span> - Constructor for class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultPropertySourceSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultPropertySourceSnapshot</a></dt>
<dd>
<div class="block">Constructor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultPropertySourceSnapshot.html#%3Cinit%3E(org.apache.tamaya.spi.PropertySource,java.lang.Iterable)">DefaultPropertySourceSnapshot(PropertySource, Iterable&lt;String&gt;)</a></span> - Constructor for class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultPropertySourceSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultPropertySourceSnapshot</a></dt>
<dd>
<div class="block">Constructor.</div>
</dd>
<dt><a href="org/apache/tamaya/spisupport/DefaultServiceContext.html" title="class in org.apache.tamaya.spisupport"><span class="typeNameLink">DefaultServiceContext</span></a> - Class in <a href="org/apache/tamaya/spisupport/package-summary.html">org.apache.tamaya.spisupport</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultServiceContext.html#%3Cinit%3E()">DefaultServiceContext()</a></span> - Constructor for class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultServiceContext.html" title="class in org.apache.tamaya.spisupport">DefaultServiceContext</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/core/internal/converters/DoubleConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">DoubleConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<div class="block">Converter, converting from String to Double, using the Java number syntax:
 (-)?</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/DoubleConverter.html#%3Cinit%3E()">DoubleConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/DoubleConverter.html" title="class in org.apache.tamaya.core.internal.converters">DoubleConverter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/core/internal/converters/DurationConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">DurationConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<div class="block">Converter, converting from String to Boolean.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/DurationConverter.html#%3Cinit%3E()">DurationConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/DurationConverter.html" title="class in org.apache.tamaya.core.internal.converters">DurationConverter</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:E">
<!--   -->
</a>
<h2 class="title">E</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#EMPTY">EMPTY</a></span> - Static variable in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Immutable and reusable, thread-safe implementation of an empty propertySource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/ConfigurationSnapshot.html#EMPTY">EMPTY</a></span> - Static variable in interface org.apache.tamaya.<a href="org/apache/tamaya/ConfigurationSnapshot.html" title="interface in org.apache.tamaya">ConfigurationSnapshot</a></dt>
<dd>
<div class="block">An empty snapshot.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationContext.html#EMPTY">EMPTY</a></span> - Static variable in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationContext.html" title="interface in org.apache.tamaya.spi">ConfigurationContext</a></dt>
<dd>
<div class="block">An empty configuration context.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConversionContext.html#EMPTY">EMPTY</a></span> - Static variable in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConversionContext.html" title="class in org.apache.tamaya.spi">ConversionContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertySource.html#EMPTY">EMPTY</a></span> - Static variable in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a></dt>
<dd>
<div class="block">A resusable instance of an empty PropertySource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertySourceProvider.html#EMPTY">EMPTY</a></span> - Static variable in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertySourceProvider.html" title="interface in org.apache.tamaya.spi">PropertySourceProvider</a></dt>
<dd>
<div class="block">A resusable instance of an empty PropertySource.</div>
</dd>
<dt><a href="org/apache/tamaya/spisupport/EnumConverter.html" title="class in org.apache.tamaya.spisupport"><span class="typeNameLink">EnumConverter</span></a>&lt;<a href="org/apache/tamaya/spisupport/EnumConverter.html" title="type parameter in EnumConverter">T</a>&gt; - Class in <a href="org/apache/tamaya/spisupport/package-summary.html">org.apache.tamaya.spisupport</a></dt>
<dd>
<div class="block">Converter, converting from String to the given enum type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/EnumConverter.html#%3Cinit%3E(java.lang.Class)">EnumConverter(Class&lt;T&gt;)</a></span> - Constructor for class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/EnumConverter.html" title="class in org.apache.tamaya.spisupport">EnumConverter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource"><span class="typeNameLink">EnvironmentPropertySource</span></a> - Class in <a href="org/apache/tamaya/spisupport/propertysource/package-summary.html">org.apache.tamaya.spisupport.propertysource</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html#%3Cinit%3E()">EnvironmentPropertySource()</a></span> - Constructor for class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">EnvironmentPropertySource</a></dt>
<dd>
<div class="block">Creates a new instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html#%3Cinit%3E(int)">EnvironmentPropertySource(int)</a></span> - Constructor for class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">EnvironmentPropertySource</a></dt>
<dd>
<div class="block">Creates a new instance using a fixed ordinal createValue.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html#%3Cinit%3E(java.lang.String)">EnvironmentPropertySource(String)</a></span> - Constructor for class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">EnvironmentPropertySource</a></dt>
<dd>
<div class="block">Creates a new instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html#%3Cinit%3E(java.lang.String,int)">EnvironmentPropertySource(String, int)</a></span> - Constructor for class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">EnvironmentPropertySource</a></dt>
<dd>
<div class="block">Creates a new instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/BigDecimalConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/BigDecimalConverter.html" title="class in org.apache.tamaya.core.internal.converters">BigDecimalConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/BigIntegerConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/BigIntegerConverter.html" title="class in org.apache.tamaya.core.internal.converters">BigIntegerConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/BooleanConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/BooleanConverter.html" title="class in org.apache.tamaya.core.internal.converters">BooleanConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/ByteConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/ByteConverter.html" title="class in org.apache.tamaya.core.internal.converters">ByteConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/CharConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/CharConverter.html" title="class in org.apache.tamaya.core.internal.converters">CharConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/ClassConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/ClassConverter.html" title="class in org.apache.tamaya.core.internal.converters">ClassConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/CurrencyConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/CurrencyConverter.html" title="class in org.apache.tamaya.core.internal.converters">CurrencyConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/DoubleConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/DoubleConverter.html" title="class in org.apache.tamaya.core.internal.converters">DoubleConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/DurationConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/DurationConverter.html" title="class in org.apache.tamaya.core.internal.converters">DurationConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/FileConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/FileConverter.html" title="class in org.apache.tamaya.core.internal.converters">FileConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/FloatConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/FloatConverter.html" title="class in org.apache.tamaya.core.internal.converters">FloatConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/InstantConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/InstantConverter.html" title="class in org.apache.tamaya.core.internal.converters">InstantConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/IntegerConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/IntegerConverter.html" title="class in org.apache.tamaya.core.internal.converters">IntegerConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/LocalDateConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/LocalDateConverter.html" title="class in org.apache.tamaya.core.internal.converters">LocalDateConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/LocalDateTimeConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/LocalDateTimeConverter.html" title="class in org.apache.tamaya.core.internal.converters">LocalDateTimeConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/LocalTimeConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/LocalTimeConverter.html" title="class in org.apache.tamaya.core.internal.converters">LocalTimeConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/LongConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/LongConverter.html" title="class in org.apache.tamaya.core.internal.converters">LongConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/MonthDayConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/MonthDayConverter.html" title="class in org.apache.tamaya.core.internal.converters">MonthDayConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/NumberConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/NumberConverter.html" title="class in org.apache.tamaya.core.internal.converters">NumberConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/OffsetDateTimeConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/OffsetDateTimeConverter.html" title="class in org.apache.tamaya.core.internal.converters">OffsetDateTimeConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/OffsetTimeConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/OffsetTimeConverter.html" title="class in org.apache.tamaya.core.internal.converters">OffsetTimeConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/OptionalConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/OptionalConverter.html" title="class in org.apache.tamaya.core.internal.converters">OptionalConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/PathConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/PathConverter.html" title="class in org.apache.tamaya.core.internal.converters">PathConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/ShortConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/ShortConverter.html" title="class in org.apache.tamaya.core.internal.converters">ShortConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/SupplierConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/SupplierConverter.html" title="class in org.apache.tamaya.core.internal.converters">SupplierConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/URIConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/URIConverter.html" title="class in org.apache.tamaya.core.internal.converters">URIConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/URLConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/URLConverter.html" title="class in org.apache.tamaya.core.internal.converters">URLConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/YearConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/YearConverter.html" title="class in org.apache.tamaya.core.internal.converters">YearConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/YearMonthConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/YearMonthConverter.html" title="class in org.apache.tamaya.core.internal.converters">YearMonthConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/propertysource/BasePropertySource.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.core.propertysource.<a href="org/apache/tamaya/core/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.core.propertysource">BasePropertySource</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ListValue.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ListValue.html" title="class in org.apache.tamaya.spi">ListValue</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ObjectValue.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfiguration.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfiguration.html" title="class in org.apache.tamaya.spisupport">DefaultConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationContext.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationContext.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationSnapshot</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultPropertySourceSnapshot.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultPropertySourceSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultPropertySourceSnapshot</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/EnumConverter.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/EnumConverter.html" title="class in org.apache.tamaya.spisupport">EnumConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertyConverterManager.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertyConverterManager.html" title="class in org.apache.tamaya.spisupport">PropertyConverterManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BasePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySourceProvider.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySourceProvider.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySourceProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/TypeLiteral.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.tamaya.<a href="org/apache/tamaya/TypeLiteral.html" title="class in org.apache.tamaya">TypeLiteral</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/ConfigValueEvaluator.html#evaluateAllValues(java.lang.String,org.apache.tamaya.spi.ConfigurationContext)">evaluateAllValues(String, ConfigurationContext)</a></span> - Method in interface org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/ConfigValueEvaluator.html" title="interface in org.apache.tamaya.spisupport">ConfigValueEvaluator</a></dt>
<dd>
<div class="block">Evaluates all values using a <a href="org/apache/tamaya/spi/ConfigurationContext.html" title="interface in org.apache.tamaya.spi"><code>ConfigurationContext</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/ConfigValueEvaluator.html#evaluateRawValue(java.lang.String,org.apache.tamaya.spi.ConfigurationContext)">evaluateRawValue(String, ConfigurationContext)</a></span> - Method in interface org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/ConfigValueEvaluator.html" title="interface in org.apache.tamaya.spisupport">ConfigValueEvaluator</a></dt>
<dd>
<div class="block">Evaluates single createValue using a <a href="org/apache/tamaya/spi/ConfigurationContext.html" title="interface in org.apache.tamaya.spi"><code>ConfigurationContext</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigValueEvaluator.html#evaluateRawValue(java.lang.String,org.apache.tamaya.spi.ConfigurationContext)">evaluateRawValue(String, ConfigurationContext)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigValueEvaluator.html" title="class in org.apache.tamaya.spisupport">DefaultConfigValueEvaluator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/ConfigValueEvaluator.html#evaluateRawValues(org.apache.tamaya.spi.ConfigurationContext)">evaluateRawValues(ConfigurationContext)</a></span> - Method in interface org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/ConfigValueEvaluator.html" title="interface in org.apache.tamaya.spisupport">ConfigValueEvaluator</a></dt>
<dd>
<div class="block">Evaluates all property values from a <a href="org/apache/tamaya/spi/ConfigurationContext.html" title="interface in org.apache.tamaya.spi"><code>ConfigurationContext</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigValueEvaluator.html#evaluateRawValues(org.apache.tamaya.spi.ConfigurationContext)">evaluateRawValues(ConfigurationContext)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigValueEvaluator.html" title="class in org.apache.tamaya.spisupport">DefaultConfigValueEvaluator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfiguration.html#evaluteRawValue(java.lang.String)">evaluteRawValue(String)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfiguration.html" title="class in org.apache.tamaya.spisupport">DefaultConfiguration</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="org/apache/tamaya/spisupport/ConfigValueEvaluator.html#evaluateRawValue(java.lang.String,org.apache.tamaya.spi.ConfigurationContext)"><code>ConfigValueEvaluator.evaluateRawValue(String, ConfigurationContext)</code></a>.</div>
</div>
</dd>
<dt><a href="org/apache/tamaya/spi/Experimental.html" title="annotation in org.apache.tamaya.spi"><span class="typeNameLink">Experimental</span></a> - Annotation Type in <a href="org/apache/tamaya/spi/package-summary.html">org.apache.tamaya.spi</a></dt>
<dd>
<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>
</dd>
</dl>
<a id="I:F">
<!--   -->
</a>
<h2 class="title">F</h2>
<dl>
<dt><a href="org/apache/tamaya/core/internal/converters/FileConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">FileConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<div class="block">Converter, converting from String to File, using new File(createValue).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/FileConverter.html#%3Cinit%3E()">FileConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/FileConverter.html" title="class in org.apache.tamaya.core.internal.converters">FileConverter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/spi/FilterContext.html" title="class in org.apache.tamaya.spi"><span class="typeNameLink">FilterContext</span></a> - Class in <a href="org/apache/tamaya/spi/package-summary.html">org.apache.tamaya.spi</a></dt>
<dd>
<div class="block">A filter configurationContext containing all the required values for implementing filtering.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/FilterContext.html#%3Cinit%3E(java.util.List,org.apache.tamaya.spi.ConfigurationContext)">FilterContext(List&lt;PropertyValue&gt;, ConfigurationContext)</a></span> - Constructor for class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/FilterContext.html" title="class in org.apache.tamaya.spi">FilterContext</a></dt>
<dd>
<div class="block">Creates a new FilterContext, for filtering of a single createValue access
 using <a href="org/apache/tamaya/Configuration.html#getProperties()"><code>Configuration.getProperties()</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/FilterContext.html#%3Cinit%3E(org.apache.tamaya.spi.PropertyValue,java.util.Map,org.apache.tamaya.spi.ConfigurationContext)">FilterContext(PropertyValue, Map&lt;String, PropertyValue&gt;, ConfigurationContext)</a></span> - Constructor for class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/FilterContext.html" title="class in org.apache.tamaya.spi">FilterContext</a></dt>
<dd>
<div class="block">Creates a new FilterContext, for filtering of a multi createValue access
 using <a href="org/apache/tamaya/Configuration.html#getProperties()"><code>Configuration.getProperties()</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/FilterContext.html#%3Cinit%3E(org.apache.tamaya.spi.PropertyValue,org.apache.tamaya.spi.ConfigurationContext)">FilterContext(PropertyValue, ConfigurationContext)</a></span> - Constructor for class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/FilterContext.html" title="class in org.apache.tamaya.spi">FilterContext</a></dt>
<dd>
<div class="block">Creates a new FilterContext, for filtering of a single createValue access
 using <a href="org/apache/tamaya/Configuration.html#getProperties()"><code>Configuration.getProperties()</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyFilter.html#filterProperty(org.apache.tamaya.spi.PropertyValue,org.apache.tamaya.spi.FilterContext)">filterProperty(PropertyValue, FilterContext)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyFilter.html" title="interface in org.apache.tamaya.spi">PropertyFilter</a></dt>
<dd>
<div class="block">Maps the current <code>value</code> to a new value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/RegexPropertyFilter.html#filterProperty(org.apache.tamaya.spi.PropertyValue,org.apache.tamaya.spi.FilterContext)">filterProperty(PropertyValue, FilterContext)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/RegexPropertyFilter.html" title="class in org.apache.tamaya.spisupport">RegexPropertyFilter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/core/internal/converters/FloatConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">FloatConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<div class="block">Converter, converting from String to Float, using the Java number syntax:
 (-)?</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/FloatConverter.html#%3Cinit%3E()">FloatConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/FloatConverter.html" title="class in org.apache.tamaya.core.internal.converters">FloatConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ListValue.html#from(java.util.Collection)">from(Collection&lt;PropertyValue&gt;)</a></span> - Static method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ListValue.html" title="class in org.apache.tamaya.spi">ListValue</a></dt>
<dd>
<div class="block">Merges multiple values into one single node.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ObjectValue.html#from(java.util.Collection)">from(Collection&lt;PropertyValue&gt;)</a></span> - Static method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></dt>
<dd>
<div class="block">Merges multiple values into one single node.</div>
</dd>
</dl>
<a id="I:G">
<!--   -->
</a>
<h2 class="title">G</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#get(java.lang.Iterable)">get(Iterable&lt;String&gt;)</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Access a property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#get(java.lang.Iterable,java.lang.Class)">get(Iterable&lt;String&gt;, Class&lt;T&gt;)</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Gets the property keys as type T.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#get(java.lang.Iterable,org.apache.tamaya.TypeLiteral)">get(Iterable&lt;String&gt;, TypeLiteral&lt;T&gt;)</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Get the property keys as type T.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#get(java.lang.String)">get(String)</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Access a property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/propertysource/BasePropertySource.html#get(java.lang.String)">get(String)</a></span> - Method in class org.apache.tamaya.core.propertysource.<a href="org/apache/tamaya/core/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.core.propertysource">BasePropertySource</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertySource.html#get(java.lang.String)">get(String)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a></dt>
<dd>
<div class="block">Access a property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfiguration.html#get(java.lang.String)">get(String)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfiguration.html" title="class in org.apache.tamaya.spisupport">DefaultConfiguration</a></dt>
<dd>
<div class="block">Get a given createValue, filtered with the context's filters as needed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html#get(java.lang.String)">get(String)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationSnapshot</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultPropertySourceSnapshot.html#get(java.lang.String)">get(String)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultPropertySourceSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultPropertySourceSnapshot</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html#get(java.lang.String)">get(String)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BasePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.html#get(java.lang.String)">get(String)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html#get(java.lang.String)">get(String)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">EnvironmentPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/SystemPropertySource.html#get(java.lang.String)">get(String)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/SystemPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">SystemPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#get(java.lang.String,java.lang.Class)">get(String, Class&lt;T&gt;)</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Gets the property keys as type T.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfiguration.html#get(java.lang.String,java.lang.Class)">get(String, Class&lt;T&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfiguration.html" title="class in org.apache.tamaya.spisupport">DefaultConfiguration</a></dt>
<dd>
<div class="block">Accesses the current String createValue for the given key and tries to convert it
 using the <a href="org/apache/tamaya/spi/PropertyConverter.html" title="interface in org.apache.tamaya.spi"><code>PropertyConverter</code></a> instances provided by the current
 <a href="org/apache/tamaya/spi/ConfigurationContext.html" title="interface in org.apache.tamaya.spi"><code>ConfigurationContext</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html#get(java.lang.String,java.lang.Class)">get(String, Class&lt;T&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationSnapshot</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#get(java.lang.String,org.apache.tamaya.TypeLiteral)">get(String, TypeLiteral&lt;T&gt;)</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Get the property keys as type T.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfiguration.html#get(java.lang.String,org.apache.tamaya.TypeLiteral)">get(String, TypeLiteral&lt;T&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfiguration.html" title="class in org.apache.tamaya.spisupport">DefaultConfiguration</a></dt>
<dd>
<div class="block">Accesses the current String createValue for the given key and tries to convert it
 using the <a href="org/apache/tamaya/spi/PropertyConverter.html" title="interface in org.apache.tamaya.spi"><code>PropertyConverter</code></a> instances provided by the current
 <a href="org/apache/tamaya/spi/ConfigurationContext.html" title="interface in org.apache.tamaya.spi"><code>ConfigurationContext</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html#get(java.lang.String,org.apache.tamaya.TypeLiteral)">get(String, TypeLiteral&lt;T&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationSnapshot</a></dt>
<dd>
<div class="block">Accesses the current String createValue for the given key and tries to convert it
 using the <a href="org/apache/tamaya/spi/PropertyConverter.html" title="interface in org.apache.tamaya.spi"><code>PropertyConverter</code></a> instances provided by the current
 <a href="org/apache/tamaya/spi/ConfigurationContext.html" title="interface in org.apache.tamaya.spi"><code>ConfigurationContext</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/FilterContext.html#getAllValues()">getAllValues()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/FilterContext.html" title="class in org.apache.tamaya.spi">FilterContext</a></dt>
<dd>
<div class="block">Get the property createValue under evaluation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConversionContext.html#getAnnotatedElement()">getAnnotatedElement()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConversionContext.html" title="class in org.apache.tamaya.spi">ConversionContext</a></dt>
<dd>
<div class="block">Get the annotated element, if conversion is performed using injection mechanisms.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/OSGIServiceLoader.html#getBundleContext()">getBundleContext()</a></span> - Method in class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/OSGIServiceLoader.html" title="class in org.apache.tamaya.core.internal">OSGIServiceLoader</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertySource.html#getChangeSupport()">getChangeSupport()</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a></dt>
<dd>
<div class="block">Get the support for reporting changes to property sources provided by this instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html#getChangeSupport()">getChangeSupport()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BasePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.html#getChangeSupport()">getChangeSupport()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/CLIPropertySource.html#getChangeSupport()">getChangeSupport()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/CLIPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">CLIPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html#getChangeSupport()">getChangeSupport()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">EnvironmentPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/JavaConfigurationPropertySource.html#getChangeSupport()">getChangeSupport()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/JavaConfigurationPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">JavaConfigurationPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/MapPropertySource.html#getChangeSupport()">getChangeSupport()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/MapPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">MapPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/PropertiesResourcePropertySource.html#getChangeSupport()">getChangeSupport()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/PropertiesResourcePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">PropertiesResourcePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.html#getChangeSupport()">getChangeSupport()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">SimplePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/SystemPropertySource.html#getChangeSupport()">getChangeSupport()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/SystemPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">SystemPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertySourceChangeSupport.html#getChangeSupport()">getChangeSupport()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertySourceChangeSupport.html" title="class in org.apache.tamaya.spisupport">PropertySourceChangeSupport</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/OSGIServiceContext.html#getClassLoader()">getClassLoader()</a></span> - Method in class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/OSGIServiceContext.html" title="class in org.apache.tamaya.core.internal">OSGIServiceContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ClassloaderAware.html#getClassLoader()">getClassLoader()</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ClassloaderAware.html" title="interface in org.apache.tamaya.spi">ClassloaderAware</a></dt>
<dd>
<div class="block">Get the currently assigned cassloader instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#getClassLoader()">getClassLoader()</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Get the classloader used by this builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#getClassLoader()">getClassLoader()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultServiceContext.html#getClassLoader()">getClassLoader()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultServiceContext.html" title="class in org.apache.tamaya.spisupport">DefaultServiceContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/JavaConfigurationPropertySource.html#getClassLoader()">getClassLoader()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/JavaConfigurationPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">JavaConfigurationPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/FilterContext.html#getConfigEntries()">getConfigEntries()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/FilterContext.html" title="class in org.apache.tamaya.spi">FilterContext</a></dt>
<dd>
<div class="block">This mapProperties contains the following keys:
 
 the original createValue <b>before</b> any filters were applied on it.
 all values starting with an <code>_&lt;key&gt;.</code>, for example <code>a.createValue</code>
 may have a mapProperties setCurrent with <code>a.createValue</code> (oringinal createValue), <code>_a.createValue.origin,
 _a.createValue.type, etc</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/ConfigurationProvider.html#getConfiguration()">getConfiguration()</a></span> - Static method in class org.apache.tamaya.<a href="org/apache/tamaya/ConfigurationProvider.html" title="class in org.apache.tamaya">ConfigurationProvider</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Access the current configuration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationProviderSpi.html#getConfiguration()">getConfiguration()</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationProviderSpi.html" title="interface in org.apache.tamaya.spi">ConfigurationProviderSpi</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="org/apache/tamaya/spi/ConfigurationProviderSpi.html#getConfiguration(java.lang.ClassLoader)"><code>ConfigurationProviderSpi.getConfiguration(ClassLoader)</code></a> instead of.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConversionContext.html#getConfiguration()">getConfiguration()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConversionContext.html" title="class in org.apache.tamaya.spi">ConversionContext</a></dt>
<dd>
<div class="block">Get the configuration, which is targeted.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/ConfigurationProvider.html#getConfiguration(java.lang.ClassLoader)">getConfiguration(ClassLoader)</a></span> - Static method in class org.apache.tamaya.<a href="org/apache/tamaya/ConfigurationProvider.html" title="class in org.apache.tamaya">ConfigurationProvider</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Access the current configuration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/CoreConfigurationProvider.html#getConfiguration(java.lang.ClassLoader)">getConfiguration(ClassLoader)</a></span> - Method in class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/CoreConfigurationProvider.html" title="class in org.apache.tamaya.core.internal">CoreConfigurationProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationProviderSpi.html#getConfiguration(java.lang.ClassLoader)">getConfiguration(ClassLoader)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationProviderSpi.html" title="interface in org.apache.tamaya.spi">ConfigurationProviderSpi</a></dt>
<dd>
<div class="block">Access the current <a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya"><code>Configuration</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/ConfigurationProvider.html#getConfigurationBuilder()">getConfigurationBuilder()</a></span> - Static method in class org.apache.tamaya.<a href="org/apache/tamaya/ConfigurationProvider.html" title="class in org.apache.tamaya">ConfigurationProvider</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Create a new <a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi"><code>ConfigurationBuilder</code></a> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/CoreConfigurationProvider.html#getConfigurationBuilder()">getConfigurationBuilder()</a></span> - Method in class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/CoreConfigurationProvider.html" title="class in org.apache.tamaya.core.internal">CoreConfigurationProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationProviderSpi.html#getConfigurationBuilder()">getConfigurationBuilder()</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationProviderSpi.html" title="interface in org.apache.tamaya.spi">ConfigurationProviderSpi</a></dt>
<dd>
<div class="block">Creates a new <a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi"><code>ConfigurationBuilder</code></a> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConversionContext.html#getConfigurationContext()">getConfigurationContext()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConversionContext.html" title="class in org.apache.tamaya.spi">ConversionContext</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="org/apache/tamaya/spi/ConversionContext.html#getConfiguration()"><code>ConversionContext.getConfiguration()</code></a> and <a href="org/apache/tamaya/Configuration.html#getContext()"><code>Configuration.getContext()</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/FilterContext.html#getConfigurationContext()">getConfigurationContext()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/FilterContext.html" title="class in org.apache.tamaya.spi">FilterContext</a></dt>
<dd>
<div class="block">Get the current configurationContext.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#getContext()">getContext()</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Access a configuration's context.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfiguration.html#getContext()">getContext()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfiguration.html" title="class in org.apache.tamaya.spisupport">DefaultConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html#getContext()">getContext()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationSnapshot</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ServiceContextManager.html#getDefaultClassLoader()">getDefaultClassLoader()</a></span> - Static method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ServiceContextManager.html" title="class in org.apache.tamaya.spi">ServiceContextManager</a></dt>
<dd>
<div class="block">Evaluate the default classloader: This return the current thread context classloader, or this
 class's classloader as fallback.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/propertysource/BasePropertySource.html#getDefaultOrdinal()">getDefaultOrdinal()</a></span> - Method in class org.apache.tamaya.core.propertysource.<a href="org/apache/tamaya/core/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.core.propertysource">BasePropertySource</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the  default ordinal used, when no ordinal is setCurrent, or the ordinal was not parseable to an int createValue.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html#getDefaultOrdinal()">getDefaultOrdinal()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BasePropertySource</a></dt>
<dd>
<div class="block">Returns the  default ordinal used, when no ordinal is setCurrent, or the ordinal was not parseable to an int createValue.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html#getDefaultOrdinal()">getDefaultOrdinal()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">EnvironmentPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#getDefaultPropertyConverters()">getDefaultPropertyConverters()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/TypeLiteral.html#getDefinedType(java.lang.Class)">getDefinedType(Class&lt;?&gt;)</a></span> - Method in class org.apache.tamaya.<a href="org/apache/tamaya/TypeLiteral.html" title="class in org.apache.tamaya">TypeLiteral</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultPropertySourceSnapshot.html#getFrozenAt()">getFrozenAt()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultPropertySourceSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultPropertySourceSnapshot</a></dt>
<dd>
<div class="block">Get the creation timestamp of this instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/TypeLiteral.html#getGenericInterfaceTypeParameters(java.lang.Class,java.lang.Class)">getGenericInterfaceTypeParameters(Class&lt;?&gt;, Class&lt;?&gt;)</a></span> - Static method in class org.apache.tamaya.<a href="org/apache/tamaya/TypeLiteral.html" title="class in org.apache.tamaya">TypeLiteral</a></dt>
<dd>
<div class="block">Checks the current implemented generic interfaces and evaluates the given single type parameter.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html#getId()">getId()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationSnapshot</a></dt>
<dd>
<div class="block">Returns the unique id of this frozen configuration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ListValue.html#getIndex(org.apache.tamaya.spi.PropertyValue)">getIndex(PropertyValue)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ListValue.html" title="class in org.apache.tamaya.spi">ListValue</a></dt>
<dd>
<div class="block">Get the index of the given member value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PriorityServiceComparator.html#getInstance()">getInstance()</a></span> - Static method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PriorityServiceComparator.html" title="class in org.apache.tamaya.spisupport">PriorityServiceComparator</a></dt>
<dd>
<div class="block">Get the shared instance of the comparator.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertyFilterComparator.html#getInstance()">getInstance()</a></span> - Static method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertyFilterComparator.html" title="class in org.apache.tamaya.spisupport">PropertyFilterComparator</a></dt>
<dd>
<div class="block">Get the shared instance of the comparator.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertySourceComparator.html#getInstance()">getInstance()</a></span> - Static method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertySourceComparator.html" title="class in org.apache.tamaya.spisupport">PropertySourceComparator</a></dt>
<dd>
<div class="block">Get the shared instance of the comparator.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConversionContext.html#getKey()">getKey()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConversionContext.html" title="class in org.apache.tamaya.spi">ConversionContext</a></dt>
<dd>
<div class="block">Get the key accessed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#getKey()">getKey()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">The requested key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/ConfigurationSnapshot.html#getKeys()">getKeys()</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/ConfigurationSnapshot.html" title="interface in org.apache.tamaya">ConfigurationSnapshot</a></dt>
<dd>
<div class="block">The requested keys.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ObjectValue.html#getKeys()">getKeys()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></dt>
<dd>
<div class="block">Access the current present field names/keys.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html#getKeys()">getKeys()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationSnapshot</a></dt>
<dd>
<div class="block">Get the evaluated keys of this frozen coinfiguration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultPropertySourceSnapshot.html#getKeys()">getKeys()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultPropertySourceSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultPropertySourceSnapshot</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ListValue.html#getLists()">getLists()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ListValue.html" title="class in org.apache.tamaya.spi">ListValue</a></dt>
<dd>
<div class="block">Get all array elements of type <a href="org/apache/tamaya/spi/ListValue.html" title="class in org.apache.tamaya.spi"><code>ListValue</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ListValue.html#getLists(java.lang.String)">getLists(String)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ListValue.html" title="class in org.apache.tamaya.spi">ListValue</a></dt>
<dd>
<div class="block">Get the array elements, filtered by the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/MapPropertySource.html#getMap(java.util.Properties)">getMap(Properties)</a></span> - Static method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/MapPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">MapPropertySource</a></dt>
<dd>
<div class="block">Simple method to convert <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Properties</code></a> into a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Map</code></a> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConversionContext.html#getMeta()">getMeta()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConversionContext.html" title="class in org.apache.tamaya.spi">ConversionContext</a></dt>
<dd>
<div class="block">Evaluate the metadata for the current target key from the given values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#getMeta()">getMeta()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Creates a full configuration map for this key, createValue pair and all its getMeta context data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#getMeta(java.lang.String)">getMeta(String)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Access the given key from this createValue.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationContext.html#getMetaData(java.lang.String)">getMetaData(String)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationContext.html" title="interface in org.apache.tamaya.spi">ConfigurationContext</a></dt>
<dd>
<div class="block">Get the metadata evaluated for this configuration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationContext.html#getMetaData(java.lang.String)">getMetaData(String)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationContext.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultMetaDataProvider.html#getMetaData(java.lang.String)">getMetaData(String)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultMetaDataProvider.html" title="class in org.apache.tamaya.spisupport">DefaultMetaDataProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/MetadataProvider.html#getMetaData(java.lang.String)">getMetaData(String)</a></span> - Method in interface org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/MetadataProvider.html" title="interface in org.apache.tamaya.spisupport">MetadataProvider</a></dt>
<dd>
<div class="block">Access the current metadata for the given configuration context and key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#getMetaEntry(java.lang.String)">getMetaEntry(String)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="org/apache/tamaya/spi/PropertyValue.html#getMeta(java.lang.String)"><code>PropertyValue.getMeta(String)</code></a> instead of.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/propertysource/BasePropertySource.html#getName()">getName()</a></span> - Method in class org.apache.tamaya.core.propertysource.<a href="org/apache/tamaya/core/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.core.propertysource">BasePropertySource</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/examples/custompropertysource/SimplePropertySource.html#getName()">getName()</a></span> - Method in class org.apache.tamaya.examples.custompropertysource.<a href="org/apache/tamaya/examples/custompropertysource/SimplePropertySource.html" title="class in org.apache.tamaya.examples.custompropertysource">SimplePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertySource.html#getName()">getName()</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a></dt>
<dd>
<div class="block">Get the name of the property source.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultPropertySourceSnapshot.html#getName()">getName()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultPropertySourceSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultPropertySourceSnapshot</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html#getName()">getName()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BasePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.html#getName()">getName()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html#getName()">getName()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">EnvironmentPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ListValue.html#getObjects(java.lang.String)">getObjects(String)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ListValue.html" title="class in org.apache.tamaya.spi">ListValue</a></dt>
<dd>
<div class="block">Get the array elements, filtered by the given predicate.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#getOptional(java.lang.Iterable)">getOptional(Iterable&lt;String&gt;)</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Access a String property, using an an <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Optional</code></a> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#getOptional(java.lang.Iterable,java.lang.Class)">getOptional(Iterable&lt;String&gt;, Class&lt;T&gt;)</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Access a property, using an an <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Optional</code></a> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#getOptional(java.lang.Iterable,org.apache.tamaya.TypeLiteral)">getOptional(Iterable&lt;String&gt;, TypeLiteral&lt;T&gt;)</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Access a property, using an an <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Optional</code></a> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#getOptional(java.lang.String)">getOptional(String)</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Access a String property, using an an <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Optional</code></a> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#getOptional(java.lang.String,java.lang.Class)">getOptional(String, Class&lt;T&gt;)</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Access a property, using an an <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Optional</code></a> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#getOptional(java.lang.String,org.apache.tamaya.TypeLiteral)">getOptional(String, TypeLiteral&lt;T&gt;)</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Access a property, using an an <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Optional</code></a> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#getOrDefault(java.lang.Iterable,java.lang.Class,T)">getOrDefault(Iterable&lt;String&gt;, Class&lt;T&gt;, T)</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Gets the property keys as type T.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#getOrDefault(java.lang.Iterable,java.lang.String)">getOrDefault(Iterable&lt;String&gt;, String)</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Access a property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#getOrDefault(java.lang.Iterable,org.apache.tamaya.TypeLiteral,T)">getOrDefault(Iterable&lt;String&gt;, TypeLiteral&lt;T&gt;, T)</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Get the property keys as type T.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#getOrDefault(java.lang.String,java.lang.Class,T)">getOrDefault(String, Class&lt;T&gt;, T)</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Gets the property keys as type T.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfiguration.html#getOrDefault(java.lang.String,java.lang.Class,T)">getOrDefault(String, Class&lt;T&gt;, T)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfiguration.html" title="class in org.apache.tamaya.spisupport">DefaultConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html#getOrDefault(java.lang.String,java.lang.Class,T)">getOrDefault(String, Class&lt;T&gt;, T)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationSnapshot</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#getOrDefault(java.lang.String,java.lang.String)">getOrDefault(String, String)</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Access a property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfiguration.html#getOrDefault(java.lang.String,java.lang.String)">getOrDefault(String, String)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfiguration.html" title="class in org.apache.tamaya.spisupport">DefaultConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html#getOrDefault(java.lang.String,java.lang.String)">getOrDefault(String, String)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationSnapshot</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#getOrDefault(java.lang.String,org.apache.tamaya.TypeLiteral,T)">getOrDefault(String, TypeLiteral&lt;T&gt;, T)</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Get the property keys as type T.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfiguration.html#getOrDefault(java.lang.String,org.apache.tamaya.TypeLiteral,T)">getOrDefault(String, TypeLiteral&lt;T&gt;, T)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfiguration.html" title="class in org.apache.tamaya.spisupport">DefaultConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html#getOrDefault(java.lang.String,org.apache.tamaya.TypeLiteral,T)">getOrDefault(String, TypeLiteral&lt;T&gt;, T)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationSnapshot</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/propertysource/BasePropertySource.html#getOrdinal()">getOrdinal()</a></span> - Method in class org.apache.tamaya.core.propertysource.<a href="org/apache/tamaya/core/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.core.propertysource">BasePropertySource</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertySource.html#getOrdinal()">getOrdinal()</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a></dt>
<dd>
<div class="block">The ordinal value is the default ordering parameter which definines the default order of
 auto-discovered property sources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultPropertySourceSnapshot.html#getOrdinal()">getOrdinal()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultPropertySourceSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultPropertySourceSnapshot</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html#getOrdinal()">getOrdinal()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BasePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.html#getOrdinal()">getOrdinal()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertySourceComparator.html#getOrdinal(org.apache.tamaya.spi.PropertySource)">getOrdinal(PropertySource)</a></span> - Static method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertySourceComparator.html" title="class in org.apache.tamaya.spisupport">PropertySourceComparator</a></dt>
<dd>
<div class="block">Evaluates an ordinal createValue from a <a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi"><code>PropertySource</code></a>, whereby the ordinal of type <code>int</code>
 is evaluated as follows:
 
     It evaluates the <code>String</code> createValue for <a href="org/apache/tamaya/spi/PropertySource.html#TAMAYA_ORDINAL"><code>PropertySource.TAMAYA_ORDINAL</code></a> and tries
     to convert it to an <code>int</code> createValue, using <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true#parseInt(java.lang.String)" title="class or interface in java.lang" class="externalLink"><code>Integer.parseInt(String)</code></a>.
     It tries to find and evaluate a method <code>int getOrdinal()</code>.
     It tries to find and evaluate a static field <code>int ORDINAL</code>.
     It tries to find and evaluate a class level <a href="https://docs.oracle.com/javase/8/docs/api/javax/annotation/Priority.html?is-external=true" title="class or interface in javax.annotation" class="externalLink"><code>Priority</code></a> annotation.
     It uses the default priority (<code>0</code>.
 </div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertySourceComparator.html#getOrdinal(org.apache.tamaya.spi.PropertySource,java.lang.String)">getOrdinal(PropertySource, String)</a></span> - Static method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertySourceComparator.html" title="class in org.apache.tamaya.spisupport">PropertySourceComparator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ObjectValue.html#getOrSetValue(java.lang.String,java.util.function.Supplier)">getOrSetValue(String, Supplier&lt;T&gt;)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></dt>
<dd>
<div class="block">Get a single child getValue with the given name, creates it if not existing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/ReflectionUtil.html#getParametrizedType(java.lang.Class)">getParametrizedType(Class&lt;?&gt;)</a></span> - Static method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/ReflectionUtil.html" title="class in org.apache.tamaya.spisupport">ReflectionUtil</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#getParent()">getParent()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Get the value's parent.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html#getPrefix()">getPrefix()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">EnvironmentPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/MapPropertySource.html#getPrefix()">getPrefix()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/MapPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">MapPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PriorityServiceComparator.html#getPriority(java.lang.Class)">getPriority(Class)</a></span> - Static method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PriorityServiceComparator.html" title="class in org.apache.tamaya.spisupport">PriorityServiceComparator</a></dt>
<dd>
<div class="block">Checks the given type optionally annotated with a @Priority.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ServiceContext.html#getPriority(java.lang.Object)">getPriority(Object)</a></span> - Static method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ServiceContext.html" title="interface in org.apache.tamaya.spi">ServiceContext</a></dt>
<dd>
<div class="block">Checks the given instance for a @Priority annotation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PriorityServiceComparator.html#getPriority(java.lang.Object)">getPriority(Object)</a></span> - Static method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PriorityServiceComparator.html" title="class in org.apache.tamaya.spisupport">PriorityServiceComparator</a></dt>
<dd>
<div class="block">Checks the given instance for a @Priority annotation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#getProperties()">getProperties()</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Access all currently known configuration properties as a full <code>Map&lt;String,String&gt;</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/examples/custompropertysource/SimplePropertySource.html#getProperties()">getProperties()</a></span> - Method in class org.apache.tamaya.examples.custompropertysource.<a href="org/apache/tamaya/examples/custompropertysource/SimplePropertySource.html" title="class in org.apache.tamaya.examples.custompropertysource">SimplePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertySource.html#getProperties()">getProperties()</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a></dt>
<dd>
<div class="block">Access the current properties as Set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfiguration.html#getProperties()">getProperties()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfiguration.html" title="class in org.apache.tamaya.spisupport">DefaultConfiguration</a></dt>
<dd>
<div class="block">Get the current properties, composed by the loaded <a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi"><code>PropertySource</code></a> and filtered
 by registered <a href="org/apache/tamaya/spi/PropertyFilter.html" title="interface in org.apache.tamaya.spi"><code>PropertyFilter</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html#getProperties()">getProperties()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationSnapshot</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultPropertySourceSnapshot.html#getProperties()">getProperties()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultPropertySourceSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultPropertySourceSnapshot</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.html#getProperties()">getProperties()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/CLIPropertySource.html#getProperties()">getProperties()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/CLIPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">CLIPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html#getProperties()">getProperties()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">EnvironmentPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/JavaConfigurationPropertySource.html#getProperties()">getProperties()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/JavaConfigurationPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">JavaConfigurationPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/MapPropertySource.html#getProperties()">getProperties()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/MapPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">MapPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/PropertiesResourcePropertySource.html#getProperties()">getProperties()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/PropertiesResourcePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">PropertiesResourcePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.html#getProperties()">getProperties()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">SimplePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/SystemPropertySource.html#getProperties()">getProperties()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/SystemPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">SystemPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertySourceChangeSupport.html#getProperties()">getProperties()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertySourceChangeSupport.html" title="class in org.apache.tamaya.spisupport">PropertySourceChangeSupport</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/FilterContext.html#getProperty()">getProperty()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/FilterContext.html" title="class in org.apache.tamaya.spi">FilterContext</a></dt>
<dd>
<div class="block">Get the property createValue under evaluation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#getPropertyConverter()">getPropertyConverter()</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Access the current registered property converters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#getPropertyConverter()">getPropertyConverter()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationContext.html#getPropertyConverters()">getPropertyConverters()</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationContext.html" title="interface in org.apache.tamaya.spi">ConfigurationContext</a></dt>
<dd>
<div class="block">
 This method returns the Map of registered <a href="org/apache/tamaya/spi/PropertyConverter.html" title="interface in org.apache.tamaya.spi"><code>PropertyConverter</code></a>s
 per type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationContext.html#getPropertyConverters()">getPropertyConverters()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationContext.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertyConverterManager.html#getPropertyConverters()">getPropertyConverters()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertyConverterManager.html" title="class in org.apache.tamaya.spisupport">PropertyConverterManager</a></dt>
<dd>
<div class="block">Get a mapProperties of all property converters currently registered.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationContext.html#getPropertyConverters(org.apache.tamaya.TypeLiteral)">getPropertyConverters(TypeLiteral&lt;T&gt;)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationContext.html" title="interface in org.apache.tamaya.spi">ConfigurationContext</a></dt>
<dd>
<div class="block">
 This method returns the registered <a href="org/apache/tamaya/spi/PropertyConverter.html" title="interface in org.apache.tamaya.spi"><code>PropertyConverter</code></a>s for a given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationContext.html#getPropertyConverters(org.apache.tamaya.TypeLiteral)">getPropertyConverters(TypeLiteral&lt;T&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationContext.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertyConverterManager.html#getPropertyConverters(org.apache.tamaya.TypeLiteral)">getPropertyConverters(TypeLiteral&lt;T&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertyConverterManager.html" title="class in org.apache.tamaya.spisupport">PropertyConverterManager</a></dt>
<dd>
<div class="block">Get the createList of all current registered converters for the given target type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#getPropertyFilters()">getPropertyFilters()</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Access the current chain of property filters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationContext.html#getPropertyFilters()">getPropertyFilters()</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationContext.html" title="interface in org.apache.tamaya.spi">ConfigurationContext</a></dt>
<dd>
<div class="block">Access the current <a href="org/apache/tamaya/spi/PropertyFilter.html" title="interface in org.apache.tamaya.spi"><code>PropertyFilter</code></a> instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#getPropertyFilters()">getPropertyFilters()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationContext.html#getPropertyFilters()">getPropertyFilters()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationContext.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationContext.html#getPropertySource(java.lang.String)">getPropertySource(String)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationContext.html" title="interface in org.apache.tamaya.spi">ConfigurationContext</a></dt>
<dd>
<div class="block">Access a <a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi"><code>PropertySource</code></a> using its (unique) name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#getPropertySource(java.lang.String)">getPropertySource(String)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationContext.html#getPropertySource(java.lang.String)">getPropertySource(String)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationContext.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/examples/custompropertysource/SimplePropertySourceProvider.html#getPropertySources()">getPropertySources()</a></span> - Method in class org.apache.tamaya.examples.custompropertysource.<a href="org/apache/tamaya/examples/custompropertysource/SimplePropertySourceProvider.html" title="class in org.apache.tamaya.examples.custompropertysource">SimplePropertySourceProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#getPropertySources()">getPropertySources()</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Access the current chain of property sources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationContext.html#getPropertySources()">getPropertySources()</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationContext.html" title="interface in org.apache.tamaya.spi">ConfigurationContext</a></dt>
<dd>
<div class="block">This method returns the current createList of registered <a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi"><code>PropertySource</code></a>s ordered via their ordinal.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertySourceProvider.html#getPropertySources()">getPropertySources()</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertySourceProvider.html" title="interface in org.apache.tamaya.spi">PropertySourceProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#getPropertySources()">getPropertySources()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationContext.html#getPropertySources()">getPropertySources()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationContext.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySourceProvider.html#getPropertySources()">getPropertySources()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySourceProvider.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySourceProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ListValue.html#getPropertyValue(int)">getPropertyValue(int)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ListValue.html" title="class in org.apache.tamaya.spi">ListValue</a></dt>
<dd>
<div class="block">Get the n-th element of the children.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ObjectValue.html#getPropertyValue(java.lang.String)">getPropertyValue(String)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></dt>
<dd>
<div class="block">Get a single child getValue by name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ListValue.html#getPropertyValues(java.lang.String)">getPropertyValues(String)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ListValue.html" title="class in org.apache.tamaya.spi">ListValue</a></dt>
<dd>
<div class="block">Get the text elements, filtered by the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#getQualifiedKey()">getQualifiedKey()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Get a qualified name of a value in property format using '.' as separator, e.g.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/TypeLiteral.html#getRawType()">getRawType()</a></span> - Method in class org.apache.tamaya.<a href="org/apache/tamaya/TypeLiteral.html" title="class in org.apache.tamaya">TypeLiteral</a></dt>
<dd>
<div class="block">Returns basic raw Java type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/OSGIServiceContext.html#getResource(java.lang.String)">getResource(String)</a></span> - Method in class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/OSGIServiceContext.html" title="class in org.apache.tamaya.core.internal">OSGIServiceContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ServiceContext.html#getResource(java.lang.String)">getResource(String)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ServiceContext.html" title="interface in org.apache.tamaya.spi">ServiceContext</a></dt>
<dd>
<div class="block">Loads a resource from the current runtime context.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/OSGIServiceLoader.html#getResourceBundles()">getResourceBundles()</a></span> - Method in class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/OSGIServiceLoader.html" title="class in org.apache.tamaya.core.internal">OSGIServiceLoader</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/OSGIServiceContext.html#getResources(java.lang.String)">getResources(String)</a></span> - Method in class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/OSGIServiceContext.html" title="class in org.apache.tamaya.core.internal">OSGIServiceContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ServiceContext.html#getResources(java.lang.String)">getResources(String)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ServiceContext.html" title="interface in org.apache.tamaya.spi">ServiceContext</a></dt>
<dd>
<div class="block">Loads resources from the current runtime context.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ServiceContext.html#getService(java.lang.Class)">getService(Class&lt;T&gt;)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ServiceContext.html" title="interface in org.apache.tamaya.spi">ServiceContext</a></dt>
<dd>
<div class="block">Access a service singleton via its type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/OSGIServiceContext.html#getService(java.lang.Class,java.util.function.Supplier)">getService(Class&lt;T&gt;, Supplier&lt;T&gt;)</a></span> - Method in class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/OSGIServiceContext.html" title="class in org.apache.tamaya.core.internal">OSGIServiceContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ServiceContext.html#getService(java.lang.Class,java.util.function.Supplier)">getService(Class&lt;T&gt;, Supplier&lt;T&gt;)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ServiceContext.html" title="interface in org.apache.tamaya.spi">ServiceContext</a></dt>
<dd>
<div class="block">Access a service singleton via its type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultServiceContext.html#getService(java.lang.Class,java.util.function.Supplier)">getService(Class&lt;T&gt;, Supplier&lt;T&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultServiceContext.html" title="class in org.apache.tamaya.spisupport">DefaultServiceContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationContext.html#getServiceContext()">getServiceContext()</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationContext.html" title="interface in org.apache.tamaya.spi">ConfigurationContext</a></dt>
<dd>
<div class="block">Access the underlying <a href="org/apache/tamaya/spi/ServiceContext.html" title="interface in org.apache.tamaya.spi"><code>ServiceContext</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ServiceContextManager.html#getServiceContext()">getServiceContext()</a></span> - Static method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ServiceContextManager.html" title="class in org.apache.tamaya.spi">ServiceContextManager</a></dt>
<dd>
<div class="block">Ge <a href="org/apache/tamaya/spi/ServiceContext.html" title="interface in org.apache.tamaya.spi"><code>ServiceContext</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationContext.html#getServiceContext()">getServiceContext()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationContext.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ServiceContextManager.html#getServiceContext(java.lang.ClassLoader)">getServiceContext(ClassLoader)</a></span> - Static method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ServiceContextManager.html" title="class in org.apache.tamaya.spi">ServiceContextManager</a></dt>
<dd>
<div class="block">Ge <a href="org/apache/tamaya/spi/ServiceContext.html" title="interface in org.apache.tamaya.spi"><code>ServiceContext</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ServiceContext.html#getServices(java.lang.Class)">getServices(Class&lt;T&gt;)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ServiceContext.html" title="interface in org.apache.tamaya.spi">ServiceContext</a></dt>
<dd>
<div class="block">Access a createList current services, given its type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/OSGIServiceContext.html#getServices(java.lang.Class,java.util.function.Supplier)">getServices(Class&lt;T&gt;, Supplier&lt;List&lt;T&gt;&gt;)</a></span> - Method in class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/OSGIServiceContext.html" title="class in org.apache.tamaya.core.internal">OSGIServiceContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ServiceContext.html#getServices(java.lang.Class,java.util.function.Supplier)">getServices(Class&lt;T&gt;, Supplier&lt;List&lt;T&gt;&gt;)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ServiceContext.html" title="interface in org.apache.tamaya.spi">ServiceContext</a></dt>
<dd>
<div class="block">Access a createList current services, given its type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultServiceContext.html#getServices(java.lang.Class,java.util.function.Supplier)">getServices(Class&lt;T&gt;, Supplier&lt;List&lt;T&gt;&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultServiceContext.html" title="class in org.apache.tamaya.spisupport">DefaultServiceContext</a></dt>
<dd>
<div class="block">Loads and registers services.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ListValue.html#getSize()">getSize()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ListValue.html" title="class in org.apache.tamaya.spi">ListValue</a></dt>
<dd>
<div class="block">Get the createValue's number of elements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ObjectValue.html#getSize()">getSize()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></dt>
<dd>
<div class="block">Get the value's number of elements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#getSize()">getSize()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Get the createValue's number of elements.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#getSnapshot(java.lang.Iterable)">getSnapshot(Iterable&lt;String&gt;)</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Create a snapshot, which contains the given keys.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfiguration.html#getSnapshot(java.lang.Iterable)">getSnapshot(Iterable&lt;String&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfiguration.html" title="class in org.apache.tamaya.spisupport">DefaultConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html#getSnapshot(java.lang.Iterable)">getSnapshot(Iterable&lt;String&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationSnapshot</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#getSnapshot(java.lang.String...)">getSnapshot(String...)</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Create a snapshot, which contains all known keys.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#getSource()">getSource()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <code>getMeta("source")</code>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConversionContext.html#getSupportedFormats()">getSupportedFormats()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConversionContext.html" title="class in org.apache.tamaya.spi">ConversionContext</a></dt>
<dd>
<div class="block">Get the supported/tried formats in precedence order.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConversionContext.html#getTargetType()">getTargetType()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConversionContext.html" title="class in org.apache.tamaya.spi">ConversionContext</a></dt>
<dd>
<div class="block">Get the target type required.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/ConfigurationSnapshot.html#getTimestamp()">getTimestamp()</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/ConfigurationSnapshot.html" title="interface in org.apache.tamaya">ConfigurationSnapshot</a></dt>
<dd>
<div class="block">Get the timestamp, when this snapshot has been taken.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html#getTimestamp()">getTimestamp()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationSnapshot</a></dt>
<dd>
<div class="block">Returns the moment in time when this frozen configuration has been created.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/TypeLiteral.html#getType()">getType()</a></span> - Method in class org.apache.tamaya.<a href="org/apache/tamaya/TypeLiteral.html" title="class in org.apache.tamaya">TypeLiteral</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/TypeLiteral.html#getTypeParameters(java.lang.reflect.Type)">getTypeParameters(Type)</a></span> - Static method in class org.apache.tamaya.<a href="org/apache/tamaya/TypeLiteral.html" title="class in org.apache.tamaya">TypeLiteral</a></dt>
<dd>
<div class="block">Method that checks the class's type for a generic interface implementation type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ListValue.html#getValue()">getValue()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ListValue.html" title="class in org.apache.tamaya.spi">ListValue</a></dt>
<dd>
<div class="block">Get the node's createValue.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ObjectValue.html#getValue()">getValue()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></dt>
<dd>
<div class="block">Get the node's createValue.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#getValue()">getValue()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Get the node's createValue.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ListValue.html#getValue(int)">getValue(int)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ListValue.html" title="class in org.apache.tamaya.spi">ListValue</a></dt>
<dd>
<div class="block">Get a String value with the given key, if possible.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ObjectValue.html#getValue(java.lang.String)">getValue(String)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></dt>
<dd>
<div class="block">Get a String value with the given key, if possible.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertySourceChangeSupport.html#getValue(java.lang.String)">getValue(String)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertySourceChangeSupport.html" title="class in org.apache.tamaya.spisupport">PropertySourceChangeSupport</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConversionContext.html#getValues()">getValues()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConversionContext.html" title="class in org.apache.tamaya.spi">ConversionContext</a></dt>
<dd>
<div class="block">Get the correspnoding underlying property values matching the given key, in order of significance
 (most significant last).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ObjectValue.html#getValues()">getValues()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></dt>
<dd>
<div class="block">Get the fields of this instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfiguration.html#getValues(java.lang.String)">getValues(String)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfiguration.html" title="class in org.apache.tamaya.spisupport">DefaultConfiguration</a></dt>
<dd>
<div class="block">Get a given createValue, filtered with the context's filters as needed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ListValue.html#getValueType()">getValueType()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ListValue.html" title="class in org.apache.tamaya.spi">ListValue</a></dt>
<dd>
<div class="block">Get the item's current createValue type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ObjectValue.html#getValueType()">getValueType()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></dt>
<dd>
<div class="block">Get the item's current value type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#getValueType()">getValueType()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Get the item's current createValue type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertySource.html#getVersion()">getVersion()</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a></dt>
<dd>
<div class="block">Get the current version.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#getVersion()">getVersion()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Get the values version, the version is updated with each change written.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/PropertiesResourcePropertySource.html#getVersion()">getVersion()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/PropertiesResourcePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">PropertiesResourcePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/SystemPropertySource.html#getVersion()">getVersion()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/SystemPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">SystemPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertySourceChangeSupport.html#getVersion()">getVersion()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertySourceChangeSupport.html" title="class in org.apache.tamaya.spisupport">PropertySourceChangeSupport</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:H">
<!--   -->
</a>
<h2 class="title">H</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/BigDecimalConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/BigDecimalConverter.html" title="class in org.apache.tamaya.core.internal.converters">BigDecimalConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/BigIntegerConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/BigIntegerConverter.html" title="class in org.apache.tamaya.core.internal.converters">BigIntegerConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/BooleanConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/BooleanConverter.html" title="class in org.apache.tamaya.core.internal.converters">BooleanConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/ByteConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/ByteConverter.html" title="class in org.apache.tamaya.core.internal.converters">ByteConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/CharConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/CharConverter.html" title="class in org.apache.tamaya.core.internal.converters">CharConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/ClassConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/ClassConverter.html" title="class in org.apache.tamaya.core.internal.converters">ClassConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/CurrencyConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/CurrencyConverter.html" title="class in org.apache.tamaya.core.internal.converters">CurrencyConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/DoubleConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/DoubleConverter.html" title="class in org.apache.tamaya.core.internal.converters">DoubleConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/DurationConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/DurationConverter.html" title="class in org.apache.tamaya.core.internal.converters">DurationConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/FileConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/FileConverter.html" title="class in org.apache.tamaya.core.internal.converters">FileConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/FloatConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/FloatConverter.html" title="class in org.apache.tamaya.core.internal.converters">FloatConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/InstantConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/InstantConverter.html" title="class in org.apache.tamaya.core.internal.converters">InstantConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/IntegerConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/IntegerConverter.html" title="class in org.apache.tamaya.core.internal.converters">IntegerConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/LocalDateConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/LocalDateConverter.html" title="class in org.apache.tamaya.core.internal.converters">LocalDateConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/LocalDateTimeConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/LocalDateTimeConverter.html" title="class in org.apache.tamaya.core.internal.converters">LocalDateTimeConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/LocalTimeConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/LocalTimeConverter.html" title="class in org.apache.tamaya.core.internal.converters">LocalTimeConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/LongConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/LongConverter.html" title="class in org.apache.tamaya.core.internal.converters">LongConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/MonthDayConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/MonthDayConverter.html" title="class in org.apache.tamaya.core.internal.converters">MonthDayConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/NumberConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/NumberConverter.html" title="class in org.apache.tamaya.core.internal.converters">NumberConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/OffsetDateTimeConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/OffsetDateTimeConverter.html" title="class in org.apache.tamaya.core.internal.converters">OffsetDateTimeConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/OffsetTimeConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/OffsetTimeConverter.html" title="class in org.apache.tamaya.core.internal.converters">OffsetTimeConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/OptionalConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/OptionalConverter.html" title="class in org.apache.tamaya.core.internal.converters">OptionalConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/PathConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/PathConverter.html" title="class in org.apache.tamaya.core.internal.converters">PathConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/ShortConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/ShortConverter.html" title="class in org.apache.tamaya.core.internal.converters">ShortConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/SupplierConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/SupplierConverter.html" title="class in org.apache.tamaya.core.internal.converters">SupplierConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/URIConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/URIConverter.html" title="class in org.apache.tamaya.core.internal.converters">URIConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/URLConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/URLConverter.html" title="class in org.apache.tamaya.core.internal.converters">URLConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/YearConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/YearConverter.html" title="class in org.apache.tamaya.core.internal.converters">YearConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/YearMonthConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/YearMonthConverter.html" title="class in org.apache.tamaya.core.internal.converters">YearMonthConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/propertysource/BasePropertySource.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.core.propertysource.<a href="org/apache/tamaya/core/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.core.propertysource">BasePropertySource</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ListValue.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ListValue.html" title="class in org.apache.tamaya.spi">ListValue</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ObjectValue.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfiguration.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfiguration.html" title="class in org.apache.tamaya.spisupport">DefaultConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationContext.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationContext.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationSnapshot</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultPropertySourceSnapshot.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultPropertySourceSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultPropertySourceSnapshot</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/EnumConverter.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/EnumConverter.html" title="class in org.apache.tamaya.spisupport">EnumConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertyConverterManager.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertyConverterManager.html" title="class in org.apache.tamaya.spisupport">PropertyConverterManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BasePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySourceProvider.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySourceProvider.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySourceProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/TypeLiteral.html#hashCode()">hashCode()</a></span> - Method in class org.apache.tamaya.<a href="org/apache/tamaya/TypeLiteral.html" title="class in org.apache.tamaya">TypeLiteral</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#highestPriority(org.apache.tamaya.spi.PropertySource)">highestPriority(PropertySource)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Increases the priority of the given property source to be maximal, by moving it to
 the tail of the of property source chain.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#highestPriority(org.apache.tamaya.spi.PropertySource)">highestPriority(PropertySource)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:I">
<!--   -->
</a>
<h2 class="title">I</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#immutable()">immutable()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Sets this instance and also all its direct an indirect children to immutable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ChangeSupport.html#IMMUTABLE">IMMUTABLE</a></span> - org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ChangeSupport.html" title="enum in org.apache.tamaya.spi">ChangeSupport</a></dt>
<dd>
<div class="block">Configuration properties of this property source cannot change for the lifetime of this <a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi"><code>PropertySource</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#increasePriority(org.apache.tamaya.spi.PropertySource)">increasePriority(PropertySource)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Increases the priority of the given property source, by moving it towards the end
 of the chain of property sources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#increasePriority(org.apache.tamaya.spi.PropertySource)">increasePriority(PropertySource)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#incrementVersion()">incrementVersion()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Called to mark a change on this instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/OSGIServiceContext.html#init(java.lang.ClassLoader)">init(ClassLoader)</a></span> - Method in class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/OSGIServiceContext.html" title="class in org.apache.tamaya.core.internal">OSGIServiceContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ClassloaderAware.html#init(java.lang.ClassLoader)">init(ClassLoader)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ClassloaderAware.html" title="interface in org.apache.tamaya.spi">ClassloaderAware</a></dt>
<dd>
<div class="block">Initializes this instance with the classloader to be used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultServiceContext.html#init(java.lang.ClassLoader)">init(ClassLoader)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultServiceContext.html" title="class in org.apache.tamaya.spisupport">DefaultServiceContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/JavaConfigurationPropertySource.html#init(java.lang.ClassLoader)">init(ClassLoader)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/JavaConfigurationPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">JavaConfigurationPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultMetaDataProvider.html#init(org.apache.tamaya.spi.ConfigurationContext)">init(ConfigurationContext)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultMetaDataProvider.html" title="class in org.apache.tamaya.spisupport">DefaultMetaDataProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/MetadataProvider.html#init(org.apache.tamaya.spi.ConfigurationContext)">init(ConfigurationContext)</a></span> - Method in interface org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/MetadataProvider.html" title="interface in org.apache.tamaya.spisupport">MetadataProvider</a></dt>
<dd>
<div class="block">Initializes the provider with the given context.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertyConverterManager.html#initConverters()">initConverters()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertyConverterManager.html" title="class in org.apache.tamaya.spisupport">PropertyConverterManager</a></dt>
<dd>
<div class="block">Registers the default converters provided out of the box.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/CLIPropertySource.html#initMainArgs(java.lang.String...)">initMainArgs(String...)</a></span> - Static method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/CLIPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">CLIPropertySource</a></dt>
<dd>
<div class="block">Configure the main arguments, hereby parsing and mapping the main arguments into
 configuration properties as key-createValue pairs.</div>
</dd>
<dt><a href="org/apache/tamaya/core/internal/converters/InstantConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">InstantConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<div class="block">Converter, converting from String to Instant.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/InstantConverter.html#%3Cinit%3E()">InstantConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/InstantConverter.html" title="class in org.apache.tamaya.core.internal.converters">InstantConverter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/core/internal/converters/IntegerConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">IntegerConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/IntegerConverter.html#%3Cinit%3E()">IntegerConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/IntegerConverter.html" title="class in org.apache.tamaya.core.internal.converters">IntegerConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/CoreConfigurationProvider.html#isConfigurationSettable(java.lang.ClassLoader)">isConfigurationSettable(ClassLoader)</a></span> - Method in class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/CoreConfigurationProvider.html" title="class in org.apache.tamaya.core.internal">CoreConfigurationProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationProviderSpi.html#isConfigurationSettable(java.lang.ClassLoader)">isConfigurationSettable(ClassLoader)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationProviderSpi.html" title="interface in org.apache.tamaya.spi">ConfigurationProviderSpi</a></dt>
<dd>
<div class="block">Method that allows to determine if a new <a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya"><code>Configuration</code></a> can be applied
 programmatically.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html#isDisabled()">isDisabled()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BasePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html#isDisabled()">isDisabled()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">EnvironmentPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/JavaConfigurationPropertySource.html#isEnabled()">isEnabled()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/JavaConfigurationPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">JavaConfigurationPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#isImmutable()">isImmutable()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Checks if the instance is immutable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/OSGIServiceContext.html#isInitialized()">isInitialized()</a></span> - Method in class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/OSGIServiceContext.html" title="class in org.apache.tamaya.core.internal">OSGIServiceContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#isLeaf()">isLeaf()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Checks if the value is a leaf value (has no values).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#isRoot()">isRoot()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Checks if the value is a root value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertySource.html#isScannable()">isScannable()</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">will be removed.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/FilterContext.html#isSinglePropertyScoped()">isSinglePropertyScoped()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/FilterContext.html" title="class in org.apache.tamaya.spi">FilterContext</a></dt>
<dd>
<div class="block">Method that determines if filtering is done for a single property accessed, or as part of call to
 <code>getProperties()</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertyConverterManager.html#isTargetTypeSupported(org.apache.tamaya.TypeLiteral)">isTargetTypeSupported(TypeLiteral&lt;?&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertyConverterManager.html" title="class in org.apache.tamaya.spisupport">PropertyConverterManager</a></dt>
<dd>
<div class="block">Allows to evaluate if a given target type is supported.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ListValue.html#iterator()">iterator()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ListValue.html" title="class in org.apache.tamaya.spi">ListValue</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ObjectValue.html#iterator()">iterator()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#iterator()">iterator()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:J">
<!--   -->
</a>
<h2 class="title">J</h2>
<dl>
<dt><a href="org/apache/tamaya/spisupport/propertysource/JavaConfigurationPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource"><span class="typeNameLink">JavaConfigurationPropertySource</span></a> - Class in <a href="org/apache/tamaya/spisupport/propertysource/package-summary.html">org.apache.tamaya.spisupport.propertysource</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/JavaConfigurationPropertySource.html#%3Cinit%3E()">JavaConfigurationPropertySource()</a></span> - Constructor for class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/JavaConfigurationPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">JavaConfigurationPropertySource</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:L">
<!--   -->
</a>
<h2 class="title">L</h2>
<dl>
<dt><a href="org/apache/tamaya/spi/ListValue.html" title="class in org.apache.tamaya.spi"><span class="typeNameLink">ListValue</span></a> - Class in <a href="org/apache/tamaya/spi/package-summary.html">org.apache.tamaya.spi</a></dt>
<dd>
<div class="block">Class modelling the result of a request for a property createValue.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertySourceChangeSupport.html#load(java.util.Map)">load(Map&lt;String, PropertyValue&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertySourceChangeSupport.html" title="class in org.apache.tamaya.spisupport">PropertySourceChangeSupport</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#loadDefaults()">loadDefaults()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/core/internal/converters/LocalDateConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">LocalDateConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<div class="block">Converter, converting from String to LocalDate.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/LocalDateConverter.html#%3Cinit%3E()">LocalDateConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/LocalDateConverter.html" title="class in org.apache.tamaya.core.internal.converters">LocalDateConverter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/core/internal/converters/LocalDateTimeConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">LocalDateTimeConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<div class="block">Converter, converting from String to LocalDateTime.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/LocalDateTimeConverter.html#%3Cinit%3E()">LocalDateTimeConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/LocalDateTimeConverter.html" title="class in org.apache.tamaya.core.internal.converters">LocalDateTimeConverter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/core/internal/converters/LocalTimeConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">LocalTimeConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<div class="block">Converter, converting from String to LocalTime.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/LocalTimeConverter.html#%3Cinit%3E()">LocalTimeConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/LocalTimeConverter.html" title="class in org.apache.tamaya.core.internal.converters">LocalTimeConverter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/core/internal/converters/LongConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">LongConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/LongConverter.html#%3Cinit%3E()">LongConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/LongConverter.html" title="class in org.apache.tamaya.core.internal.converters">LongConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#lowestPriority(org.apache.tamaya.spi.PropertySource)">lowestPriority(PropertySource)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Decreases the priority of the given property source to be minimal, by moving it to
 the start of the chain of property source chain.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#lowestPriority(org.apache.tamaya.spi.PropertySource)">lowestPriority(PropertySource)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:M">
<!--   -->
</a>
<h2 class="title">M</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/examples/custompropertysource/Main.html#main(java.lang.String%5B%5D)">main(String[])</a></span> - Static method in class org.apache.tamaya.examples.custompropertysource.<a href="org/apache/tamaya/examples/custompropertysource/Main.html" title="class in org.apache.tamaya.examples.custompropertysource">Main</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/examples/minimal/Main.html#main(java.lang.String%5B%5D)">main(String[])</a></span> - Static method in class org.apache.tamaya.examples.minimal.<a href="org/apache/tamaya/examples/minimal/Main.html" title="class in org.apache.tamaya.examples.minimal">Main</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/examples/custompropertysource/Main.html" title="class in org.apache.tamaya.examples.custompropertysource"><span class="typeNameLink">Main</span></a> - Class in <a href="org/apache/tamaya/examples/custompropertysource/package-summary.html">org.apache.tamaya.examples.custompropertysource</a></dt>
<dd>
<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>
</dd>
<dt><a href="org/apache/tamaya/examples/minimal/Main.html" title="class in org.apache.tamaya.examples.minimal"><span class="typeNameLink">Main</span></a> - Class in <a href="org/apache/tamaya/examples/minimal/package-summary.html">org.apache.tamaya.examples.minimal</a></dt>
<dd>
<div class="block">Minimal example showing how to use Tamaya in the simplest possible way.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#map(java.util.function.UnaryOperator)">map(UnaryOperator&lt;Configuration&gt;)</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Extension point for adjusting configuration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.ValueType.html#MAP">MAP</a></span> - org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.ValueType.html" title="enum in org.apache.tamaya.spi">PropertyValue.ValueType</a></dt>
<dd>
<div class="block">A multi valued property value, which contains named child properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/MapPropertySource.html#mapProperties(java.util.Map,long)">mapProperties(Map&lt;String, String&gt;, long)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/MapPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">MapPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#mapProperties(java.util.Map,java.lang.String)">mapProperties(Map&lt;String, String&gt;, String)</a></span> - Static method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Maps a mapProperties of <code>Map&lt;String,String&gt;</code> to a <code>Map&lt;String,PropertyValue&gt;</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#mapProperties(java.util.Map,java.lang.String,java.util.Map)">mapProperties(Map&lt;String, String&gt;, String, Map&lt;String, String&gt;)</a></span> - Static method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Maps a mapProperties of <code>Map&lt;String,String&gt;</code> to a <code>Map&lt;String,PropertyValue&gt;</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#mapProperties(java.util.Map,java.lang.String,java.util.Map,java.lang.String)">mapProperties(Map&lt;String, String&gt;, String, Map&lt;String, String&gt;, String)</a></span> - Static method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Maps a mapProperties of <code>Map&lt;String,String&gt;</code> to a <code>Map&lt;String,PropertyValue&gt;</code>.</div>
</dd>
<dt><a href="org/apache/tamaya/spisupport/propertysource/MapPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource"><span class="typeNameLink">MapPropertySource</span></a> - Class in <a href="org/apache/tamaya/spisupport/propertysource/package-summary.html">org.apache.tamaya.spisupport.propertysource</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/MapPropertySource.html#%3Cinit%3E(java.lang.String,java.util.Map)">MapPropertySource(String, Map&lt;String, String&gt;)</a></span> - Constructor for class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/MapPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">MapPropertySource</a></dt>
<dd>
<div class="block">Creates a new instance, hereby using the default mechanism for evaluating the property source's
 priority.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/MapPropertySource.html#%3Cinit%3E(java.lang.String,java.util.Map,java.lang.String)">MapPropertySource(String, Map&lt;String, String&gt;, String)</a></span> - Constructor for class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/MapPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">MapPropertySource</a></dt>
<dd>
<div class="block">Creates a new instance, hereby using the default mechanism for evaluating the property source's
 priority, but applying a custom mapping <code>prefix</code> to the entries provided.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/MapPropertySource.html#%3Cinit%3E(java.lang.String,java.util.Properties,java.lang.String)">MapPropertySource(String, Properties, String)</a></span> - Constructor for class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/MapPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">MapPropertySource</a></dt>
<dd>
<div class="block">Creates a new instance, hereby using the default mechanism for evaluating the property source's
 priority, but applying a custom mapping <code>rootContext</code> to the entries provided.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#metaDataProvider">metaDataProvider</a></span> - Variable in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/spisupport/MetadataProvider.html" title="interface in org.apache.tamaya.spisupport"><span class="typeNameLink">MetadataProvider</span></a> - Interface in <a href="org/apache/tamaya/spisupport/package-summary.html">org.apache.tamaya.spisupport</a></dt>
<dd>
<div class="block">This interface allows to plugin different metadata mechanism.</div>
</dd>
<dt><a href="org/apache/tamaya/core/internal/converters/MonthDayConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">MonthDayConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<div class="block">Converter, converting from String to Year.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/MonthDayConverter.html#%3Cinit%3E()">MonthDayConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/MonthDayConverter.html" title="class in org.apache.tamaya.core.internal.converters">MonthDayConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ListValue.html#mutable()">mutable()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ListValue.html" title="class in org.apache.tamaya.spi">ListValue</a></dt>
<dd>
<div class="block">Clones this instance and all it's children, marking as mutable value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ObjectValue.html#mutable()">mutable()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></dt>
<dd>
<div class="block">Clones this instance and all it's children, marking as mutable value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#mutable()">mutable()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Clones this instance and all it's children, marking as mutable createValue.</div>
</dd>
</dl>
<a id="I:N">
<!--   -->
</a>
<h2 class="title">N</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.html#newBuilder()">newBuilder()</a></span> - Static method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">SimplePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/core/internal/converters/NumberConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">NumberConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<div class="block">Converter, converting from String to Number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/NumberConverter.html#%3Cinit%3E()">NumberConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/NumberConverter.html" title="class in org.apache.tamaya.core.internal.converters">NumberConverter</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:O">
<!--   -->
</a>
<h2 class="title">O</h2>
<dl>
<dt><a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi"><span class="typeNameLink">ObjectValue</span></a> - Class in <a href="org/apache/tamaya/spi/package-summary.html">org.apache.tamaya.spi</a></dt>
<dd>
<div class="block">Class modelling the result of a request for a property value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/TypeLiteral.html#of(java.lang.reflect.Type)">of(Type)</a></span> - Static method in class org.apache.tamaya.<a href="org/apache/tamaya/TypeLiteral.html" title="class in org.apache.tamaya">TypeLiteral</a></dt>
<dd>
<div class="block">Creates a new TypeLiteral based on a given type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultPropertySourceSnapshot.html#of(org.apache.tamaya.spi.PropertySource)">of(PropertySource)</a></span> - Static method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultPropertySourceSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultPropertySourceSnapshot</a></dt>
<dd>
<div class="block">Creates a new FrozenPropertySource instance based on a PropertySource and the target key setPropertyValue given.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultPropertySourceSnapshot.html#of(org.apache.tamaya.spi.PropertySource,java.lang.Iterable)">of(PropertySource, Iterable&lt;String&gt;)</a></span> - Static method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultPropertySourceSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultPropertySourceSnapshot</a></dt>
<dd>
<div class="block">Creates a new FrozenPropertySource instance based on a PropertySource and the target key setPropertyValue given.</div>
</dd>
<dt><a href="org/apache/tamaya/core/internal/converters/OffsetDateTimeConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">OffsetDateTimeConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<div class="block">Converter, converting from String to OffsetDateTime.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/OffsetDateTimeConverter.html#%3Cinit%3E()">OffsetDateTimeConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/OffsetDateTimeConverter.html" title="class in org.apache.tamaya.core.internal.converters">OffsetDateTimeConverter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/core/internal/converters/OffsetTimeConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">OffsetTimeConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<div class="block">Converter, converting from String to OffsetTime.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/OffsetTimeConverter.html#%3Cinit%3E()">OffsetTimeConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/OffsetTimeConverter.html" title="class in org.apache.tamaya.core.internal.converters">OffsetTimeConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/ConfigOperator.html#operate(org.apache.tamaya.Configuration)">operate(Configuration)</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/ConfigOperator.html" title="interface in org.apache.tamaya">ConfigOperator</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Creates a new <a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya"><code>Configuration</code></a> based on the given Configuration.</div>
</dd>
<dt><a href="org/apache/tamaya/core/internal/converters/OptionalConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">OptionalConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<div class="block">Converter, converting from String to Optional.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/OptionalConverter.html#%3Cinit%3E()">OptionalConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/OptionalConverter.html" title="class in org.apache.tamaya.core.internal.converters">OptionalConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/OSGIServiceContext.html#ordinal()">ordinal()</a></span> - Method in class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/OSGIServiceContext.html" title="class in org.apache.tamaya.core.internal">OSGIServiceContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ServiceContext.html#ordinal()">ordinal()</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ServiceContext.html" title="interface in org.apache.tamaya.spi">ServiceContext</a></dt>
<dd>
<div class="block">Get the ordinal of the ServiceContext.</div>
</dd>
<dt><a href="org/apache/tamaya/package-summary.html">org.apache.tamaya</a> - package org.apache.tamaya</dt>
<dd>
<div class="block">This package contains the Apache Tamaya API.</div>
</dd>
<dt><a href="org/apache/tamaya/core/package-summary.html">org.apache.tamaya.core</a> - package org.apache.tamaya.core</dt>
<dd>
<div class="block">This is the root package of the Apache Tamaya API implementation.</div>
</dd>
<dt><a href="org/apache/tamaya/core/internal/package-summary.html">org.apache.tamaya.core.internal</a> - package org.apache.tamaya.core.internal</dt>
<dd>
<div class="block">Contains implementations of different property sources for supporting
 CLI, Environment and System Properties as well as simple properties
 based on the formats defined by <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Properties</code></a>.</div>
</dd>
<dt><a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a> - package org.apache.tamaya.core.internal.converters</dt>
<dd>
<div class="block">Contains implementations of the converters provided by default.</div>
</dd>
<dt><a href="org/apache/tamaya/core/propertysource/package-summary.html">org.apache.tamaya.core.propertysource</a> - package org.apache.tamaya.core.propertysource</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/examples/custompropertysource/package-summary.html">org.apache.tamaya.examples.custompropertysource</a> - package org.apache.tamaya.examples.custompropertysource</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/examples/minimal/package-summary.html">org.apache.tamaya.examples.minimal</a> - package org.apache.tamaya.examples.minimal</dt>
<dd>
<div class="block">Example to show the simplest ways to use Tamaya with
 the standard configuration file.</div>
</dd>
<dt><a href="org/apache/tamaya/spi/package-summary.html">org.apache.tamaya.spi</a> - package org.apache.tamaya.spi</dt>
<dd>
<div class="block">This package contains the Apache Tamaya SPI artifacts.</div>
</dd>
<dt><a href="org/apache/tamaya/spisupport/package-summary.html">org.apache.tamaya.spisupport</a> - package org.apache.tamaya.spisupport</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/spisupport/propertysource/package-summary.html">org.apache.tamaya.spisupport.propertysource</a> - package org.apache.tamaya.spisupport.propertysource</dt>
<dd>
<div class="block">Contains internal implementations artifacts registered as services.</div>
</dd>
<dt><a href="org/apache/tamaya/core/OSGIActivator.html" title="class in org.apache.tamaya.core"><span class="typeNameLink">OSGIActivator</span></a> - Class in <a href="org/apache/tamaya/core/package-summary.html">org.apache.tamaya.core</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/OSGIActivator.html#%3Cinit%3E()">OSGIActivator()</a></span> - Constructor for class org.apache.tamaya.core.<a href="org/apache/tamaya/core/OSGIActivator.html" title="class in org.apache.tamaya.core">OSGIActivator</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/core/internal/OSGIServiceContext.html" title="class in org.apache.tamaya.core.internal"><span class="typeNameLink">OSGIServiceContext</span></a> - Class in <a href="org/apache/tamaya/core/internal/package-summary.html">org.apache.tamaya.core.internal</a></dt>
<dd>
<div class="block">ServiceContext implementation based on OSGI Service mechanisms.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/OSGIServiceContext.html#%3Cinit%3E(org.apache.tamaya.core.internal.OSGIServiceLoader)">OSGIServiceContext(OSGIServiceLoader)</a></span> - Constructor for class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/OSGIServiceContext.html" title="class in org.apache.tamaya.core.internal">OSGIServiceContext</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/core/internal/OSGIServiceLoader.html" title="class in org.apache.tamaya.core.internal"><span class="typeNameLink">OSGIServiceLoader</span></a> - Class in <a href="org/apache/tamaya/core/internal/package-summary.html">org.apache.tamaya.core.internal</a></dt>
<dd>
<div class="block">A bundle listener that registers services defined in META-INF/services, when
 a bundle is starting.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/OSGIServiceLoader.html#%3Cinit%3E(org.osgi.framework.BundleContext)">OSGIServiceLoader(BundleContext)</a></span> - Constructor for class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/OSGIServiceLoader.html" title="class in org.apache.tamaya.core.internal">OSGIServiceLoader</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:P">
<!--   -->
</a>
<h2 class="title">P</h2>
<dl>
<dt><a href="org/apache/tamaya/core/internal/converters/PathConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">PathConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<div class="block">Converter, converting from String to Path, using FileSystem.getPath(createValue).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/PathConverter.html#%3Cinit%3E()">PathConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/PathConverter.html" title="class in org.apache.tamaya.core.internal.converters">PathConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ServiceContext.html#PRIORITY_ANNOTATION_AVAILABLE">PRIORITY_ANNOTATION_AVAILABLE</a></span> - Static variable in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ServiceContext.html" title="interface in org.apache.tamaya.spi">ServiceContext</a></dt>
<dd>
<div class="block">True if the <a href="https://docs.oracle.com/javase/8/docs/api/javax/annotation/Priority.html?is-external=true" title="class or interface in javax.annotation" class="externalLink"><code>Priority</code></a> annotation class is available on the classpath.</div>
</dd>
<dt><a href="org/apache/tamaya/spisupport/PriorityServiceComparator.html" title="class in org.apache.tamaya.spisupport"><span class="typeNameLink">PriorityServiceComparator</span></a> - Class in <a href="org/apache/tamaya/spisupport/package-summary.html">org.apache.tamaya.spisupport</a></dt>
<dd>
<div class="block">Comparator implementation for ordering services loaded based on their increasing priority values.</div>
</dd>
<dt><a href="org/apache/tamaya/spisupport/propertysource/PropertiesResourcePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource"><span class="typeNameLink">PropertiesResourcePropertySource</span></a> - Class in <a href="org/apache/tamaya/spisupport/propertysource/package-summary.html">org.apache.tamaya.spisupport.propertysource</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/PropertiesResourcePropertySource.html#%3Cinit%3E(java.lang.String)">PropertiesResourcePropertySource(String)</a></span> - Constructor for class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/PropertiesResourcePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">PropertiesResourcePropertySource</a></dt>
<dd>
<div class="block">Creates a new instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/PropertiesResourcePropertySource.html#%3Cinit%3E(java.lang.String,java.lang.ClassLoader)">PropertiesResourcePropertySource(String, ClassLoader)</a></span> - Constructor for class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/PropertiesResourcePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">PropertiesResourcePropertySource</a></dt>
<dd>
<div class="block">Creates a new instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/PropertiesResourcePropertySource.html#%3Cinit%3E(java.net.URL)">PropertiesResourcePropertySource(URL)</a></span> - Constructor for class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/PropertiesResourcePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">PropertiesResourcePropertySource</a></dt>
<dd>
<div class="block">Creates a new instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/PropertiesResourcePropertySource.html#%3Cinit%3E(java.net.URL,java.lang.String)">PropertiesResourcePropertySource(URL, String)</a></span> - Constructor for class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/PropertiesResourcePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">PropertiesResourcePropertySource</a></dt>
<dd>
<div class="block">Creates a new instance.</div>
</dd>
<dt><a href="org/apache/tamaya/spi/PropertyConverter.html" title="interface in org.apache.tamaya.spi"><span class="typeNameLink">PropertyConverter</span></a>&lt;<a href="org/apache/tamaya/spi/PropertyConverter.html" title="type parameter in PropertyConverter">T</a>&gt; - Interface in <a href="org/apache/tamaya/spi/package-summary.html">org.apache.tamaya.spi</a></dt>
<dd>
<div class="block">Interface for an property that converts a configured String into something else.</div>
</dd>
<dt><a href="org/apache/tamaya/spisupport/PropertyConverterManager.html" title="class in org.apache.tamaya.spisupport"><span class="typeNameLink">PropertyConverterManager</span></a> - Class in <a href="org/apache/tamaya/spisupport/package-summary.html">org.apache.tamaya.spisupport</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertyConverterManager.html#%3Cinit%3E(org.apache.tamaya.spi.ServiceContext)">PropertyConverterManager(ServiceContext)</a></span> - Constructor for class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertyConverterManager.html" title="class in org.apache.tamaya.spisupport">PropertyConverterManager</a></dt>
<dd>
<div class="block">Creates a new instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertyConverterManager.html#%3Cinit%3E(org.apache.tamaya.spi.ServiceContext,boolean)">PropertyConverterManager(ServiceContext, boolean)</a></span> - Constructor for class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertyConverterManager.html" title="class in org.apache.tamaya.spisupport">PropertyConverterManager</a></dt>
<dd>
<div class="block">Creates a new instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#propertyConverters">propertyConverters</a></span> - Variable in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/spi/PropertyFilter.html" title="interface in org.apache.tamaya.spi"><span class="typeNameLink">PropertyFilter</span></a> - Interface in <a href="org/apache/tamaya/spi/package-summary.html">org.apache.tamaya.spi</a></dt>
<dd>
<div class="block">Interface for filtering the current mapProperties of properties during the evaluation of the chain of PropertySources.</div>
</dd>
<dt><a href="org/apache/tamaya/spisupport/PropertyFilterComparator.html" title="class in org.apache.tamaya.spisupport"><span class="typeNameLink">PropertyFilterComparator</span></a> - Class in <a href="org/apache/tamaya/spisupport/package-summary.html">org.apache.tamaya.spisupport</a></dt>
<dd>
<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>
</dd>
<dt><a href="org/apache/tamaya/spisupport/PropertyFiltering.html" title="class in org.apache.tamaya.spisupport"><span class="typeNameLink">PropertyFiltering</span></a> - Class in <a href="org/apache/tamaya/spisupport/package-summary.html">org.apache.tamaya.spisupport</a></dt>
<dd>
<div class="block">Implementation of the Configuration API.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#propertyFilters">propertyFilters</a></span> - Variable in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi"><span class="typeNameLink">PropertySource</span></a> - Interface in <a href="org/apache/tamaya/spi/package-summary.html">org.apache.tamaya.spi</a></dt>
<dd>
<div class="block">This interface models a provider that serves configuration properties.</div>
</dd>
<dt><a href="org/apache/tamaya/spisupport/PropertySourceChangeSupport.html" title="class in org.apache.tamaya.spisupport"><span class="typeNameLink">PropertySourceChangeSupport</span></a> - Class in <a href="org/apache/tamaya/spisupport/package-summary.html">org.apache.tamaya.spisupport</a></dt>
<dd>
<div class="block">Simple support class for helping with change management on property sources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertySourceChangeSupport.html#%3Cinit%3E(org.apache.tamaya.spi.ChangeSupport,org.apache.tamaya.spi.PropertySource)">PropertySourceChangeSupport(ChangeSupport, PropertySource)</a></span> - Constructor for class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertySourceChangeSupport.html" title="class in org.apache.tamaya.spisupport">PropertySourceChangeSupport</a></dt>
<dd>
<div class="block">Create a new property change support instance.</div>
</dd>
<dt><a href="org/apache/tamaya/spisupport/PropertySourceComparator.html" title="class in org.apache.tamaya.spisupport"><span class="typeNameLink">PropertySourceComparator</span></a> - Class in <a href="org/apache/tamaya/spisupport/package-summary.html">org.apache.tamaya.spisupport</a></dt>
<dd>
<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>
</dd>
<dt><a href="org/apache/tamaya/spi/PropertySourceProvider.html" title="interface in org.apache.tamaya.spi"><span class="typeNameLink">PropertySourceProvider</span></a> - Interface in <a href="org/apache/tamaya/spi/package-summary.html">org.apache.tamaya.spi</a></dt>
<dd>
<div class="block">Implement this interfaces to provide a PropertySource provider which
 is able to register multiple PropertySources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#propertySources">propertySources</a></span> - Variable in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi"><span class="typeNameLink">PropertyValue</span></a> - Class in <a href="org/apache/tamaya/spi/package-summary.html">org.apache.tamaya.spi</a></dt>
<dd>
<div class="block">Class modelling the result of a request for a property createValue.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#%3Cinit%3E(java.lang.String)">PropertyValue(String)</a></span> - Constructor for class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Creates a new instance</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#%3Cinit%3E(java.lang.String,java.lang.String)">PropertyValue(String, String)</a></span> - Constructor for class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Creates a new instance</div>
</dd>
<dt><a href="org/apache/tamaya/spi/PropertyValue.ValueType.html" title="enum in org.apache.tamaya.spi"><span class="typeNameLink">PropertyValue.ValueType</span></a> - Enum in <a href="org/apache/tamaya/spi/package-summary.html">org.apache.tamaya.spi</a></dt>
<dd>
<div class="block">Enum of the different supported value types.</div>
</dd>
</dl>
<a id="I:Q">
<!--   -->
</a>
<h2 class="title">Q</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#query(org.apache.tamaya.ConfigQuery)">query(ConfigQuery&lt;T&gt;)</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="org/apache/tamaya/Configuration.html#adapt(java.util.function.Function)"><code>Configuration.adapt(Function)</code></a></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfiguration.html#query(org.apache.tamaya.ConfigQuery)">query(ConfigQuery&lt;T&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfiguration.html" title="class in org.apache.tamaya.spisupport">DefaultConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/ConfigQuery.html#query(org.apache.tamaya.Configuration)">query(Configuration)</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/ConfigQuery.html" title="interface in org.apache.tamaya">ConfigQuery</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Creates a result based on the given <a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya"><code>Configuration</code></a>.</div>
</dd>
</dl>
<a id="I:R">
<!--   -->
</a>
<h2 class="title">R</h2>
<dl>
<dt><a href="org/apache/tamaya/spisupport/ReflectionUtil.html" title="class in org.apache.tamaya.spisupport"><span class="typeNameLink">ReflectionUtil</span></a> - Class in <a href="org/apache/tamaya/spisupport/package-summary.html">org.apache.tamaya.spisupport</a></dt>
<dd>
<div class="block">Small utility class used by other parts.</div>
</dd>
<dt><a href="org/apache/tamaya/spisupport/RegexPropertyFilter.html" title="class in org.apache.tamaya.spisupport"><span class="typeNameLink">RegexPropertyFilter</span></a> - Class in <a href="org/apache/tamaya/spisupport/package-summary.html">org.apache.tamaya.spisupport</a></dt>
<dd>
<div class="block">Predicate filtering using a regex expression operating on the key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/RegexPropertyFilter.html#%3Cinit%3E()">RegexPropertyFilter()</a></span> - Constructor for class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/RegexPropertyFilter.html" title="class in org.apache.tamaya.spisupport">RegexPropertyFilter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/OSGIServiceContext.html#register(java.lang.Class,java.util.List,boolean)">register(Class&lt;T&gt;, List&lt;T&gt;, boolean)</a></span> - Method in class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/OSGIServiceContext.html" title="class in org.apache.tamaya.core.internal">OSGIServiceContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ServiceContext.html#register(java.lang.Class,java.util.List,boolean)">register(Class&lt;T&gt;, List&lt;T&gt;, boolean)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ServiceContext.html" title="interface in org.apache.tamaya.spi">ServiceContext</a></dt>
<dd>
<div class="block">Registers the given instancea as servicea for the given instance, if no
      * instance already has been registered.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultServiceContext.html#register(java.lang.Class,java.util.List,boolean)">register(Class&lt;T&gt;, List&lt;T&gt;, boolean)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultServiceContext.html" title="class in org.apache.tamaya.spisupport">DefaultServiceContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/OSGIServiceContext.html#register(java.lang.Class,T,boolean)">register(Class&lt;T&gt;, T, boolean)</a></span> - Method in class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/OSGIServiceContext.html" title="class in org.apache.tamaya.core.internal">OSGIServiceContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ServiceContext.html#register(java.lang.Class,T,boolean)">register(Class&lt;T&gt;, T, boolean)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ServiceContext.html" title="interface in org.apache.tamaya.spi">ServiceContext</a></dt>
<dd>
<div class="block">Registers the given instance as a singleton service for the given instance, if no
 instance already has been registered.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultServiceContext.html#register(java.lang.Class,T,boolean)">register(Class&lt;T&gt;, T, boolean)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultServiceContext.html" title="class in org.apache.tamaya.spisupport">DefaultServiceContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertyConverterManager.html#register(org.apache.tamaya.TypeLiteral,org.apache.tamaya.spi.PropertyConverter)">register(TypeLiteral&lt;T&gt;, PropertyConverter&lt;T&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertyConverterManager.html" title="class in org.apache.tamaya.spisupport">PropertyConverterManager</a></dt>
<dd>
<div class="block">Registers a new converters instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#releaseConfiguration(java.lang.ClassLoader)">releaseConfiguration(ClassLoader)</a></span> - Static method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Releases the configuration associated with the given classloader.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/CoreConfigurationProvider.html#releaseConfiguration(java.lang.ClassLoader)">releaseConfiguration(ClassLoader)</a></span> - Method in class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/CoreConfigurationProvider.html" title="class in org.apache.tamaya.core.internal">CoreConfigurationProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationProviderSpi.html#releaseConfiguration(java.lang.ClassLoader)">releaseConfiguration(ClassLoader)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationProviderSpi.html" title="interface in org.apache.tamaya.spi">ConfigurationProviderSpi</a></dt>
<dd>
<div class="block">This method allows to release a <a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya"><code>Configuration</code></a> for a classloader.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/SystemPropertySource.html#reload()">reload()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/SystemPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">SystemPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertySource.html#removeAllChangeListeners()">removeAllChangeListeners()</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a></dt>
<dd>
<div class="block">Removes all registered change listeners, if any.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/PropertiesResourcePropertySource.html#removeAllChangeListeners()">removeAllChangeListeners()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/PropertiesResourcePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">PropertiesResourcePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertySourceChangeSupport.html#removeAllChangeListeners()">removeAllChangeListeners()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertySourceChangeSupport.html" title="class in org.apache.tamaya.spisupport">PropertySourceChangeSupport</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertySource.html#removeChangeListener(java.util.function.BiConsumer)">removeChangeListener(BiConsumer&lt;Set&lt;String&gt;, PropertySource&gt;)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a></dt>
<dd>
<div class="block">Removes a change listener for this properrty source.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/PropertiesResourcePropertySource.html#removeChangeListener(java.util.function.BiConsumer)">removeChangeListener(BiConsumer&lt;Set&lt;String&gt;, PropertySource&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/PropertiesResourcePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">PropertiesResourcePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertySourceChangeSupport.html#removeChangeListener(java.util.function.BiConsumer)">removeChangeListener(BiConsumer&lt;Set&lt;String&gt;, PropertySource&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertySourceChangeSupport.html" title="class in org.apache.tamaya.spisupport">PropertySourceChangeSupport</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#removeMeta(java.lang.String)">removeMeta(String)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Removes a getMeta entry.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#removePropertyConverters(org.apache.tamaya.TypeLiteral)">removePropertyConverters(TypeLiteral&lt;?&gt;)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Removes all converters for the given type, which actually renders a given type
 unsupported for type conversion.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#removePropertyConverters(org.apache.tamaya.TypeLiteral)">removePropertyConverters(TypeLiteral&lt;?&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#removePropertyConverters(org.apache.tamaya.TypeLiteral,java.util.Collection)">removePropertyConverters(TypeLiteral&lt;T&gt;, Collection&lt;PropertyConverter&lt;T&gt;&gt;)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Removes the given PropertyConverter instances for the given type,
 if existing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#removePropertyConverters(org.apache.tamaya.TypeLiteral,java.util.Collection)">removePropertyConverters(TypeLiteral&lt;T&gt;, Collection&lt;PropertyConverter&lt;T&gt;&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#removePropertyConverters(org.apache.tamaya.TypeLiteral,org.apache.tamaya.spi.PropertyConverter...)">removePropertyConverters(TypeLiteral&lt;T&gt;, PropertyConverter&lt;T&gt;...)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Removes the given <a href="org/apache/tamaya/spi/PropertyConverter.html" title="interface in org.apache.tamaya.spi"><code>PropertyConverter</code></a> instances for the given type,
 if existing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#removePropertyFilters(java.util.Collection)">removePropertyFilters(Collection&lt;PropertyFilter&gt;)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Removes the given <a href="org/apache/tamaya/spi/PropertyFilter.html" title="interface in org.apache.tamaya.spi"><code>PropertyFilter</code></a> instances, if existing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#removePropertyFilters(java.util.Collection)">removePropertyFilters(Collection&lt;PropertyFilter&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#removePropertyFilters(org.apache.tamaya.spi.PropertyFilter...)">removePropertyFilters(PropertyFilter...)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Removes the given <a href="org/apache/tamaya/spi/PropertyFilter.html" title="interface in org.apache.tamaya.spi"><code>PropertyFilter</code></a> instances, if existing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#removePropertySources(java.util.Collection)">removePropertySources(Collection&lt;PropertySource&gt;)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Removes the given property sources, if existing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#removePropertySources(java.util.Collection)">removePropertySources(Collection&lt;PropertySource&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#removePropertySources(org.apache.tamaya.spi.PropertySource...)">removePropertySources(PropertySource...)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Removes the given property sources, if existing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/OSGIServiceContext.html#reset()">reset()</a></span> - Method in class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/OSGIServiceContext.html" title="class in org.apache.tamaya.core.internal">OSGIServiceContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ServiceContext.html#reset()">reset()</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ServiceContext.html" title="interface in org.apache.tamaya.spi">ServiceContext</a></dt>
<dd>
<div class="block">Resets the current service context, removing all loaded services.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultMetaDataProvider.html#reset()">reset()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultMetaDataProvider.html" title="class in org.apache.tamaya.spisupport">DefaultMetaDataProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultServiceContext.html#reset()">reset()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultServiceContext.html" title="class in org.apache.tamaya.spisupport">DefaultServiceContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/MetadataProvider.html#reset()">reset()</a></span> - Method in interface org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/MetadataProvider.html" title="interface in org.apache.tamaya.spisupport">MetadataProvider</a></dt>
<dd>
<div class="block">Resets this instance, which means it reloads metadata based on the given context and</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultMetaDataProvider.html#reset(java.lang.String)">reset(String)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultMetaDataProvider.html" title="class in org.apache.tamaya.spisupport">DefaultMetaDataProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/MetadataProvider.html#reset(java.lang.String)">reset(String)</a></span> - Method in interface org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/MetadataProvider.html" title="interface in org.apache.tamaya.spisupport">MetadataProvider</a></dt>
<dd>
<div class="block">Resets metadata for a property, which means it reloads metadata based on the given context and</div>
</dd>
</dl>
<a id="I:S">
<!--   -->
</a>
<h2 class="title">S</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertySourceChangeSupport.html#scheduleChangeMonitor(java.util.function.Supplier,long,java.util.concurrent.TimeUnit)">scheduleChangeMonitor(Supplier&lt;Map&lt;String, PropertyValue&gt;&gt;, long, TimeUnit)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertySourceChangeSupport.html" title="class in org.apache.tamaya.spisupport">PropertySourceChangeSupport</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#serviceContext">serviceContext</a></span> - Variable in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/spi/ServiceContext.html" title="interface in org.apache.tamaya.spi"><span class="typeNameLink">ServiceContext</span></a> - Interface in <a href="org/apache/tamaya/spi/package-summary.html">org.apache.tamaya.spi</a></dt>
<dd>
<div class="block">This class models the component that is managing the lifecycle current the
 services used by the Configuration API.</div>
</dd>
<dt><a href="org/apache/tamaya/spi/ServiceContextManager.html" title="class in org.apache.tamaya.spi"><span class="typeNameLink">ServiceContextManager</span></a> - Class in <a href="org/apache/tamaya/spi/package-summary.html">org.apache.tamaya.spi</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ServiceContextManager.html#set(org.apache.tamaya.spi.ServiceContext)">set(ServiceContext)</a></span> - Static method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ServiceContextManager.html" title="class in org.apache.tamaya.spi">ServiceContextManager</a></dt>
<dd>
<div class="block">Replace the current <a href="org/apache/tamaya/spi/ServiceContext.html" title="interface in org.apache.tamaya.spi"><code>ServiceContext</code></a> in use.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConversionContext.Builder.html#setAnnotatedElement(java.lang.reflect.AnnotatedElement)">setAnnotatedElement(AnnotatedElement)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConversionContext.Builder.html" title="class in org.apache.tamaya.spi">ConversionContext.Builder</a></dt>
<dd>
<div class="block">Sets the annotated element, when configuration is injected.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html#setChangeSupport(org.apache.tamaya.spi.ChangeSupport)">setChangeSupport(ChangeSupport)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BasePropertySource</a></dt>
<dd>
<div class="block">Sets the change support.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#setClassLoader(java.lang.ClassLoader)">setClassLoader(ClassLoader)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Set the classloader to be used for loading of configuration resources, equals to
 <code>setServiceContext(ServiceContextManager.getServiceContext(classLoader))</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#setClassLoader(java.lang.ClassLoader)">setClassLoader(ClassLoader)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/ConfigurationProvider.html#setConfiguration(org.apache.tamaya.Configuration)">setConfiguration(Configuration)</a></span> - Static method in class org.apache.tamaya.<a href="org/apache/tamaya/ConfigurationProvider.html" title="class in org.apache.tamaya">ConfigurationProvider</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">This method allows replacement of the current default <a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya"><code>Configuration</code></a> with a new
 instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#setConfiguration(org.apache.tamaya.Configuration)">setConfiguration(Configuration)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Init this builder instance with the given <a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya"><code>Configuration</code></a> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConversionContext.Builder.html#setConfiguration(org.apache.tamaya.Configuration)">setConfiguration(Configuration)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConversionContext.Builder.html" title="class in org.apache.tamaya.spi">ConversionContext.Builder</a></dt>
<dd>
<div class="block">Sets the configuration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#setConfiguration(org.apache.tamaya.Configuration)">setConfiguration(Configuration)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>
<div class="block">Allows to setCurrent configuration context during unit tests.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/ConfigurationProvider.html#setConfiguration(org.apache.tamaya.Configuration,java.lang.ClassLoader)">setConfiguration(Configuration, ClassLoader)</a></span> - Static method in class org.apache.tamaya.<a href="org/apache/tamaya/ConfigurationProvider.html" title="class in org.apache.tamaya">ConfigurationProvider</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">This method allows replacement of the current default <a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya"><code>Configuration</code></a> with a new
 instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/CoreConfigurationProvider.html#setConfiguration(org.apache.tamaya.Configuration,java.lang.ClassLoader)">setConfiguration(Configuration, ClassLoader)</a></span> - Method in class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/CoreConfigurationProvider.html" title="class in org.apache.tamaya.core.internal">CoreConfigurationProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationProviderSpi.html#setConfiguration(org.apache.tamaya.Configuration,java.lang.ClassLoader)">setConfiguration(Configuration, ClassLoader)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationProviderSpi.html" title="interface in org.apache.tamaya.spi">ConfigurationProviderSpi</a></dt>
<dd>
<div class="block">This method allows to replace the current <a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya"><code>Configuration</code></a> with a new
 instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#setContext(org.apache.tamaya.spi.ConfigurationContext)">setContext(ConfigurationContext)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Init this builder instance with the given <a href="org/apache/tamaya/spi/ConfigurationContext.html" title="interface in org.apache.tamaya.spi"><code>ConfigurationContext</code></a> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#setContext(org.apache.tamaya.spi.ConfigurationContext)">setContext(ConfigurationContext)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#setCurrent(org.apache.tamaya.Configuration)">setCurrent(Configuration)</a></span> - Static method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">This method allows replacement of the current default <a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya"><code>Configuration</code></a> with a new
 instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#setCurrent(org.apache.tamaya.Configuration,java.lang.ClassLoader)">setCurrent(Configuration, ClassLoader)</a></span> - Static method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">This method allows replacement of the current default <a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya"><code>Configuration</code></a> with a new
 instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/propertysource/BasePropertySource.html#setDefaultOrdinal(java.lang.Integer)">setDefaultOrdinal(Integer)</a></span> - Method in class org.apache.tamaya.core.propertysource.<a href="org/apache/tamaya/core/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.core.propertysource">BasePropertySource</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Allows setting the ordinal of this property source explicitly.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html#setDefaultOrdinal(java.lang.Integer)">setDefaultOrdinal(Integer)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BasePropertySource</a></dt>
<dd>
<div class="block">Allows setting the ordinal of this property source explicitly.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html#setDisabled(boolean)">setDisabled(boolean)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BasePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/JavaConfigurationPropertySource.html#setEnabled(boolean)">setEnabled(boolean)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/JavaConfigurationPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">JavaConfigurationPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/RegexPropertyFilter.html#setExcludes(java.lang.String...)">setExcludes(String...)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/RegexPropertyFilter.html" title="class in org.apache.tamaya.spisupport">RegexPropertyFilter</a></dt>
<dd>
<div class="block">Sets the regex expression to be applied on the key to remove the corresponding entries
 if matching.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/RegexPropertyFilter.html#setIncludes(java.lang.String...)">setIncludes(String...)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/RegexPropertyFilter.html" title="class in org.apache.tamaya.spisupport">RegexPropertyFilter</a></dt>
<dd>
<div class="block">Sets the regex expression to be applied on the key to filter the corresponding entry
 if matching.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConversionContext.Builder.html#setKey(java.lang.String)">setKey(String)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConversionContext.Builder.html" title="class in org.apache.tamaya.spi">ConversionContext.Builder</a></dt>
<dd>
<div class="block">Sets the key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#setKey(java.lang.String)">setKey(String)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Changes the entry's key, mapping also corresponding context entries.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#setMeta(java.lang.String,java.lang.Object)">setMeta(String, Object)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Add an additional context data information.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#setMeta(java.lang.String,java.lang.String,java.lang.String)">setMeta(String, String, String)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Adds (overrides existing value) the given sources as property sources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#setMeta(java.lang.String,java.lang.String,java.lang.String)">setMeta(String, String, String)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultMetaDataProvider.html#setMeta(java.lang.String,java.lang.String,java.lang.String)">setMeta(String, String, String)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultMetaDataProvider.html" title="class in org.apache.tamaya.spisupport">DefaultMetaDataProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/MetadataProvider.html#setMeta(java.lang.String,java.lang.String,java.lang.String)">setMeta(String, String, String)</a></span> - Method in interface org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/MetadataProvider.html" title="interface in org.apache.tamaya.spisupport">MetadataProvider</a></dt>
<dd>
<div class="block">Adds additional metadata.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#setMeta(java.lang.String,java.util.Map)">setMeta(String, Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Adds (overrides existing value with same same keys) the given sources as property sources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#setMeta(java.lang.String,java.util.Map)">setMeta(String, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultMetaDataProvider.html#setMeta(java.lang.String,java.util.Map)">setMeta(String, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultMetaDataProvider.html" title="class in org.apache.tamaya.spisupport">DefaultMetaDataProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/MetadataProvider.html#setMeta(java.lang.String,java.util.Map)">setMeta(String, Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/MetadataProvider.html" title="interface in org.apache.tamaya.spisupport">MetadataProvider</a></dt>
<dd>
<div class="block">Adds additional metadata.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#setMeta(java.util.Map)">setMeta(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Replaces/sets the context data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/propertysource/BasePropertySource.html#setName(java.lang.String)">setName(String)</a></span> - Method in class org.apache.tamaya.core.propertysource.<a href="org/apache/tamaya/core/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.core.propertysource">BasePropertySource</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Sets the property source's (unique) name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html#setName(java.lang.String)">setName(String)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BasePropertySource</a></dt>
<dd>
<div class="block">Sets the property source's (unique) name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/propertysource/BasePropertySource.html#setOrdinal(java.lang.Integer)">setOrdinal(Integer)</a></span> - Method in class org.apache.tamaya.core.propertysource.<a href="org/apache/tamaya/core/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.core.propertysource">BasePropertySource</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Allows setting the ordinal of this property source explicitly.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html#setOrdinal(java.lang.Integer)">setOrdinal(Integer)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BasePropertySource</a></dt>
<dd>
<div class="block">Allows setting the ordinal of this property source explicitly.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/PropertySourceComparator.html#setOrdinalKey(java.lang.String)">setOrdinalKey(String)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/PropertySourceComparator.html" title="class in org.apache.tamaya.spisupport">PropertySourceComparator</a></dt>
<dd>
<div class="block">Overrides/adds the key to evaluate/override a property source ordinal.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#setParent(org.apache.tamaya.spi.PropertyValue)">setParent(PropertyValue)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Sets the new parent, used iternally when converting between value types.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/MapPropertySource.html#setPrefix(java.lang.String)">setPrefix(String)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/MapPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">MapPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ObjectValue.html#setPropertyValue(org.apache.tamaya.spi.PropertyValue)">setPropertyValue(PropertyValue)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></dt>
<dd>
<div class="block">Adds another existing node, hereby setting the corresponding parent node.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#setServiceContext(org.apache.tamaya.spi.ServiceContext)">setServiceContext(ServiceContext)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Sets the ServiceContext to be used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#setServiceContext(org.apache.tamaya.spi.ServiceContext)">setServiceContext(ServiceContext)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConversionContext.Builder.html#setTargetType(org.apache.tamaya.TypeLiteral)">setTargetType(TypeLiteral)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConversionContext.Builder.html" title="class in org.apache.tamaya.spi">ConversionContext.Builder</a></dt>
<dd>
<div class="block">Sets the target type explicitly.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ServiceContextManager.html#setToStaticClassLoader(org.apache.tamaya.spi.ServiceContext)">setToStaticClassLoader(ServiceContext)</a></span> - Static method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ServiceContextManager.html" title="class in org.apache.tamaya.spi">ServiceContextManager</a></dt>
<dd>
<div class="block">Replace the current <a href="org/apache/tamaya/spi/ServiceContext.html" title="interface in org.apache.tamaya.spi"><code>ServiceContext</code></a> for the ServiceContextManager's classloader in use.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ListValue.html#setValue(java.lang.String)">setValue(String)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ListValue.html" title="class in org.apache.tamaya.spi">ListValue</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ObjectValue.html#setValue(java.lang.String)">setValue(String)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#setValue(java.lang.String)">setValue(String)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Sets the createValue.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ObjectValue.html#setValue(java.lang.String,java.lang.String)">setValue(String, String)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></dt>
<dd>
<div class="block">Sets the given key, value pair.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConversionContext.Builder.html#setValues(java.util.List)">setValues(List&lt;PropertyValue&gt;)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConversionContext.Builder.html" title="class in org.apache.tamaya.spi">ConversionContext.Builder</a></dt>
<dd>
<div class="block">Sets the underlying values evaluated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ObjectValue.html#setValues(java.util.Map)">setValues(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></dt>
<dd>
<div class="block">Applies a mapProperties of <code>Map&lt;String,String&gt;</code> to this instance as values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ObjectValue.html#setValues(java.util.Map,java.lang.String,boolean)">setValues(Map&lt;String, String&gt;, String, boolean)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></dt>
<dd>
<div class="block">Applies a mapProperties of <code>Map&lt;String,String&gt;</code> to this instance as values.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConversionContext.Builder.html#setValues(org.apache.tamaya.spi.PropertyValue...)">setValues(PropertyValue...)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConversionContext.Builder.html" title="class in org.apache.tamaya.spi">ConversionContext.Builder</a></dt>
<dd>
<div class="block">Sets the underlying values evaluated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ObjectValue.html#setValueWithCompositeKey(java.lang.String,java.lang.String)">setValueWithCompositeKey(String, String)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></dt>
<dd>
<div class="block">Adds a new child getValue, where the getValue is given in '.'</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ObjectValue.html#setValueWithCompositeKey(java.util.Map)">setValueWithCompositeKey(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></dt>
<dd>
<div class="block">Adds multiple values, where the keys are given in '.'</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#setVersion(int)">setVersion(int)</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Sets the new version, used iternally when cloning.</div>
</dd>
<dt><a href="org/apache/tamaya/core/internal/converters/ShortConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">ShortConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/ShortConverter.html#%3Cinit%3E()">ShortConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/ShortConverter.html" title="class in org.apache.tamaya.core.internal.converters">ShortConverter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/examples/custompropertysource/SimplePropertySource.html" title="class in org.apache.tamaya.examples.custompropertysource"><span class="typeNameLink">SimplePropertySource</span></a> - Class in <a href="org/apache/tamaya/examples/custompropertysource/package-summary.html">org.apache.tamaya.examples.custompropertysource</a></dt>
<dd>
<div class="block">A simple PropertySource class.</div>
</dd>
<dt><a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource"><span class="typeNameLink">SimplePropertySource</span></a> - Class in <a href="org/apache/tamaya/spisupport/propertysource/package-summary.html">org.apache.tamaya.spisupport.propertysource</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/examples/custompropertysource/SimplePropertySource.html#%3Cinit%3E()">SimplePropertySource()</a></span> - Constructor for class org.apache.tamaya.examples.custompropertysource.<a href="org/apache/tamaya/examples/custompropertysource/SimplePropertySource.html" title="class in org.apache.tamaya.examples.custompropertysource">SimplePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.html#%3Cinit%3E(java.io.File)">SimplePropertySource(File)</a></span> - Constructor for class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">SimplePropertySource</a></dt>
<dd>
<div class="block">Creates a new Properties based PropertySource based on the given URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.html#%3Cinit%3E(java.lang.String,java.net.URL)">SimplePropertySource(String, URL)</a></span> - Constructor for class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">SimplePropertySource</a></dt>
<dd>
<div class="block">Creates a new Properties based PropertySource based on the given URL.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.html#%3Cinit%3E(java.lang.String,java.util.Map)">SimplePropertySource(String, Map&lt;String, String&gt;)</a></span> - Constructor for class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">SimplePropertySource</a></dt>
<dd>
<div class="block">Creates a new Properties based PropertySource based on the given properties mapProperties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.html#%3Cinit%3E(java.lang.String,java.util.Map,int)">SimplePropertySource(String, Map&lt;String, String&gt;, int)</a></span> - Constructor for class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">SimplePropertySource</a></dt>
<dd>
<div class="block">Creates a new Properties based PropertySource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.html#%3Cinit%3E(java.net.URL)">SimplePropertySource(URL)</a></span> - Constructor for class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">SimplePropertySource</a></dt>
<dd>
<div class="block">Creates a new Properties based PropertySource based on the given URL.</div>
</dd>
<dt><a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource"><span class="typeNameLink">SimplePropertySource.Builder</span></a> - Class in <a href="org/apache/tamaya/spisupport/propertysource/package-summary.html">org.apache.tamaya.spisupport.propertysource</a></dt>
<dd>
<div class="block"><code>SimplePropertySource</code> builder static inner class.</div>
</dd>
<dt><a href="org/apache/tamaya/examples/custompropertysource/SimplePropertySourceProvider.html" title="class in org.apache.tamaya.examples.custompropertysource"><span class="typeNameLink">SimplePropertySourceProvider</span></a> - Class in <a href="org/apache/tamaya/examples/custompropertysource/package-summary.html">org.apache.tamaya.examples.custompropertysource</a></dt>
<dd>
<div class="block">A simple PropertySource provider class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/examples/custompropertysource/SimplePropertySourceProvider.html#%3Cinit%3E()">SimplePropertySourceProvider()</a></span> - Constructor for class org.apache.tamaya.examples.custompropertysource.<a href="org/apache/tamaya/examples/custompropertysource/SimplePropertySourceProvider.html" title="class in org.apache.tamaya.examples.custompropertysource">SimplePropertySourceProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#sortPropertyConverter(java.util.Comparator)">sortPropertyConverter(Comparator&lt;PropertyConverter&gt;)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Sorts the current registered property converters using the given comparator.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#sortPropertyConverter(java.util.Comparator)">sortPropertyConverter(Comparator&lt;PropertyConverter&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#sortPropertyFilter(java.util.Comparator)">sortPropertyFilter(Comparator&lt;PropertyFilter&gt;)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Sorts the current registered property filters using the given comparator.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#sortPropertyFilter(java.util.Comparator)">sortPropertyFilter(Comparator&lt;PropertyFilter&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConfigurationBuilder.html#sortPropertySources(java.util.Comparator)">sortPropertySources(Comparator&lt;PropertySource&gt;)</a></span> - Method in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></dt>
<dd>
<div class="block">Sorts the current registered property sources using the given comparator.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html#sortPropertySources(java.util.Comparator)">sortPropertySources(Comparator&lt;PropertySource&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/OSGIActivator.html#start(org.osgi.framework.BundleContext)">start(BundleContext)</a></span> - Method in class org.apache.tamaya.core.<a href="org/apache/tamaya/core/OSGIActivator.html" title="class in org.apache.tamaya.core">OSGIActivator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/OSGIActivator.html#stop(org.osgi.framework.BundleContext)">stop(BundleContext)</a></span> - Method in class org.apache.tamaya.core.<a href="org/apache/tamaya/core/OSGIActivator.html" title="class in org.apache.tamaya.core">OSGIActivator</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/core/internal/converters/SupplierConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">SupplierConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<div class="block">Converter, converting from String to Supplier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/SupplierConverter.html#%3Cinit%3E()">SupplierConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/SupplierConverter.html" title="class in org.apache.tamaya.core.internal.converters">SupplierConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ChangeSupport.html#SUPPORTED">SUPPORTED</a></span> - org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ChangeSupport.html" title="enum in org.apache.tamaya.spi">ChangeSupport</a></dt>
<dd>
<div class="block">Config change is supported, this config source supports registering ConfigChangeListeners.</div>
</dd>
<dt><a href="org/apache/tamaya/spisupport/propertysource/SystemPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource"><span class="typeNameLink">SystemPropertySource</span></a> - Class in <a href="org/apache/tamaya/spisupport/propertysource/package-summary.html">org.apache.tamaya.spisupport.propertysource</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/SystemPropertySource.html#%3Cinit%3E()">SystemPropertySource()</a></span> - Constructor for class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/SystemPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">SystemPropertySource</a></dt>
<dd>
<div class="block">Creates a new instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/SystemPropertySource.html#%3Cinit%3E(int)">SystemPropertySource(int)</a></span> - Constructor for class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/SystemPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">SystemPropertySource</a></dt>
<dd>
<div class="block">Creates a new instance using a fixed ordinal createValue.</div>
</dd>
</dl>
<a id="I:T">
<!--   -->
</a>
<h2 class="title">T</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertySource.html#TAMAYA_ORDINAL">TAMAYA_ORDINAL</a></span> - Static variable in interface org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a></dt>
<dd>
<div class="block">property name to override default tamaya ordinals</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#toBuilder()">toBuilder()</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="block">Create a new builder using this instance as its base.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/CoreConfiguration.html#toBuilder()">toBuilder()</a></span> - Method in class org.apache.tamaya.core.internal.<a href="org/apache/tamaya/core/internal/CoreConfiguration.html" title="class in org.apache.tamaya.core.internal">CoreConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConversionContext.html#toBuilder()">toBuilder()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConversionContext.html" title="class in org.apache.tamaya.spi">ConversionContext</a></dt>
<dd>
<div class="block">Creates a builder based on this instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ListValue.html#toListValue()">toListValue()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ListValue.html" title="class in org.apache.tamaya.spi">ListValue</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ObjectValue.html#toListValue()">toListValue()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#toListValue()">toListValue()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Convert an instance to a List PropertyValue.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ObjectValue.html#toLocalMap()">toLocalMap()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></dt>
<dd>
<div class="block">Convert the value tree to a local property map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#toLocalMap()">toLocalMap()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Convert the value tree to a property mapProperties using local keys.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ObjectValue.html#toMap()">toMap()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></dt>
<dd>
<div class="block">Convert the value tree to a property map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#toMap()">toMap()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Convert the value tree to a property map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ListValue.html#toObjectValue()">toObjectValue()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ListValue.html" title="class in org.apache.tamaya.spi">ListValue</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ObjectValue.html#toObjectValue()">toObjectValue()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#toObjectValue()">toObjectValue()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Convert an instance to a Object PropertyValue.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/propertysource/BasePropertySource.html#toString()">toString()</a></span> - Method in class org.apache.tamaya.core.propertysource.<a href="org/apache/tamaya/core/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.core.propertysource">BasePropertySource</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConversionContext.Builder.html#toString()">toString()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConversionContext.Builder.html" title="class in org.apache.tamaya.spi">ConversionContext.Builder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ConversionContext.html#toString()">toString()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ConversionContext.html" title="class in org.apache.tamaya.spi">ConversionContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/FilterContext.html#toString()">toString()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/FilterContext.html" title="class in org.apache.tamaya.spi">FilterContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ListValue.html#toString()">toString()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ListValue.html" title="class in org.apache.tamaya.spi">ListValue</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ObjectValue.html#toString()">toString()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ObjectValue.html" title="class in org.apache.tamaya.spi">ObjectValue</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.html#toString()">toString()</a></span> - Method in class org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></dt>
<dd>
<div class="block">Create a String representation of the tree.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfiguration.html#toString()">toString()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfiguration.html" title="class in org.apache.tamaya.spisupport">DefaultConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationContext.html#toString()">toString()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationContext.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html#toString()">toString()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigurationSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationSnapshot</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfigValueEvaluator.html#toString()">toString()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfigValueEvaluator.html" title="class in org.apache.tamaya.spisupport">DefaultConfigValueEvaluator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultMetaDataProvider.html#toString()">toString()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultMetaDataProvider.html" title="class in org.apache.tamaya.spisupport">DefaultMetaDataProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultPropertySourceSnapshot.html#toString()">toString()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultPropertySourceSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultPropertySourceSnapshot</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html#toString()">toString()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BasePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.html#toString()">toString()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySourceProvider.html#toString()">toString()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySourceProvider.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySourceProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/JavaConfigurationPropertySource.html#toString()">toString()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/JavaConfigurationPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">JavaConfigurationPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/RegexPropertyFilter.html#toString()">toString()</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/RegexPropertyFilter.html" title="class in org.apache.tamaya.spisupport">RegexPropertyFilter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/TypeLiteral.html#toString()">toString()</a></span> - Method in class org.apache.tamaya.<a href="org/apache/tamaya/TypeLiteral.html" title="class in org.apache.tamaya">TypeLiteral</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/propertysource/BasePropertySource.html#toStringValues()">toStringValues()</a></span> - Method in class org.apache.tamaya.core.propertysource.<a href="org/apache/tamaya/core/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.core.propertysource">BasePropertySource</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html#toStringValues()">toStringValues()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BasePropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/CLIPropertySource.html#toStringValues()">toStringValues()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/CLIPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">CLIPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html#toStringValues()">toStringValues()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/EnvironmentPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">EnvironmentPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/MapPropertySource.html#toStringValues()">toStringValues()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/MapPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">MapPropertySource</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/TypeLiteral.html" title="class in org.apache.tamaya"><span class="typeNameLink">TypeLiteral</span></a>&lt;<a href="org/apache/tamaya/TypeLiteral.html" title="type parameter in TypeLiteral">T</a>&gt; - Class in <a href="org/apache/tamaya/package-summary.html">org.apache.tamaya</a></dt>
<dd>
<div class="block">Class for instantiation of objects that represent parameterized types
 with current parameters.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/TypeLiteral.html#%3Cinit%3E()">TypeLiteral()</a></span> - Constructor for class org.apache.tamaya.<a href="org/apache/tamaya/TypeLiteral.html" title="class in org.apache.tamaya">TypeLiteral</a></dt>
<dd>
<div class="block">Constructor only for directly implementing a TypeLiteral hereby dynamically implementing a generic interface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/TypeLiteral.html#%3Cinit%3E(java.lang.reflect.Type)">TypeLiteral(Type)</a></span> - Constructor for class org.apache.tamaya.<a href="org/apache/tamaya/TypeLiteral.html" title="class in org.apache.tamaya">TypeLiteral</a></dt>
<dd>
<div class="block">Constructor.</div>
</dd>
</dl>
<a id="I:U">
<!--   -->
</a>
<h2 class="title">U</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ChangeSupport.html#UNSUPPORTED">UNSUPPORTED</a></span> - org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ChangeSupport.html" title="enum in org.apache.tamaya.spi">ChangeSupport</a></dt>
<dd>
<div class="block">Config change is not supported.</div>
</dd>
<dt><a href="org/apache/tamaya/core/internal/converters/URIConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">URIConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<div class="block">Converter, converting from String to URI, using new URI(createValue).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/URIConverter.html#%3Cinit%3E()">URIConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/URIConverter.html" title="class in org.apache.tamaya.core.internal.converters">URIConverter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/core/internal/converters/URLConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">URLConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<div class="block">Converter, converting from String to URL, using new URL(createValue).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/URLConverter.html#%3Cinit%3E()">URLConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/URLConverter.html" title="class in org.apache.tamaya.core.internal.converters">URLConverter</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:V">
<!--   -->
</a>
<h2 class="title">V</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.ValueType.html#VALUE">VALUE</a></span> - org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.ValueType.html" title="enum in org.apache.tamaya.spi">PropertyValue.ValueType</a></dt>
<dd>
<div class="block">A simple value property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ChangeSupport.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ChangeSupport.html" title="enum in org.apache.tamaya.spi">ChangeSupport</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.ValueType.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.ValueType.html" title="enum in org.apache.tamaya.spi">PropertyValue.ValueType</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/ChangeSupport.html#values()">values()</a></span> - Static method in enum org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/ChangeSupport.html" title="enum in org.apache.tamaya.spi">ChangeSupport</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spi/PropertyValue.ValueType.html#values()">values()</a></span> - Static method in enum org.apache.tamaya.spi.<a href="org/apache/tamaya/spi/PropertyValue.ValueType.html" title="enum in org.apache.tamaya.spi">PropertyValue.ValueType</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
</dl>
<a id="I:W">
<!--   -->
</a>
<h2 class="title">W</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/Configuration.html#with(org.apache.tamaya.ConfigOperator)">with(ConfigOperator)</a></span> - Method in interface org.apache.tamaya.<a href="org/apache/tamaya/Configuration.html" title="interface in org.apache.tamaya">Configuration</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">use <a href="org/apache/tamaya/Configuration.html#map(java.util.function.UnaryOperator)"><code>Configuration.map(UnaryOperator)</code></a></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/DefaultConfiguration.html#with(org.apache.tamaya.ConfigOperator)">with(ConfigOperator)</a></span> - Method in class org.apache.tamaya.spisupport.<a href="org/apache/tamaya/spisupport/DefaultConfiguration.html" title="class in org.apache.tamaya.spisupport">DefaultConfiguration</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.Builder.html#withDefaultOrdinal(int)">withDefaultOrdinal(int)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource">SimplePropertySource.Builder</a></dt>
<dd>
<div class="block">Sets the <code>defaultOrdinal</code> and returns a reference to this Builder so that the methods
 can be chained together.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.Builder.html#withName(java.lang.String)">withName(String)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySource.Builder</a></dt>
<dd>
<div class="block">With name builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.Builder.html#withName(java.lang.String)">withName(String)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource">SimplePropertySource.Builder</a></dt>
<dd>
<div class="block">Sets the <code>name</code> and returns a reference to this Builder so that the methods
 can be chained together.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.Builder.html#withOrdinal(int)">withOrdinal(int)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySource.Builder</a></dt>
<dd>
<div class="block">With ordinal builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.Builder.html#withOrdinal(int)">withOrdinal(int)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource">SimplePropertySource.Builder</a></dt>
<dd>
<div class="block">Sets the <code>ordinal</code> and returns a reference to this Builder so that the methods
 can be chained together.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.Builder.html#withProperties(java.io.File)">withProperties(File)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource">SimplePropertySource.Builder</a></dt>
<dd>
<div class="block">Reads the <code>properties</code> from the given resource and returns a reference
 to this Builder so that the methods can be chained together.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.Builder.html#withProperties(java.net.URL)">withProperties(URL)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource">SimplePropertySource.Builder</a></dt>
<dd>
<div class="block">Reads the <code>properties</code> from the given resource and returns a reference
 to this Builder so that the methods can be chained together.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.Builder.html#withProperties(java.util.Map)">withProperties(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource">SimplePropertySource.Builder</a></dt>
<dd>
<div class="block">Sets the <code>properties</code> and returns a reference to this Builder so that the methods can be chained together.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.Builder.html#withProperties(java.util.Map,java.lang.String)">withProperties(Map&lt;String, String&gt;, String)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySource.Builder</a></dt>
<dd>
<div class="block">With properties builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.Builder.html#withProperties(java.util.Map)">withProperties(Map&lt;String, PropertyValue&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySource.Builder</a></dt>
<dd>
<div class="block">With properties builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.Builder.html#withProperties(org.apache.tamaya.spi.PropertyValue...)">withProperties(PropertyValue...)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySource.Builder</a></dt>
<dd>
<div class="block">With properties builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.Builder.html#withProperty(java.lang.String,java.lang.String)">withProperty(String, String)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource">SimplePropertySource.Builder</a></dt>
<dd>
<div class="block">Sets the <code>properties</code> and returns a reference to this Builder so that the methods can be chained together.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySourceProvider.Builder.html#withPropertySourcs(java.util.Collection)">withPropertySourcs(Collection&lt;PropertySource&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySourceProvider.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySourceProvider.Builder</a></dt>
<dd>
<div class="block">With property sources builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySourceProvider.Builder.html#withPropertySourcs(org.apache.tamaya.spi.PropertySource...)">withPropertySourcs(PropertySource...)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySourceProvider.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySourceProvider.Builder</a></dt>
<dd>
<div class="block">With propertySources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.Builder.html#withSimpleProperties(java.util.Map)">withSimpleProperties(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySource.Builder</a></dt>
<dd>
<div class="block">With simple properties builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.Builder.html#withSimpleProperty(java.lang.String,java.lang.String)">withSimpleProperty(String, String)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySource.Builder</a></dt>
<dd>
<div class="block">With simple property builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.Builder.html#withSimpleProperty(java.lang.String,java.lang.String,java.lang.String)">withSimpleProperty(String, String, String)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySource.Builder</a></dt>
<dd>
<div class="block">With simple property builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.Builder.html#withSource(java.lang.String)">withSource(String)</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/BuildablePropertySource.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySource.Builder</a></dt>
<dd>
<div class="block">With source builder.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.Builder.html#withUuidName()">withUuidName()</a></span> - Method in class org.apache.tamaya.spisupport.propertysource.<a href="org/apache/tamaya/spisupport/propertysource/SimplePropertySource.Builder.html" title="class in org.apache.tamaya.spisupport.propertysource">SimplePropertySource.Builder</a></dt>
<dd>
<div class="block">Sets the <code>name</code> to a new UUID and returns a reference to this Builder so that the methods
 can be chained together.</div>
</dd>
</dl>
<a id="I:Y">
<!--   -->
</a>
<h2 class="title">Y</h2>
<dl>
<dt><a href="org/apache/tamaya/core/internal/converters/YearConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">YearConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<div class="block">Converter, converting from String to Year.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/YearConverter.html#%3Cinit%3E()">YearConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/YearConverter.html" title="class in org.apache.tamaya.core.internal.converters">YearConverter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/tamaya/core/internal/converters/YearMonthConverter.html" title="class in org.apache.tamaya.core.internal.converters"><span class="typeNameLink">YearMonthConverter</span></a> - Class in <a href="org/apache/tamaya/core/internal/converters/package-summary.html">org.apache.tamaya.core.internal.converters</a></dt>
<dd>
<div class="block">Converter, converting from String to YearMonth.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/tamaya/core/internal/converters/YearMonthConverter.html#%3Cinit%3E()">YearMonthConverter()</a></span> - Constructor for class org.apache.tamaya.core.internal.converters.<a href="org/apache/tamaya/core/internal/converters/YearMonthConverter.html" title="class in org.apache.tamaya.core.internal.converters">YearMonthConverter</a></dt>
<dd>&nbsp;</dd>
</dl>
<a href="#I:A">A</a>&nbsp;<a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:Q">Q</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;<a href="#I:Y">Y</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes</a>&nbsp;<a href="allpackages-index.html">All&nbsp;Packages</a></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 class="navBarCell1Rev">Index</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>
