<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="de">
<head>
<!-- Generated by javadoc -->
<title>ConfigurationBuilder (Apache Tamaya Base 0.4-incubating API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="keywords" content="org.apache.tamaya.spi.ConfigurationBuilder interface">
<meta name="keywords" content="setClassLoader()">
<meta name="keywords" content="getClassLoader()">
<meta name="keywords" content="setServiceContext()">
<meta name="keywords" content="setConfiguration()">
<meta name="keywords" content="setContext()">
<meta name="keywords" content="addPropertySources()">
<meta name="keywords" content="setMeta()">
<meta name="keywords" content="addDefaultPropertySources()">
<meta name="keywords" content="removePropertySources()">
<meta name="keywords" content="getPropertySources()">
<meta name="keywords" content="getPropertyFilters()">
<meta name="keywords" content="getPropertyConverter()">
<meta name="keywords" content="increasePriority()">
<meta name="keywords" content="decreasePriority()">
<meta name="keywords" content="highestPriority()">
<meta name="keywords" content="lowestPriority()">
<meta name="keywords" content="addPropertyFilters()">
<meta name="keywords" content="addDefaultPropertyFilters()">
<meta name="keywords" content="removePropertyFilters()">
<meta name="keywords" content="addPropertyConverters()">
<meta name="keywords" content="addDefaultPropertyConverters()">
<meta name="keywords" content="removePropertyConverters()">
<meta name="keywords" content="sortPropertySources()">
<meta name="keywords" content="sortPropertyFilter()">
<meta name="keywords" content="sortPropertyConverter()">
<meta name="keywords" content="build()">
<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="ConfigurationBuilder (Apache Tamaya Base 0.4-incubating API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":18,"i5":6,"i6":18,"i7":6,"i8":18,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":18,"i21":6,"i22":18,"i23":6,"i24":18,"i25":6,"i26":18,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":6,"i33":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ConfigurationBuilder.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</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>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.tamaya.spi</a></div>
<h2 title="Interface ConfigurationBuilder" class="title">Interface ConfigurationBuilder</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="../core/internal/CoreConfigurationBuilder.html" title="class in org.apache.tamaya.core.internal">CoreConfigurationBuilder</a></code>, <code><a href="../spisupport/DefaultConfigurationBuilder.html" title="class in org.apache.tamaya.spisupport">DefaultConfigurationBuilder</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">ConfigurationBuilder</span></pre>
<div class="block">A builder for creating new instances of <a href="../Configuration.html" title="interface in org.apache.tamaya"><code>Configuration</code></a>.
 Builders can be obtained in exactly two ways:
 <ol>
     <li>By accessing a preinitialized builder from an existing <a href="../Configuration.html" title="interface in org.apache.tamaya"><code>Configuration</code></a>,
     by calling <a href="../Configuration.html#toBuilder()"><code>Configuration.toBuilder()</code></a>.</li>
     <li>By accessing an empty builder instance from
     <a href="../ConfigurationProvider.html#getConfigurationBuilder()"><code>ConfigurationProvider.getConfigurationBuilder()</code></a>.</li>
 </ol>
 After all changes are applied to a builder a new <a href="../Configuration.html" title="interface in org.apache.tamaya"><code>Configuration</code></a> instance can
 be created and can be applied by calling
 <a href="#build()"><code>build()</code></a>}.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addDefaultPropertyConverters()">addDefaultPropertyConverters</a></span>()</code></th>
<td class="colLast">
<div class="block">Add all auto-discoverable property converters to the context built.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addDefaultPropertyFilters()">addDefaultPropertyFilters</a></span>()</code></th>
<td class="colLast">
<div class="block">Add all auto-discoverable property filters to the context built.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addDefaultPropertySources()">addDefaultPropertySources</a></span>()</code></th>
<td class="colLast">
<div class="block">Adds all registered (default) property sources to the context built.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addPropertyConverters(org.apache.tamaya.TypeLiteral,java.util.Collection)">addPropertyConverters</a></span>&#8203;(<a href="../TypeLiteral.html" title="class in org.apache.tamaya">TypeLiteral</a>&lt;T&gt;&nbsp;typeToConvert,
                     <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="PropertyConverter.html" title="interface in org.apache.tamaya.spi">PropertyConverter</a>&lt;T&gt;&gt;&nbsp;propertyConverters)</code></th>
<td class="colLast">
<div class="block">This method can be used for adding <a href="PropertyConverter.html" title="interface in org.apache.tamaya.spi"><code>PropertyConverter</code></a>s.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>default &lt;T&gt;&nbsp;<a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addPropertyConverters(org.apache.tamaya.TypeLiteral,org.apache.tamaya.spi.PropertyConverter...)">addPropertyConverters</a></span>&#8203;(<a href="../TypeLiteral.html" title="class in org.apache.tamaya">TypeLiteral</a>&lt;T&gt;&nbsp;typeToConvert,
                     <a href="PropertyConverter.html" title="interface in org.apache.tamaya.spi">PropertyConverter</a>&lt;T&gt;...&nbsp;propertyConverters)</code></th>
<td class="colLast">
<div class="block">This method can be used for adding <a href="PropertyConverter.html" title="interface in org.apache.tamaya.spi"><code>PropertyConverter</code></a>s.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addPropertyFilters(java.util.Collection)">addPropertyFilters</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="PropertyFilter.html" title="interface in org.apache.tamaya.spi">PropertyFilter</a>&gt;&nbsp;filters)</code></th>
<td class="colLast">
<div class="block">Adds the given <a href="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>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>default <a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addPropertyFilters(org.apache.tamaya.spi.PropertyFilter...)">addPropertyFilters</a></span>&#8203;(<a href="PropertyFilter.html" title="interface in org.apache.tamaya.spi">PropertyFilter</a>...&nbsp;filters)</code></th>
<td class="colLast">
<div class="block">Adds the given <a href="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>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addPropertySources(java.util.Collection)">addPropertySources</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a>&gt;&nbsp;propertySources)</code></th>
<td class="colLast">
<div class="block">This method can be used for programmatically adding <a href="PropertySource.html" title="interface in org.apache.tamaya.spi"><code>PropertySource</code></a>s.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>default <a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addPropertySources(org.apache.tamaya.spi.PropertySource...)">addPropertySources</a></span>&#8203;(<a href="PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a>...&nbsp;propertySources)</code></th>
<td class="colLast">
<div class="block">This method can be used for adding <a href="PropertySource.html" title="interface in org.apache.tamaya.spi"><code>PropertySource</code></a>s.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../Configuration.html" title="interface in org.apache.tamaya">Configuration</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#build()">build</a></span>()</code></th>
<td class="colLast">
<div class="block">Builds a new <a href="../Configuration.html" title="interface in org.apache.tamaya"><code>Configuration</code></a> based on the data in this builder.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#decreasePriority(org.apache.tamaya.spi.PropertySource)">decreasePriority</a></span>&#8203;(<a href="PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a>&nbsp;propertySource)</code></th>
<td class="colLast">
<div class="block">Decreases the priority of the given property source, by moving it towards the start
 of the chain of property sources.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang" class="externalLink">ClassLoader</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getClassLoader()">getClassLoader</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the classloader used by this builder.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><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">Map</a>&lt;<a href="../TypeLiteral.html" title="class in org.apache.tamaya">TypeLiteral</a>&lt;?&gt;,&#8203;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="PropertyConverter.html" title="interface in org.apache.tamaya.spi">PropertyConverter</a>&lt;?&gt;&gt;&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPropertyConverter()">getPropertyConverter</a></span>()</code></th>
<td class="colLast">
<div class="block">Access the current registered property converters.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="PropertyFilter.html" title="interface in org.apache.tamaya.spi">PropertyFilter</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPropertyFilters()">getPropertyFilters</a></span>()</code></th>
<td class="colLast">
<div class="block">Access the current chain of property filters.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPropertySources()">getPropertySources</a></span>()</code></th>
<td class="colLast">
<div class="block">Access the current chain of property sources.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#highestPriority(org.apache.tamaya.spi.PropertySource)">highestPriority</a></span>&#8203;(<a href="PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a>&nbsp;propertySource)</code></th>
<td class="colLast">
<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>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#increasePriority(org.apache.tamaya.spi.PropertySource)">increasePriority</a></span>&#8203;(<a href="PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a>&nbsp;propertySource)</code></th>
<td class="colLast">
<div class="block">Increases the priority of the given property source, by moving it towards the end
 of the chain of property sources.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#lowestPriority(org.apache.tamaya.spi.PropertySource)">lowestPriority</a></span>&#8203;(<a href="PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a>&nbsp;propertySource)</code></th>
<td class="colLast">
<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>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removePropertyConverters(org.apache.tamaya.TypeLiteral)">removePropertyConverters</a></span>&#8203;(<a href="../TypeLiteral.html" title="class in org.apache.tamaya">TypeLiteral</a>&lt;?&gt;&nbsp;typeToConvert)</code></th>
<td class="colLast">
<div class="block">Removes all converters for the given type, which actually renders a given type
 unsupported for type conversion.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removePropertyConverters(org.apache.tamaya.TypeLiteral,java.util.Collection)">removePropertyConverters</a></span>&#8203;(<a href="../TypeLiteral.html" title="class in org.apache.tamaya">TypeLiteral</a>&lt;T&gt;&nbsp;typeToConvert,
                        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="PropertyConverter.html" title="interface in org.apache.tamaya.spi">PropertyConverter</a>&lt;T&gt;&gt;&nbsp;propertyConverters)</code></th>
<td class="colLast">
<div class="block">Removes the given PropertyConverter instances for the given type,
 if existing.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>default &lt;T&gt;&nbsp;<a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removePropertyConverters(org.apache.tamaya.TypeLiteral,org.apache.tamaya.spi.PropertyConverter...)">removePropertyConverters</a></span>&#8203;(<a href="../TypeLiteral.html" title="class in org.apache.tamaya">TypeLiteral</a>&lt;T&gt;&nbsp;typeToConvert,
                        <a href="PropertyConverter.html" title="interface in org.apache.tamaya.spi">PropertyConverter</a>&lt;T&gt;...&nbsp;propertyConverters)</code></th>
<td class="colLast">
<div class="block">Removes the given <a href="PropertyConverter.html" title="interface in org.apache.tamaya.spi"><code>PropertyConverter</code></a> instances for the given type,
 if existing.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removePropertyFilters(java.util.Collection)">removePropertyFilters</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="PropertyFilter.html" title="interface in org.apache.tamaya.spi">PropertyFilter</a>&gt;&nbsp;filter)</code></th>
<td class="colLast">
<div class="block">Removes the given <a href="PropertyFilter.html" title="interface in org.apache.tamaya.spi"><code>PropertyFilter</code></a> instances, if existing.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>default <a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removePropertyFilters(org.apache.tamaya.spi.PropertyFilter...)">removePropertyFilters</a></span>&#8203;(<a href="PropertyFilter.html" title="interface in org.apache.tamaya.spi">PropertyFilter</a>...&nbsp;filters)</code></th>
<td class="colLast">
<div class="block">Removes the given <a href="PropertyFilter.html" title="interface in org.apache.tamaya.spi"><code>PropertyFilter</code></a> instances, if existing.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removePropertySources(java.util.Collection)">removePropertySources</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a>&gt;&nbsp;propertySources)</code></th>
<td class="colLast">
<div class="block">Removes the given property sources, if existing.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>default <a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removePropertySources(org.apache.tamaya.spi.PropertySource...)">removePropertySources</a></span>&#8203;(<a href="PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a>...&nbsp;propertySources)</code></th>
<td class="colLast">
<div class="block">Removes the given property sources, if existing.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setClassLoader(java.lang.ClassLoader)">setClassLoader</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang" class="externalLink">ClassLoader</a>&nbsp;classLoader)</code></th>
<td class="colLast">
<div class="block">Set the classloader to be used for loading of configuration resources, equals to
 <code>setServiceContext(ServiceContextManager.getServiceContext(classLoader))</code>.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>default <a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setConfiguration(org.apache.tamaya.Configuration)">setConfiguration</a></span>&#8203;(<a href="../Configuration.html" title="interface in org.apache.tamaya">Configuration</a>&nbsp;config)</code></th>
<td class="colLast">
<div class="block">Init this builder instance with the given <a href="../Configuration.html" title="interface in org.apache.tamaya"><code>Configuration</code></a> instance.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setContext(org.apache.tamaya.spi.ConfigurationContext)">setContext</a></span>&#8203;(<a href="ConfigurationContext.html" title="interface in org.apache.tamaya.spi">ConfigurationContext</a>&nbsp;context)</code></th>
<td class="colLast">
<div class="block">Init this builder instance with the given <a href="ConfigurationContext.html" title="interface in org.apache.tamaya.spi"><code>ConfigurationContext</code></a> instance.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMeta(java.lang.String,java.lang.String,java.lang.String)">setMeta</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;property,
       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;key,
       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Adds (overrides existing value) the given sources as property sources.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMeta(java.lang.String,java.util.Map)">setMeta</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;property,
       <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">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;metaData)</code></th>
<td class="colLast">
<div class="block">Adds (overrides existing value with same same keys) the given sources as property sources.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setServiceContext(org.apache.tamaya.spi.ServiceContext)">setServiceContext</a></span>&#8203;(<a href="ServiceContext.html" title="interface in org.apache.tamaya.spi">ServiceContext</a>&nbsp;serviceContext)</code></th>
<td class="colLast">
<div class="block">Sets the ServiceContext to be used.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sortPropertyConverter(java.util.Comparator)">sortPropertyConverter</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util" class="externalLink">Comparator</a>&lt;<a href="PropertyConverter.html" title="interface in org.apache.tamaya.spi">PropertyConverter</a>&gt;&nbsp;comparator)</code></th>
<td class="colLast">
<div class="block">Sorts the current registered property converters using the given comparator.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sortPropertyFilter(java.util.Comparator)">sortPropertyFilter</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util" class="externalLink">Comparator</a>&lt;<a href="PropertyFilter.html" title="interface in org.apache.tamaya.spi">PropertyFilter</a>&gt;&nbsp;comparator)</code></th>
<td class="colLast">
<div class="block">Sorts the current registered property filters using the given comparator.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sortPropertySources(java.util.Comparator)">sortPropertySources</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util" class="externalLink">Comparator</a>&lt;<a href="PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a>&gt;&nbsp;comparator)</code></th>
<td class="colLast">
<div class="block">Sorts the current registered property sources using the given comparator.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="setClassLoader(java.lang.ClassLoader)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setClassLoader</h4>
<pre class="methodSignature"><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;setClassLoader&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang" class="externalLink">ClassLoader</a>&nbsp;classLoader)</pre>
<div class="block">Set the classloader to be used for loading of configuration resources, equals to
 <code>setServiceContext(ServiceContextManager.getServiceContext(classLoader))</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>classLoader</code> - the classloader, not null.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the builder for chaining.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#getClassLoader()"><code>getClassLoader()</code></a></dd>
</dl>
</li>
</ul>
<a id="getClassLoader()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClassLoader</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang" class="externalLink">ClassLoader</a>&nbsp;getClassLoader()</pre>
<div class="block">Get the classloader used by this builder.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the classloader, never null.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#setClassLoader(java.lang.ClassLoader)"><code>setClassLoader(ClassLoader)</code></a></dd>
</dl>
</li>
</ul>
<a id="setServiceContext(org.apache.tamaya.spi.ServiceContext)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setServiceContext</h4>
<pre class="methodSignature"><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;setServiceContext&#8203;(<a href="ServiceContext.html" title="interface in org.apache.tamaya.spi">ServiceContext</a>&nbsp;serviceContext)</pre>
<div class="block">Sets the ServiceContext to be used.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serviceContext</code> - the serviceContext, nuo null.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this instance for chaining.</dd>
</dl>
</li>
</ul>
<a id="setConfiguration(org.apache.tamaya.Configuration)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setConfiguration</h4>
<pre class="methodSignature">default&nbsp;<a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;setConfiguration&#8203;(<a href="../Configuration.html" title="interface in org.apache.tamaya">Configuration</a>&nbsp;config)</pre>
<div class="block">Init this builder instance with the given <a href="../Configuration.html" title="interface in org.apache.tamaya"><code>Configuration</code></a> instance. This
 method will use any existing property sources, filters, converters and the combination
 policy of the given <a href="../Configuration.html" title="interface in org.apache.tamaya"><code>Configuration</code></a> and initialize the current builder
 with them. All previous property sources, filters, converters and the combination
 policy of this instance will be replaced.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>config</code> - the <a href="../Configuration.html" title="interface in org.apache.tamaya"><code>Configuration</code></a> instance to be used, not <code>null</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder, for chaining, never null.</dd>
</dl>
</li>
</ul>
<a id="setContext(org.apache.tamaya.spi.ConfigurationContext)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setContext</h4>
<pre class="methodSignature"><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;setContext&#8203;(<a href="ConfigurationContext.html" title="interface in org.apache.tamaya.spi">ConfigurationContext</a>&nbsp;context)</pre>
<div class="block">Init this builder instance with the given <a href="ConfigurationContext.html" title="interface in org.apache.tamaya.spi"><code>ConfigurationContext</code></a> instance. This
 method will use any existing property sources, filters, converters and the combination
 policy of the given <a href="ConfigurationContext.html" title="interface in org.apache.tamaya.spi"><code>ConfigurationContext</code></a> and initialize the current builder
 with them. All previous property sources, filters, converters and the combination
 policy of this instance will be replaced.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>context</code> - the <a href="ConfigurationContext.html" title="interface in org.apache.tamaya.spi"><code>ConfigurationContext</code></a> instance to be used, not <code>null</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder, for chaining, never null.</dd>
</dl>
</li>
</ul>
<a id="addPropertySources(org.apache.tamaya.spi.PropertySource...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addPropertySources</h4>
<pre class="methodSignature">default&nbsp;<a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;addPropertySources&#8203;(<a href="PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a>...&nbsp;propertySources)</pre>
<div class="block">This method can be used for adding <a href="PropertySource.html" title="interface in org.apache.tamaya.spi"><code>PropertySource</code></a>s.
 Hereby the property source is added to the tail of property sources with
 lowest priority  regardless of its current ordinal value. To sort the property
 sources based on their ordinals call <a href="#sortPropertySources(java.util.Comparator)"><code>sortPropertySources(java.util.Comparator&lt;org.apache.tamaya.spi.PropertySource&gt;)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>propertySources</code> - the <a href="PropertySource.html" title="interface in org.apache.tamaya.spi"><code>PropertySource</code></a>s to addPropertyValue</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder, for chaining, never null.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalArgumentException</a></code> - If a property source with a given name already
 exists.</dd>
</dl>
</li>
</ul>
<a id="setMeta(java.lang.String,java.lang.String,java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMeta</h4>
<pre class="methodSignature"><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;setMeta&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;property,
                             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;key,
                             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;value)</pre>
<div class="block">Adds (overrides existing value) the given sources as property sources.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>property</code> - the property key, not null,</dd>
<dd><code>key</code> - the key, not null.</dd>
<dd><code>value</code> - the value, not null.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current configuration builder.</dd>
</dl>
</li>
</ul>
<a id="setMeta(java.lang.String,java.util.Map)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMeta</h4>
<pre class="methodSignature"><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;setMeta&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;property,
                             <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">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;metaData)</pre>
<div class="block">Adds (overrides existing value with same same keys) the given sources as property sources.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>property</code> - the property key, not null,</dd>
<dd><code>metaData</code> - the metadata, not null.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current configuration builder.</dd>
</dl>
</li>
</ul>
<a id="addPropertySources(java.util.Collection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addPropertySources</h4>
<pre class="methodSignature"><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;addPropertySources&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a>&gt;&nbsp;propertySources)</pre>
<div class="block">This method can be used for programmatically adding <a href="PropertySource.html" title="interface in org.apache.tamaya.spi"><code>PropertySource</code></a>s.
 Hereby the property source is added to the tail of property sources with
 lowest priority regardless of its current ordinal value. To sort the property
 sources based on their ordinals call <a href="#sortPropertySources(java.util.Comparator)"><code>sortPropertySources(java.util.Comparator&lt;org.apache.tamaya.spi.PropertySource&gt;)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>propertySources</code> - the <a href="PropertySource.html" title="interface in org.apache.tamaya.spi"><code>PropertySource</code></a>s to addPropertyValue</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder, for chaining, never null.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalArgumentException</a></code> - If a property source with a given name already
 exists.</dd>
</dl>
</li>
</ul>
<a id="addDefaultPropertySources()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addDefaultPropertySources</h4>
<pre class="methodSignature"><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;addDefaultPropertySources()</pre>
<div class="block">Adds all registered (default) property sources to the context built. The sources are ordered
 based on their ordinal values and added to the chain of property sources with
 higher priority.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder, for chaining, never null.</dd>
</dl>
</li>
</ul>
<a id="removePropertySources(org.apache.tamaya.spi.PropertySource...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removePropertySources</h4>
<pre class="methodSignature">default&nbsp;<a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;removePropertySources&#8203;(<a href="PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a>...&nbsp;propertySources)</pre>
<div class="block">Removes the given property sources, if existing. The existing order of property
 sources is preserved.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>propertySources</code> - the property sources to remove, not <code>null</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the builder for chaining.</dd>
</dl>
</li>
</ul>
<a id="removePropertySources(java.util.Collection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removePropertySources</h4>
<pre class="methodSignature"><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;removePropertySources&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a>&gt;&nbsp;propertySources)</pre>
<div class="block">Removes the given property sources, if existing. The existing order of property
 sources is preserved.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>propertySources</code> - the property sources to remove, not <code>null</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the builder for chaining.</dd>
</dl>
</li>
</ul>
<a id="getPropertySources()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPropertySources</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a>&gt;&nbsp;getPropertySources()</pre>
<div class="block">Access the current chain of property sources. Items at the end of the createList have
 precedence/higher significance.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the property source chain, never <code>null</code>.</dd>
</dl>
</li>
</ul>
<a id="getPropertyFilters()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPropertyFilters</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="PropertyFilter.html" title="interface in org.apache.tamaya.spi">PropertyFilter</a>&gt;&nbsp;getPropertyFilters()</pre>
<div class="block">Access the current chain of property filters. Items at the end of the createList have
 precedence/higher significance.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the property filter chain, never <code>null</code>.</dd>
</dl>
</li>
</ul>
<a id="getPropertyConverter()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPropertyConverter</h4>
<pre class="methodSignature"><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">Map</a>&lt;<a href="../TypeLiteral.html" title="class in org.apache.tamaya">TypeLiteral</a>&lt;?&gt;,&#8203;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="PropertyConverter.html" title="interface in org.apache.tamaya.spi">PropertyConverter</a>&lt;?&gt;&gt;&gt;&nbsp;getPropertyConverter()</pre>
<div class="block">Access the current registered property converters.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current registered property converters.</dd>
</dl>
</li>
</ul>
<a id="increasePriority(org.apache.tamaya.spi.PropertySource)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>increasePriority</h4>
<pre class="methodSignature"><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;increasePriority&#8203;(<a href="PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a>&nbsp;propertySource)</pre>
<div class="block">Increases the priority of the given property source, by moving it towards the end
 of the chain of property sources. If the property source given is already at the end
 this method has no effect. This operation does not change any ordinal values.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>propertySource</code> - the property source to be incresed regarding its significance.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the builder for chaining.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalArgumentException</a></code> - If no such property source exists in the current
 chain.</dd>
</dl>
</li>
</ul>
<a id="decreasePriority(org.apache.tamaya.spi.PropertySource)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decreasePriority</h4>
<pre class="methodSignature"><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;decreasePriority&#8203;(<a href="PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a>&nbsp;propertySource)</pre>
<div class="block">Decreases the priority of the given property source, by moving it towards the start
 of the chain of property sources. If the property source given is already the first
 this method has no effect. This operation does not change any ordinal values.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>propertySource</code> - the property source to be decresed regarding its significance.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the builder for chaining.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalArgumentException</a></code> - If no such property source exists in the current
 chain.</dd>
</dl>
</li>
</ul>
<a id="highestPriority(org.apache.tamaya.spi.PropertySource)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>highestPriority</h4>
<pre class="methodSignature"><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;highestPriority&#8203;(<a href="PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a>&nbsp;propertySource)</pre>
<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. If the property source given is
 already the last item this method has no effect. This operation does not change
 any ordinal values.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>propertySource</code> - the property source to be maximized regarding its significance.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the builder for chaining.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalArgumentException</a></code> - If no such property source exists in the current
 chain.</dd>
</dl>
</li>
</ul>
<a id="lowestPriority(org.apache.tamaya.spi.PropertySource)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lowestPriority</h4>
<pre class="methodSignature"><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;lowestPriority&#8203;(<a href="PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a>&nbsp;propertySource)</pre>
<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. If the property source given is
 already the first item this method has no effect. This operation does not change
 any ordinal values.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>propertySource</code> - the property source to be minimized regarding its significance.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the builder for chaining.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalArgumentException</a></code> - If no such property source exists in the current
 chain.</dd>
</dl>
</li>
</ul>
<a id="addPropertyFilters(org.apache.tamaya.spi.PropertyFilter...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addPropertyFilters</h4>
<pre class="methodSignature">default&nbsp;<a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;addPropertyFilters&#8203;(<a href="PropertyFilter.html" title="interface in org.apache.tamaya.spi">PropertyFilter</a>...&nbsp;filters)</pre>
<div class="block">Adds the given <a href="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. The ordering of existing
 property filters remains unchanged. To sort the property
 filters call <a href="#sortPropertyFilter(java.util.Comparator)"><code>sortPropertyFilter(java.util.Comparator&lt;org.apache.tamaya.spi.PropertyFilter&gt;)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filters</code> - the filters to addPropertyValue</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder, for chaining, never null.</dd>
</dl>
</li>
</ul>
<a id="addPropertyFilters(java.util.Collection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addPropertyFilters</h4>
<pre class="methodSignature"><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;addPropertyFilters&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="PropertyFilter.html" title="interface in org.apache.tamaya.spi">PropertyFilter</a>&gt;&nbsp;filters)</pre>
<div class="block">Adds the given <a href="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. The ordering of existing
 property filters remains unchanged. To sort the property
 filters call <a href="#sortPropertyFilter(java.util.Comparator)"><code>sortPropertyFilter(java.util.Comparator&lt;org.apache.tamaya.spi.PropertyFilter&gt;)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filters</code> - the filters to addPropertyValue</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder, for chaining, never null.</dd>
</dl>
</li>
</ul>
<a id="addDefaultPropertyFilters()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addDefaultPropertyFilters</h4>
<pre class="methodSignature"><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;addDefaultPropertyFilters()</pre>
<div class="block">Add all auto-discoverable property filters to the context built.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder, for chaining, never null.</dd>
</dl>
</li>
</ul>
<a id="removePropertyFilters(org.apache.tamaya.spi.PropertyFilter...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removePropertyFilters</h4>
<pre class="methodSignature">default&nbsp;<a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;removePropertyFilters&#8203;(<a href="PropertyFilter.html" title="interface in org.apache.tamaya.spi">PropertyFilter</a>...&nbsp;filters)</pre>
<div class="block">Removes the given <a href="PropertyFilter.html" title="interface in org.apache.tamaya.spi"><code>PropertyFilter</code></a> instances, if existing. The order of the remaining
 filters is preserved.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filters</code> - the filter to remove</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder, for chaining, never null.</dd>
</dl>
</li>
</ul>
<a id="removePropertyFilters(java.util.Collection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removePropertyFilters</h4>
<pre class="methodSignature"><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;removePropertyFilters&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="PropertyFilter.html" title="interface in org.apache.tamaya.spi">PropertyFilter</a>&gt;&nbsp;filter)</pre>
<div class="block">Removes the given <a href="PropertyFilter.html" title="interface in org.apache.tamaya.spi"><code>PropertyFilter</code></a> instances, if existing. The order of the remaining
 filters is preserved.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filter</code> - the filter to remove</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder, for chaining, never null.</dd>
</dl>
</li>
</ul>
<a id="addPropertyConverters(org.apache.tamaya.TypeLiteral,org.apache.tamaya.spi.PropertyConverter...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addPropertyConverters</h4>
<pre class="methodSignature">default&nbsp;&lt;T&gt;&nbsp;<a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;addPropertyConverters&#8203;(<a href="../TypeLiteral.html" title="class in org.apache.tamaya">TypeLiteral</a>&lt;T&gt;&nbsp;typeToConvert,
                                                       <a href="PropertyConverter.html" title="interface in org.apache.tamaya.spi">PropertyConverter</a>&lt;T&gt;...&nbsp;propertyConverters)</pre>
<div class="block">This method can be used for adding <a href="PropertyConverter.html" title="interface in org.apache.tamaya.spi"><code>PropertyConverter</code></a>s.
 Converters are added at the end after any existing converters.
 For converters already registered for the current target type the
 method has no effect.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the target type.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>typeToConvert</code> - the type for which the converter is used</dd>
<dd><code>propertyConverters</code> - the <a href="PropertyConverter.html" title="interface in org.apache.tamaya.spi"><code>PropertyConverter</code></a>s to addPropertyValue for this type</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder, for chaining, never null.</dd>
</dl>
</li>
</ul>
<a id="addPropertyConverters(org.apache.tamaya.TypeLiteral,java.util.Collection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addPropertyConverters</h4>
<pre class="methodSignature">&lt;T&gt;&nbsp;<a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;addPropertyConverters&#8203;(<a href="../TypeLiteral.html" title="class in org.apache.tamaya">TypeLiteral</a>&lt;T&gt;&nbsp;typeToConvert,
                                               <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="PropertyConverter.html" title="interface in org.apache.tamaya.spi">PropertyConverter</a>&lt;T&gt;&gt;&nbsp;propertyConverters)</pre>
<div class="block">This method can be used for adding <a href="PropertyConverter.html" title="interface in org.apache.tamaya.spi"><code>PropertyConverter</code></a>s.
 Converters are added at the end after any existing converters.
 For converters already registered for the current target type the
 method has no effect.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the target type.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>typeToConvert</code> - the type for which the converter is used</dd>
<dd><code>propertyConverters</code> - the PropertyConverters to addPropertyValue for this type</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder, for chaining, never null.</dd>
</dl>
</li>
</ul>
<a id="addDefaultPropertyConverters()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addDefaultPropertyConverters</h4>
<pre class="methodSignature"><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;addDefaultPropertyConverters()</pre>
<div class="block">Add all auto-discoverable property converters to the context built.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder, for chaining, never null.</dd>
</dl>
</li>
</ul>
<a id="removePropertyConverters(org.apache.tamaya.TypeLiteral,org.apache.tamaya.spi.PropertyConverter...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removePropertyConverters</h4>
<pre class="methodSignature">default&nbsp;&lt;T&gt;&nbsp;<a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;removePropertyConverters&#8203;(<a href="../TypeLiteral.html" title="class in org.apache.tamaya">TypeLiteral</a>&lt;T&gt;&nbsp;typeToConvert,
                                                          <a href="PropertyConverter.html" title="interface in org.apache.tamaya.spi">PropertyConverter</a>&lt;T&gt;...&nbsp;propertyConverters)</pre>
<div class="block">Removes the given <a href="PropertyConverter.html" title="interface in org.apache.tamaya.spi"><code>PropertyConverter</code></a> instances for the given type,
 if existing.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the target type.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>typeToConvert</code> - the type which the converter is used</dd>
<dd><code>propertyConverters</code> - the converter to remove</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder, for chaining, never null.</dd>
</dl>
</li>
</ul>
<a id="removePropertyConverters(org.apache.tamaya.TypeLiteral,java.util.Collection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removePropertyConverters</h4>
<pre class="methodSignature">&lt;T&gt;&nbsp;<a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;removePropertyConverters&#8203;(<a href="../TypeLiteral.html" title="class in org.apache.tamaya">TypeLiteral</a>&lt;T&gt;&nbsp;typeToConvert,
                                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="PropertyConverter.html" title="interface in org.apache.tamaya.spi">PropertyConverter</a>&lt;T&gt;&gt;&nbsp;propertyConverters)</pre>
<div class="block">Removes the given PropertyConverter instances for the given type,
 if existing.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - the target type.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>typeToConvert</code> - the type which the converter is used</dd>
<dd><code>propertyConverters</code> - the converter to remove</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder, for chaining, never null.</dd>
</dl>
</li>
</ul>
<a id="removePropertyConverters(org.apache.tamaya.TypeLiteral)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removePropertyConverters</h4>
<pre class="methodSignature"><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;removePropertyConverters&#8203;(<a href="../TypeLiteral.html" title="class in org.apache.tamaya">TypeLiteral</a>&lt;?&gt;&nbsp;typeToConvert)</pre>
<div class="block">Removes all converters for the given type, which actually renders a given type
 unsupported for type conversion.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>typeToConvert</code> - the type which the converter is used</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this builder, for chaining, never null.</dd>
</dl>
</li>
</ul>
<a id="sortPropertySources(java.util.Comparator)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sortPropertySources</h4>
<pre class="methodSignature"><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;sortPropertySources&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util" class="externalLink">Comparator</a>&lt;<a href="PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a>&gt;&nbsp;comparator)</pre>
<div class="block">Sorts the current registered property sources using the given comparator.

 <p>NOTE: property sources at the beginning have minimal significance.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>comparator</code> - the comparator to be used, not <code>null</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this instance for chaining.</dd>
</dl>
</li>
</ul>
<a id="sortPropertyFilter(java.util.Comparator)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sortPropertyFilter</h4>
<pre class="methodSignature"><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;sortPropertyFilter&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util" class="externalLink">Comparator</a>&lt;<a href="PropertyFilter.html" title="interface in org.apache.tamaya.spi">PropertyFilter</a>&gt;&nbsp;comparator)</pre>
<div class="block">Sorts the current registered property filters using the given comparator.

 <p>NOTE: property filters at the beginning have minimal significance.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>comparator</code> - the comparator to be used, not <code>null</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this instance for chaining.</dd>
</dl>
</li>
</ul>
<a id="sortPropertyConverter(java.util.Comparator)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sortPropertyConverter</h4>
<pre class="methodSignature"><a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi">ConfigurationBuilder</a>&nbsp;sortPropertyConverter&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util" class="externalLink">Comparator</a>&lt;<a href="PropertyConverter.html" title="interface in org.apache.tamaya.spi">PropertyConverter</a>&gt;&nbsp;comparator)</pre>
<div class="block">Sorts the current registered property converters using the given comparator.

 <p>NOTE: property converters at the beginning have minimal significance.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>comparator</code> - the comparator to be used, not <code>null</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this instance for chaining.</dd>
</dl>
</li>
</ul>
<a id="build()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>build</h4>
<pre class="methodSignature"><a href="../Configuration.html" title="interface in org.apache.tamaya">Configuration</a>&nbsp;build()</pre>
<div class="block">Builds a new <a href="../Configuration.html" title="interface in org.apache.tamaya"><code>Configuration</code></a> based on the data in this builder. The ordering of property
 sources and property filters is not changed, regardless of their ordinals. For ensure a certain
 ordering/significance use <a href="#sortPropertyFilter(java.util.Comparator)"><code>sortPropertyFilter(Comparator)</code></a> and/or <a href="#sortPropertySources(java.util.Comparator)"><code>sortPropertySources(Comparator)</code></a>
 before building the context.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the final configuration, never null.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<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><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ConfigurationBuilder.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</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>
