blob: 7b64678a65de3319efa41348648c2db231b5f97c [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="de">
<head>
<!-- Generated by javadoc -->
<title>PropertySource (Apache Tamaya Base 0.5-incubating-SNAPSHOT API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="keywords" content="org.apache.tamaya.spi.PropertySource interface">
<meta name="keywords" content="TAMAYA_ORDINAL">
<meta name="keywords" content="EMPTY">
<meta name="keywords" content="getOrdinal()">
<meta name="keywords" content="getName()">
<meta name="keywords" content="get()">
<meta name="keywords" content="getProperties()">
<meta name="keywords" content="isScannable()">
<meta name="keywords" content="getChangeSupport()">
<meta name="keywords" content="getVersion()">
<meta name="keywords" content="addChangeListener()">
<meta name="keywords" content="removeChangeListener()">
<meta name="keywords" content="removeAllChangeListeners()">
<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="PropertySource (Apache Tamaya Base 0.5-incubating-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var data = {"i0":18,"i1":6,"i2":18,"i3":6,"i4":18,"i5":6,"i6":18,"i7":50,"i8":18,"i9":18};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"],32:["t6","Deprecated 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/PropertySource.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><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&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 PropertySource" class="title">Interface PropertySource</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/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.core.propertysource">BasePropertySource</a></code>, <code><a href="../spisupport/propertysource/BasePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BasePropertySource</a></code>, <code><a href="../spisupport/propertysource/BuildablePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">BuildablePropertySource</a></code>, <code><a href="../spisupport/propertysource/CLIPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">CLIPropertySource</a></code>, <code><a href="../spisupport/DefaultPropertySourceSnapshot.html" title="class in org.apache.tamaya.spisupport">DefaultPropertySourceSnapshot</a></code>, <code><a href="../spisupport/propertysource/EnvironmentPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">EnvironmentPropertySource</a></code>, <code><a href="../spisupport/propertysource/JavaConfigurationPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">JavaConfigurationPropertySource</a></code>, <code><a href="../spisupport/propertysource/MapPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">MapPropertySource</a></code>, <code><a href="../spisupport/propertysource/PropertiesResourcePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">PropertiesResourcePropertySource</a></code>, <code><a href="../examples/custompropertysource/SimplePropertySource.html" title="class in org.apache.tamaya.examples.custompropertysource">SimplePropertySource</a></code>, <code><a href="../spisupport/propertysource/SimplePropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">SimplePropertySource</a></code>, <code><a href="../spisupport/propertysource/SystemPropertySource.html" title="class in org.apache.tamaya.spisupport.propertysource">SystemPropertySource</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">PropertySource</span></pre>
<div class="block"><p>This interface models a provider that serves configuration properties. The contained
properties may be read from a Map of single or several sources (composite).
PropertySources are the building blocks of the final configuration. </p>
<h3>Implementation Requirements</h3>
<p>Implementations of this interface must be</p>
<ul>
<li>Thread safe.</li>
</ul>
<p>A PropertySourceProvider will current picked up via the
<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> mechanism and can be registered via
<code>META-INF/services/org.apache.tamaya.spi.PropertySource</code>
</p>
<p>
If you like to register multiple PropertySources at the same time
you can use the <a href="PropertySourceProvider.html" title="interface in org.apache.tamaya.spi"><code>PropertySourceProvider</code></a>
interface.
</p></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#EMPTY">EMPTY</a></span></code></th>
<td class="colLast">
<div class="block">A resusable instance of an empty PropertySource.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <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></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#TAMAYA_ORDINAL">TAMAYA_ORDINAL</a></span></code></th>
<td class="colLast">
<div class="block">property name to override default tamaya ordinals</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== 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><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated 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>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addChangeListener(java.util.function.BiConsumer)">addChangeListener</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/BiConsumer.html?is-external=true" title="class or interface in java.util.function" class="externalLink">BiConsumer</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</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>&gt;,&#8203;<a href="PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a>&gt;&nbsp;l)</code></th>
<td class="colLast">
<div class="block">Add a change listener for this properrty source.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#get(java.lang.String)">get</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;key)</code></th>
<td class="colLast">
<div class="block">Access a property.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>default <a href="ChangeSupport.html" title="enum in org.apache.tamaya.spi">ChangeSupport</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getChangeSupport()">getChangeSupport</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the support for reporting changes to property sources provided by this instance.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><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></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getName()">getName</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the name of the property source.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>default int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getOrdinal()">getOrdinal</a></span>()</code></th>
<td class="colLast">
<div class="block">The ordinal value is the default ordering parameter which definines the default order of
auto-discovered property sources.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<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="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="PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getProperties()">getProperties</a></span>()</code></th>
<td class="colLast">
<div class="block">Access the current properties as Set.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>default <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></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getVersion()">getVersion</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the current version.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>default boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isScannable()">isScannable</a></span>()</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">will be removed.</div>
</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeAllChangeListeners()">removeAllChangeListeners</a></span>()</code></th>
<td class="colLast">
<div class="block">Removes all registered change listeners, if any.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeChangeListener(java.util.function.BiConsumer)">removeChangeListener</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/BiConsumer.html?is-external=true" title="class or interface in java.util.function" class="externalLink">BiConsumer</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</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>&gt;,&#8203;<a href="PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a>&gt;&nbsp;l)</code></th>
<td class="colLast">
<div class="block">Removes a change listener for this properrty source.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="TAMAYA_ORDINAL">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TAMAYA_ORDINAL</h4>
<pre>static final&nbsp;<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> TAMAYA_ORDINAL</pre>
<div class="block">property name to override default tamaya ordinals</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.tamaya.spi.PropertySource.TAMAYA_ORDINAL">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="EMPTY">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>EMPTY</h4>
<pre>static final&nbsp;<a href="PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a> EMPTY</pre>
<div class="block">A resusable instance of an empty PropertySource.</div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="getOrdinal()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOrdinal</h4>
<pre class="methodSignature">default&nbsp;int&nbsp;getOrdinal()</pre>
<div class="block">The ordinal value is the default ordering parameter which definines the default order of
auto-discovered property sources. Ordering of property sources is important since values
from property sources with higher ordinal values override values from less significant
property sources.
By default Tamaya includes the following property sources:
<ol>
<li>Properties file values (/META-INF/javaconfiguration.properties) (ordinal 100)</li>
<li>JNDI values (ordinal 200, only when adding the <code>tamaya-jndi</code> extension module)</li>
<li>Environment properties (ordinal 300)</li>
<li>System properties (ordinal 1000)</li>
</ol>
<p><b>Important Hints for custom implementations</b>:</p>
<p>
If a custom implementation should be invoked <b>before</b> the default implementations, use a value &gt; 1000
</p>
<p>
If a custom implementation should be invoked <b>after</b> the default implementations, use a value &lt; 100
</p>
<p>Reordering of the default order of the config-sources:</p>
<p>Example: If the properties file/s should be used <b>before</b> the other implementations,
you have to configure an ordinal &gt; 1000. That means, you have to addPropertyValue e.g. tamaya.ordinal=401 to
/META-INF/javaconfiguration.properties . Hint: In case of property files every file is handled as independent
config-source, but all of them have ordinal 400 by default (and can be reordered in a fine-grained manner.</p>
In cases where it is not possible to change a config sources ordinal value, you may have several options:
<ul>
<li>you can use a <a href="ConfigurationBuilder.html" title="interface in org.apache.tamaya.spi"><code>ConfigurationBuilder</code></a> to redefine the source order and finally use
<a href="../ConfigurationProvider.html#setConfiguration(org.apache.tamaya.Configuration)"><code>ConfigurationProvider.setConfiguration(Configuration)</code></a> to
change the current default <a href="../Configuration.html" title="interface in org.apache.tamaya"><code>Configuration</code></a>.</li>
<li>finally, the implementor of this API may define alternate mechanism to reconfigure an ordinal
in a vendor specific way.</li>
</ul></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the 'importance' aka ordinal of the configured values. The higher, the more important.</dd>
</dl>
</li>
</ul>
<a id="getName()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre class="methodSignature"><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;getName()</pre>
<div class="block">Get the name of the property source. The name should be unique for the type of source, whereas the id is used
to ensure unique identity, either locally or remotely.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the configuration's name, never <code>null</code>.</dd>
</dl>
</li>
</ul>
<a id="get(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre class="methodSignature"><a href="PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a>&nbsp;get&#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;key)</pre>
<div class="block">Access a property.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the property's key, not <code>null</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the property value mapProperties, where <code>mapProperties.current(key) == value</code>, including also any metadata. In case a
value is null, simply return <code>null</code>.</dd>
</dl>
</li>
</ul>
<a id="getProperties()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProperties</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="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="PropertyValue.html" title="class in org.apache.tamaya.spi">PropertyValue</a>&gt;&nbsp;getProperties()</pre>
<div class="block">Access the current properties as Set. The resulting Map may not return all items accessible, e.g.
when the underlying storage does not support iteration of its entries.
<code>null</code></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the corresponding mapProperties, never null.</dd>
</dl>
</li>
</ul>
<a id="isScannable()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isScannable</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink">@Deprecated</a>
default&nbsp;boolean&nbsp;isScannable()</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">will be removed.</div>
</div>
<div class="block">Determines if this config source can be scanned for its createList of properties.
<p>
PropertySources which are not scannable might not be able to find all the
configured values to provide via <a href="#getProperties()"><code>getProperties()</code></a>. This might happen
if the underlying storage doesn't support listing.
</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if this PropertySource can be scanned for its createList of properties,
<code>false</code> if it cannot/should not be scanned.</dd>
</dl>
</li>
</ul>
<a id="getChangeSupport()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChangeSupport</h4>
<pre class="methodSignature">default&nbsp;<a href="ChangeSupport.html" title="enum in org.apache.tamaya.spi">ChangeSupport</a>&nbsp;getChangeSupport()</pre>
<div class="block">Get the support for reporting changes to property sources provided by this instance. This support
type should never change during a property source's lifetime.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the change support of this property source, not null.</dd>
</dl>
</li>
</ul>
<a id="getVersion()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getVersion</h4>
<pre class="methodSignature">default&nbsp;<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;getVersion()</pre>
<div class="block">Get the current version. A new version signals that it is known that properties have changed for this property
source. This is especially useful, when <a href="#getChangeSupport()"><code>getChangeSupport()</code></a> is <a href="ChangeSupport.html#SUPPORTED"><code>ChangeSupport.SUPPORTED</code></a>.
The content and format of the version String is imeplemtation specific. We recommend to addPropertyValue information
such as the loading timestamp, the source systems read or whatever is appropriate. By default this
method returns <code>"N/A"</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the version this property source, never null.</dd>
</dl>
</li>
</ul>
<a id="addChangeListener(java.util.function.BiConsumer)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addChangeListener</h4>
<pre class="methodSignature">default&nbsp;void&nbsp;addChangeListener&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/BiConsumer.html?is-external=true" title="class or interface in java.util.function" class="externalLink">BiConsumer</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</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>&gt;,&#8203;<a href="PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a>&gt;&nbsp;l)</pre>
<div class="block">Add a change listener for this properrty source.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>l</code> - the listner, not null.</dd>
</dl>
</li>
</ul>
<a id="removeChangeListener(java.util.function.BiConsumer)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeChangeListener</h4>
<pre class="methodSignature">default&nbsp;void&nbsp;removeChangeListener&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/BiConsumer.html?is-external=true" title="class or interface in java.util.function" class="externalLink">BiConsumer</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</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>&gt;,&#8203;<a href="PropertySource.html" title="interface in org.apache.tamaya.spi">PropertySource</a>&gt;&nbsp;l)</pre>
<div class="block">Removes a change listener for this properrty source.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>l</code> - the listner, not null.</dd>
</dl>
</li>
</ul>
<a id="removeAllChangeListeners()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>removeAllChangeListeners</h4>
<pre class="methodSignature">default&nbsp;void&nbsp;removeAllChangeListeners()</pre>
<div class="block">Removes all registered change listeners, if any.</div>
</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/PropertySource.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><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&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>