blob: c533bd7ea18457a91571edf5ed2e55ea00655e7a [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_40) on Thu Jul 20 13:15:49 PDT 2017 -->
<title>VersionStabilityPolicy (gobblin-config-core 0.11.0 API)</title>
<meta name="date" content="2017-07-20">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="VersionStabilityPolicy (gobblin-config-core 0.11.0 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</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">
<li><a href="../../../../gobblin/config/client/api/ConfigStoreFactoryDoesNotExistsException.html" title="class in gobblin.config.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?gobblin/config/client/api/VersionStabilityPolicy.html" target="_top">Frames</a></li>
<li><a href="VersionStabilityPolicy.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></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>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">gobblin.config.client.api</div>
<h2 title="Enum VersionStabilityPolicy" class="title">Enum VersionStabilityPolicy</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../gobblin/config/client/api/VersionStabilityPolicy.html" title="enum in gobblin.config.client.api">VersionStabilityPolicy</a>&gt;</li>
<li>
<ul class="inheritance">
<li>gobblin.config.client.api.VersionStabilityPolicy</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../gobblin/config/client/api/VersionStabilityPolicy.html" title="enum in gobblin.config.client.api">VersionStabilityPolicy</a>&gt;</dd>
</dl>
<hr>
<br>
<pre><a href="http://linkedin.github.io/gobblin/javadoc/0.11.0/gobblin-api/gobblin/annotation/Alpha.html?is-external=true" title="class or interface in gobblin.annotation">@Alpha</a>
public enum <span class="typeNameLabel">VersionStabilityPolicy</span>
extends <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../gobblin/config/client/api/VersionStabilityPolicy.html" title="enum in gobblin.config.client.api">VersionStabilityPolicy</a>&gt;</pre>
<div class="block">This policy specifies the behavior expected by the client application when making repeated
calls to fetch the configuration object for the same config key and version. This interface
is closely associated with the <a href="../../../../gobblin/config/store/api/ConfigStoreWithStableVersioning.html" title="annotation in gobblin.config.store.api"><code>ConfigStoreWithStableVersioning</code></a> API.
<p>The semantic of each policy is documented with each constant.
<p> Here is the table that summarizes the expected client library behavior depending on the
VersionStabilityPolicy and ConfigStoreWithStableVersioning support from a store.
<table>
<tr><th>VersionStabilityPolicy/ConfigStoreWithStableVersioning</th>
<th>No</th> <th>Yes</th></tr>
<tr><th><a href="../../../../gobblin/config/client/api/VersionStabilityPolicy.html#CROSS_JVM_STABILITY"><code>CROSS_JVM_STABILITY</code></a></th> <td>ERROR</td> <td>WeakCache</td></tr>
<tr><th><a href="../../../../gobblin/config/client/api/VersionStabilityPolicy.html#STRONG_LOCAL_STABILITY"><code>STRONG_LOCAL_STABILITY</code></a></th> <td>StrongCache</td> <td>WeakCache</td></tr>
<tr><th><a href="../../../../gobblin/config/client/api/VersionStabilityPolicy.html#WEAK_LOCAL_STABILITY"><code>WEAK_LOCAL_STABILITY</code></a></th> <td>WeakCache</td> <td>WeakCache</td></tr>
<tr><th><a href="../../../../gobblin/config/client/api/VersionStabilityPolicy.html#READ_FRESHEST"><code>READ_FRESHEST</code></a></th> <td>NoCache</td> <td>WeakCache</td></tr>
</table>
<ul>
<li>ERROR means that the client library should throw an exception because the requested
VersionStabilityPolicy cannot be supported</li>
<li>WeakCache means that the client library may cache in memory configs that have been already
read for performance reasons and if memory allows it.</li>
<li>StrongCache means that the client library should always cache in memory the read configs to
guarantee the requested VersionStabilityPolicy</li>
<li>NoCache means that the client library should never cache the read configs.</li>
</ul></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== ENUM CONSTANT SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="enum.constant.summary">
<!-- -->
</a>
<h3>Enum Constant Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Enum Constant and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../gobblin/config/client/api/VersionStabilityPolicy.html#CROSS_JVM_STABILITY">CROSS_JVM_STABILITY</a></span></code>
<div class="block">Reading the same config key and version from different JVMs must return the same result.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../gobblin/config/client/api/VersionStabilityPolicy.html#READ_FRESHEST">READ_FRESHEST</a></span></code>
<div class="block">The application needs to read the most recent config if the underlying store does not support
stable versioning.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../gobblin/config/client/api/VersionStabilityPolicy.html#STRONG_LOCAL_STABILITY">STRONG_LOCAL_STABILITY</a></span></code>
<div class="block">Reading the same config key and version from the same JVMs must return the same result.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../gobblin/config/client/api/VersionStabilityPolicy.html#WEAK_LOCAL_STABILITY">WEAK_LOCAL_STABILITY</a></span></code>
<div class="block">The application does not depend on getting the same config for the same key and version but
the client library may use caching to improve performance.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static <a href="../../../../gobblin/config/client/api/VersionStabilityPolicy.html" title="enum in gobblin.config.client.api">VersionStabilityPolicy</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../gobblin/config/client/api/VersionStabilityPolicy.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../gobblin/config/client/api/VersionStabilityPolicy.html" title="enum in gobblin.config.client.api">VersionStabilityPolicy</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../gobblin/config/client/api/VersionStabilityPolicy.html#values--">values</a></span>()</code>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
<code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ ENUM CONSTANT DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="enum.constant.detail">
<!-- -->
</a>
<h3>Enum Constant Detail</h3>
<a name="CROSS_JVM_STABILITY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CROSS_JVM_STABILITY</h4>
<pre>public static final&nbsp;<a href="../../../../gobblin/config/client/api/VersionStabilityPolicy.html" title="enum in gobblin.config.client.api">VersionStabilityPolicy</a> CROSS_JVM_STABILITY</pre>
<div class="block">Reading the same config key and version from different JVMs must return the same result.</div>
</li>
</ul>
<a name="STRONG_LOCAL_STABILITY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>STRONG_LOCAL_STABILITY</h4>
<pre>public static final&nbsp;<a href="../../../../gobblin/config/client/api/VersionStabilityPolicy.html" title="enum in gobblin.config.client.api">VersionStabilityPolicy</a> STRONG_LOCAL_STABILITY</pre>
<div class="block">Reading the same config key and version from the same JVMs must return the same result.</div>
</li>
</ul>
<a name="WEAK_LOCAL_STABILITY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WEAK_LOCAL_STABILITY</h4>
<pre>public static final&nbsp;<a href="../../../../gobblin/config/client/api/VersionStabilityPolicy.html" title="enum in gobblin.config.client.api">VersionStabilityPolicy</a> WEAK_LOCAL_STABILITY</pre>
<div class="block">The application does not depend on getting the same config for the same key and version but
the client library may use caching to improve performance. This means that the application
may read a stale config if the underlying store does not support stable versioning.</div>
</li>
</ul>
<a name="READ_FRESHEST">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>READ_FRESHEST</h4>
<pre>public static final&nbsp;<a href="../../../../gobblin/config/client/api/VersionStabilityPolicy.html" title="enum in gobblin.config.client.api">VersionStabilityPolicy</a> READ_FRESHEST</pre>
<div class="block">The application needs to read the most recent config if the underlying store does not support
stable versioning.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="values--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>values</h4>
<pre>public static&nbsp;<a href="../../../../gobblin/config/client/api/VersionStabilityPolicy.html" title="enum in gobblin.config.client.api">VersionStabilityPolicy</a>[]&nbsp;values()</pre>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared. This method may be used to iterate
over the constants as follows:
<pre>
for (VersionStabilityPolicy c : VersionStabilityPolicy.values())
&nbsp; System.out.println(c);
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an array containing the constants of this enum type, in the order they are declared</dd>
</dl>
</li>
</ul>
<a name="valueOf-java.lang.String-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>valueOf</h4>
<pre>public static&nbsp;<a href="../../../../gobblin/config/client/api/VersionStabilityPolicy.html" title="enum in gobblin.config.client.api">VersionStabilityPolicy</a>&nbsp;valueOf(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
<div class="block">Returns the enum constant of this type with the specified name.
The string must match <i>exactly</i> an identifier used to declare an
enum constant in this type. (Extraneous whitespace characters are
not permitted.)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the enum constant to be returned.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the enum constant with the specified name</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
<dd><code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</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">
<li><a href="../../../../gobblin/config/client/api/ConfigStoreFactoryDoesNotExistsException.html" title="class in gobblin.config.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?gobblin/config/client/api/VersionStabilityPolicy.html" target="_top">Frames</a></li>
<li><a href="VersionStabilityPolicy.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.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>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>