blob: bc197a272309f9c1256ae2dc7d86abf9f549fca0 [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) on Sun Aug 28 20:42:17 EST 2016 -->
<title>Ref (Apache River v3.0.0 API Documentation (internals))</title>
<meta name="date" content="2016-08-28">
<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="Ref (Apache River v3.0.0 API Documentation (internals))";
}
}
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="class-use/Ref.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">
<li><a href="../../../../org/apache/river/concurrent/ReadResolveFixForMapCircularReferences.html" title="class in org.apache.river.concurrent"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/river/concurrent/ReferenceBlockingDeque.html" title="class in org.apache.river.concurrent"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/river/concurrent/Ref.html" target="_top">Frames</a></li>
<li><a href="Ref.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">org.apache.river.concurrent</div>
<h2 title="Enum Ref" class="title">Enum Ref</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/6/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="http://docs.oracle.com/javase/6/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../org/apache/river/concurrent/Ref.html" title="enum in org.apache.river.concurrent">Ref</a>&gt;</li>
<li>
<ul class="inheritance">
<li>org.apache.river.concurrent.Ref</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../org/apache/river/concurrent/Ref.html" title="enum in org.apache.river.concurrent">Ref</a>&gt;</dd>
</dl>
<hr>
<br>
<pre>public enum <span class="typeNameLabel">Ref</span>
extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../org/apache/river/concurrent/Ref.html" title="enum in org.apache.river.concurrent">Ref</a>&gt;</pre>
<div class="block"><p>
Ref enum represents types of references available for use in java
collection framework implementations.
</p><p>
Only use STRONG, WEAK_IDENTITY and TIME based references as keys
in Maps, use of other reference types should be discouraged
due to unpredictable results, when for example, an equal WEAK
Reference Key disappears due to garbage collection, or SOFT reference keys
aren't garbage collected as expected.
</p><p>
Map implementations delete their key -> value mapping when either the
key or value References become unreachable. ConcurrentMap's will retry until
putIfAbsent is successful when an existing Referrer key is cleared.
</p><p>
Only use STRONG and TIME based references in Queue's, other types break
Queue's contract, null has special meaning, a cleared reference returns
null.
</p><p>
Object.toString() is overridden in reference implementations to call
toString() on the referent, if still reachable, otherwise the reference
calls the superclass toString() method, where the superclass is a java
Reference subclass. Consideration is being given to returning a null string
"" instead, if you feel strongly about this, please contact the author.
</p><p>
Phantom references are not used, they are designed to replace
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang"><code>Object.finalize()</code></a> and remain unreachable, but not garbage collected until
the <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/ref/PhantomReference.html?is-external=true" title="class or interface in java.lang.ref"><code>PhantomReference</code></a> also becomes unreachable, get() always returns
null.
</p><p>
TIME and SOFT and SOFT_IDENTITY references update their access timestamp,
when Referrer.get(), Referrer.equals() or Referrer.toString() is called.
SOFT and SOFT_IDENTITY do so lazily and are not guaranteed to
succeed in updating the access time. SOFT references also update their
access timestamp when either Referrer.hashCode() or Comparable.compareTo()
is called.
</p><p>
For sets and map keys that require traversal using a Comparator or
Comparable, access times will be updated during each traversal. In
these circumstances, SOFT and SOFT_IDENTITY references are typically not enqueued and
do not behave as expected.
</p><p>
SOFT references are only suited for use in lists or as values in maps and not
suitable for keys in hash or tree maps.
</p><p>
TIME references only update their access timestamp during traversal when
a Comparator or Comparable returns zero (a successful match), or when equals is true.
TIME references are suitable for use as keys in tree and hash based maps
as well as sets and tasks in Queues. In fact TIME is the only referrer
suitable for use in Queue's and their subtypes. Tasks in a Queue, if
timed out, are first cancelled, then removed, they are not cleared as
doing so could cause a null poll() return when a queue is not empty,
which would violate the contract for Queue.
</p><p>
SOFT_IDENTITY references are suitable for use as
keys in hash tables, hash maps and hash sets, since hashCode() does not update
the access timestamp, while equals() does. SOFT_IDENTITY references are not
recommended for use in tree maps, tree sets or queues.
</p></div>
<dl>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>Peter Firmstone.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/ref/Reference.html?is-external=true" title="class or interface in java.lang.ref"><code>Reference</code></a>,
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/ref/WeakReference.html?is-external=true" title="class or interface in java.lang.ref"><code>WeakReference</code></a>,
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/ref/SoftReference.html?is-external=true" title="class or interface in java.lang.ref"><code>SoftReference</code></a>,
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/ref/PhantomReference.html?is-external=true" title="class or interface in java.lang.ref"><code>PhantomReference</code></a>,
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang"><code>Comparable</code></a></dd>
</dl>
</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="../../../../org/apache/river/concurrent/Ref.html#SOFT">SOFT</a></span></code>
<div class="block">
SOFT References implement equals based on equality of the referent
objects, while the referent is still reachable.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/river/concurrent/Ref.html#SOFT_IDENTITY">SOFT_IDENTITY</a></span></code>
<div class="block">
SOFT_IDENTY References implement equals based on identity == of the
referent objects.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/river/concurrent/Ref.html#STRONG">STRONG</a></span></code>
<div class="block">
STRONG References implement equals and hashCode() based on the
equality of the underlying Object.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/river/concurrent/Ref.html#TIME">TIME</a></span></code>
<div class="block">
TIME References implement equals based on equality of the referent
objects.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/river/concurrent/Ref.html#WEAK">WEAK</a></span></code>
<div class="block">
WEAK References implement equals based on equality of the referent
objects, while the referent is still reachable.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/river/concurrent/Ref.html#WEAK_IDENTITY">WEAK_IDENTITY</a></span></code>
<div class="block">
WEAK_IDENTY References implement equals based on identity == of the
referent objects.</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="../../../../org/apache/river/concurrent/Ref.html" title="enum in org.apache.river.concurrent">Ref</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/river/concurrent/Ref.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/6/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="../../../../org/apache/river/concurrent/Ref.html" title="enum in org.apache.river.concurrent">Ref</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/river/concurrent/Ref.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="http://docs.oracle.com/javase/6/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/6/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="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/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="TIME">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TIME</h4>
<pre>public static final&nbsp;<a href="../../../../org/apache/river/concurrent/Ref.html" title="enum in org.apache.river.concurrent">Ref</a> TIME</pre>
<div class="block"><P>
TIME References implement equals based on equality of the referent
objects. Time references are STRONG references that are removed
after a period of no access, even if they are strongly
referenced outside the cache, they are removed. TIME references don't
rely on Garbage Collection algorithms.
</P><P>
TIME References support cancellation of tasks implementing Future, when
the reference times out, if it contains a Future, it is cancelled.
</P><P>
A call to equals(), get() or toString(), will cause the timestamp on
the reference to be updated, whereas hashCode() will not, in addition,
Comparators and referents that implement Comparable, only update the
timestamp if they return 0. This allows referents to be inspected
without update when they don't match.
</P><P>
TIME References require synchronisation for iteration, so during
cleaning periods, a synchronised Collection or Map will be locked.
A lock is still obtained for iterating over Concurrent Maps and
Collections, however this does not normally synchronise access between threads,
only other cleaning task threads.
</P></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent.Future.html?is-external=true" title="class or interface in java.util"><code>Future</code></a></dd>
</dl>
</li>
</ul>
<a name="SOFT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SOFT</h4>
<pre>public static final&nbsp;<a href="../../../../org/apache/river/concurrent/Ref.html" title="enum in org.apache.river.concurrent">Ref</a> SOFT</pre>
<div class="block"><P>
SOFT References implement equals based on equality of the referent
objects, while the referent is still reachable. The hashCode
implementation is based on the referent implementation of hashCode,
while the referent is reachable.
</P><P>
SOFT References implement Comparable allowing the referent Objects
to be compared if they implement Comparable. If the referent Object
doesn't implement Comparable, the hashCode's of the Reference is
compared instead. If the referent Objects don't implement Comparable,
then they shouldn't really be used in sorted collections.
</P><P>
Garbage collection must be the same as SoftReference.
</P></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/ref/SoftReference.html?is-external=true" title="class or interface in java.lang.ref"><code>SoftReference</code></a>,
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/ref/WeakReference.html?is-external=true" title="class or interface in java.lang.ref"><code>WeakReference</code></a>,
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang"><code>Comparable</code></a></dd>
</dl>
</li>
</ul>
<a name="SOFT_IDENTITY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SOFT_IDENTITY</h4>
<pre>public static final&nbsp;<a href="../../../../org/apache/river/concurrent/Ref.html" title="enum in org.apache.river.concurrent">Ref</a> SOFT_IDENTITY</pre>
<div class="block"><P>
SOFT_IDENTY References implement equals based on identity == of the
referent objects.
</P><P>
Garbage collection must be the same as SoftReference.
</P></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/ref/SoftReference.html?is-external=true" title="class or interface in java.lang.ref"><code>SoftReference</code></a></dd>
</dl>
</li>
</ul>
<a name="WEAK">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WEAK</h4>
<pre>public static final&nbsp;<a href="../../../../org/apache/river/concurrent/Ref.html" title="enum in org.apache.river.concurrent">Ref</a> WEAK</pre>
<div class="block"><P>
WEAK References implement equals based on equality of the referent
objects, while the referent is still reachable. The hashCode
implementation is based on the referent implementation of hashCode,
while the referent is reachable.
</P><P>
WEAK References implement comparable allowing the referent Objects
to be compared if they implement Comparable. If the referent Object
doesn't implement Comparable, the hashCode's of the Reference is
compared instead. If the referent Object's don't implement Comparable,
then they shouldn't really be used in sorted collections.
</P><P>
Garbage collection must be the same as WeakReference.
</P></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/ref/WeakReference.html?is-external=true" title="class or interface in java.lang.ref"><code>WeakReference</code></a>,
<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang"><code>Comparable</code></a></dd>
</dl>
</li>
</ul>
<a name="WEAK_IDENTITY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WEAK_IDENTITY</h4>
<pre>public static final&nbsp;<a href="../../../../org/apache/river/concurrent/Ref.html" title="enum in org.apache.river.concurrent">Ref</a> WEAK_IDENTITY</pre>
<div class="block"><P>
WEAK_IDENTY References implement equals based on identity == of the
referent objects.
</P><P>
Garbage collection must be the same as WeakReference.
</P></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/ref/WeakReference.html?is-external=true" title="class or interface in java.lang.ref"><code>WeakReference</code></a></dd>
</dl>
</li>
</ul>
<a name="STRONG">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>STRONG</h4>
<pre>public static final&nbsp;<a href="../../../../org/apache/river/concurrent/Ref.html" title="enum in org.apache.river.concurrent">Ref</a> STRONG</pre>
<div class="block"><P>
STRONG References implement equals and hashCode() based on the
equality of the underlying Object.
</P><P>
STRONG References implement Comparable allowing the referent Objects
to be compared if they implement Comparable. If the referent Object
doesn't implement Comparable, the hashCode's of the Reference is
compared instead. If the referent Object's don't implement Comparable,
then they shouldn't really be used in sorted collections.
</P><P>
Garbage collection doesn't occur unless the Reference is cleared.
</P></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang"><code>Comparable</code></a></dd>
</dl>
</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="../../../../org/apache/river/concurrent/Ref.html" title="enum in org.apache.river.concurrent">Ref</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 (Ref c : Ref.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="../../../../org/apache/river/concurrent/Ref.html" title="enum in org.apache.river.concurrent">Ref</a>&nbsp;valueOf(<a href="http://docs.oracle.com/javase/6/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="http://docs.oracle.com/javase/6/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="http://docs.oracle.com/javase/6/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="class-use/Ref.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">
<li><a href="../../../../org/apache/river/concurrent/ReadResolveFixForMapCircularReferences.html" title="class in org.apache.river.concurrent"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/river/concurrent/ReferenceBlockingDeque.html" title="class in org.apache.river.concurrent"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/river/concurrent/Ref.html" target="_top">Frames</a></li>
<li><a href="Ref.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 ======= -->
<p class="legalCopy"><small>Copyright 2007-2013, multiple authors.<br>Licensed under the <a href=http://www.apache.org/licenses/LICENSE-2.0 target=child >Apache License, Version 2.0</a>, see the <a href=../../../../doc-files/NOTICE target=child >NOTICE</a> file for attributions.</small></p>
</body>
</html>