<!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 (version 1.7.0_25) on Tue Dec 03 13:53:42 PST 2013 --> <meta http-equiv="Content-Type" content="text/html" charset="UTF-8"> <title>AbstractPool (Carbonado 1.2.3 API)</title> <meta name="date" content="2013-12-03"> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style"> </head> <body> <script type="text/javascript"><!-- if (location.href.indexOf('is-external=true') == -1) { parent.document.title="AbstractPool (Carbonado 1.2.3 API)"; } //--> </script> <noscript> <div>JavaScript is disabled on your browser.</div> </noscript> <!-- ========= START OF TOP NAVBAR ======= --> <div class="topNav"><a name="navbar_top"> <!-- --> </a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/AbstractPool.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-files/index-1.html">Index</a></li> <li><a href="../../../../help-doc.html">Help</a></li> </ul> </div> <div class="subNav"> <ul class="navList"> <li>Prev Class</li> <li><a href="../../../../com/amazon/carbonado/util/AnnotationBuilder.html" title="class in com.amazon.carbonado.util"><span class="strong">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../index.html?com/amazon/carbonado/util/AbstractPool.html" target="_top">Frames</a></li> <li><a href="AbstractPool.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_top"> <li><a href="../../../../allclasses-noframe.html">All 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: </li> <li>Nested | </li> <li>Field | </li> <li><a href="#constructor_summary">Constr</a> | </li> <li><a href="#method_summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> <li>Field | </li> <li><a href="#constructor_detail">Constr</a> | </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">com.amazon.carbonado.util</div> <h2 title="Class AbstractPool" class="title">Class AbstractPool<K,V,E extends java.lang.Exception></h2> </div> <div class="contentContainer"> <ul class="inheritance"> <li>java.lang.Object</li> <li> <ul class="inheritance"> <li>com.amazon.carbonado.util.AbstractPool<K,V,E></li> </ul> </li> </ul> <div class="description"> <ul class="blockList"> <li class="blockList"> <dl> <dt>Direct Known Subclasses:</dt> <dd><a href="../../../../com/amazon/carbonado/sequence/SequenceValueProducerPool.html" title="class in com.amazon.carbonado.sequence">SequenceValueProducerPool</a>, <a href="../../../../com/amazon/carbonado/spi/StoragePool.html" title="class in com.amazon.carbonado.spi">StoragePool</a></dd> </dl> <hr> <br> <pre>public abstract class <span class="strong">AbstractPool<K,V,E extends java.lang.Exception></span> extends java.lang.Object</pre> <div class="block">A concurrent pool of strongly referenced values mapped by key. Values are lazily created and pooled.</div> <dl><dt><span class="strong">Since:</span></dt> <dd>1.2</dd> <dt><span class="strong">Author:</span></dt> <dd>Brian S O'Neill</dd></dl> </li> </ul> </div> <div class="summary"> <ul class="blockList"> <li class="blockList"> <!-- ======== CONSTRUCTOR SUMMARY ======== --> <ul class="blockList"> <li class="blockList"><a name="constructor_summary"> <!-- --> </a> <h3>Constructor Summary</h3> <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> <caption><span>Constructors</span><span class="tabEnd"> </span></caption> <tr> <th class="colFirst" scope="col">Modifier</th> <th class="colLast" scope="col">Constructor and Description</th> </tr> <tr class="altColor"> <td class="colFirst"><code>protected </code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/util/AbstractPool.html#AbstractPool()">AbstractPool</a></strong>()</code> </td> </tr> </table> </li> </ul> <!-- ========== METHOD SUMMARY =========== --> <ul class="blockList"> <li class="blockList"><a name="method_summary"> <!-- --> </a> <h3>Method Summary</h3> <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> <caption><span>Methods</span><span class="tabEnd"> </span></caption> <tr> <th class="colFirst" scope="col">Modifier and Type</th> <th class="colLast" scope="col">Method and Description</th> </tr> <tr class="altColor"> <td class="colFirst"><code>void</code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/util/AbstractPool.html#clear()">clear</a></strong>()</code> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>protected abstract <a href="../../../../com/amazon/carbonado/util/AbstractPool.html" title="type parameter in AbstractPool">V</a></code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/util/AbstractPool.html#create(K)">create</a></strong>(<a href="../../../../com/amazon/carbonado/util/AbstractPool.html" title="type parameter in AbstractPool">K</a> key)</code> <div class="block">Return a new value instance.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code><a href="../../../../com/amazon/carbonado/util/AbstractPool.html" title="type parameter in AbstractPool">V</a></code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/util/AbstractPool.html#get(K)">get</a></strong>(<a href="../../../../com/amazon/carbonado/util/AbstractPool.html" title="type parameter in AbstractPool">K</a> key)</code> <div class="block">Returns a value for the given key, which is lazily created and pooled.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code><a href="../../../../com/amazon/carbonado/util/AbstractPool.html" title="type parameter in AbstractPool">V</a></code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/util/AbstractPool.html#remove(java.lang.Object)">remove</a></strong>(java.lang.Object key)</code> <div class="block">Remove a value, returning the old value.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>java.util.Collection<<a href="../../../../com/amazon/carbonado/util/AbstractPool.html" title="type parameter in AbstractPool">V</a>></code></td> <td class="colLast"><code><strong><a href="../../../../com/amazon/carbonado/util/AbstractPool.html#values()">values</a></strong>()</code> <div class="block">Returns the pool values, which may be concurrently modified.</div> </td> </tr> </table> <ul class="blockList"> <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object"> <!-- --> </a> <h3>Methods inherited from class java.lang.Object</h3> <code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li> </ul> </li> </ul> </li> </ul> </div> <div class="details"> <ul class="blockList"> <li class="blockList"> <!-- ========= CONSTRUCTOR DETAIL ======== --> <ul class="blockList"> <li class="blockList"><a name="constructor_detail"> <!-- --> </a> <h3>Constructor Detail</h3> <a name="AbstractPool()"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>AbstractPool</h4> <pre>protected AbstractPool()</pre> </li> </ul> </li> </ul> <!-- ============ METHOD DETAIL ========== --> <ul class="blockList"> <li class="blockList"><a name="method_detail"> <!-- --> </a> <h3>Method Detail</h3> <a name="get(java.lang.Object)"> <!-- --> </a><a name="get(K)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>get</h4> <pre>public <a href="../../../../com/amazon/carbonado/util/AbstractPool.html" title="type parameter in AbstractPool">V</a> get(<a href="../../../../com/amazon/carbonado/util/AbstractPool.html" title="type parameter in AbstractPool">K</a> key) throws <a href="../../../../com/amazon/carbonado/util/AbstractPool.html" title="type parameter in AbstractPool">E</a> extends java.lang.Exception</pre> <div class="block">Returns a value for the given key, which is lazily created and pooled. If multiple threads are requesting upon the same key concurrently, at most one thread attempts to lazily create the value. The others wait for it to become available.</div> <dl><dt><span class="strong">Throws:</span></dt> <dd><code><a href="../../../../com/amazon/carbonado/util/AbstractPool.html" title="type parameter in AbstractPool">E</a> extends java.lang.Exception</code></dd></dl> </li> </ul> <a name="remove(java.lang.Object)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>remove</h4> <pre>public <a href="../../../../com/amazon/carbonado/util/AbstractPool.html" title="type parameter in AbstractPool">V</a> remove(java.lang.Object key)</pre> <div class="block">Remove a value, returning the old value.</div> </li> </ul> <a name="values()"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>values</h4> <pre>public java.util.Collection<<a href="../../../../com/amazon/carbonado/util/AbstractPool.html" title="type parameter in AbstractPool">V</a>> values()</pre> <div class="block">Returns the pool values, which may be concurrently modified.</div> </li> </ul> <a name="clear()"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>clear</h4> <pre>public void clear()</pre> </li> </ul> <a name="create(java.lang.Object)"> <!-- --> </a><a name="create(K)"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>create</h4> <pre>protected abstract <a href="../../../../com/amazon/carbonado/util/AbstractPool.html" title="type parameter in AbstractPool">V</a> create(<a href="../../../../com/amazon/carbonado/util/AbstractPool.html" title="type parameter in AbstractPool">K</a> key) throws <a href="../../../../com/amazon/carbonado/util/AbstractPool.html" title="type parameter in AbstractPool">E</a> extends java.lang.Exception</pre> <div class="block">Return a new value instance.</div> <dl><dt><span class="strong">Throws:</span></dt> <dd><code><a href="../../../../com/amazon/carbonado/util/AbstractPool.html" title="type parameter in AbstractPool">E</a> extends java.lang.Exception</code></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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/AbstractPool.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-files/index-1.html">Index</a></li> <li><a href="../../../../help-doc.html">Help</a></li> </ul> </div> <div class="subNav"> <ul class="navList"> <li>Prev Class</li> <li><a href="../../../../com/amazon/carbonado/util/AnnotationBuilder.html" title="class in com.amazon.carbonado.util"><span class="strong">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../index.html?com/amazon/carbonado/util/AbstractPool.html" target="_top">Frames</a></li> <li><a href="AbstractPool.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_bottom"> <li><a href="../../../../allclasses-noframe.html">All 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: </li> <li>Nested | </li> <li>Field | </li> <li><a href="#constructor_summary">Constr</a> | </li> <li><a href="#method_summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> <li>Field | </li> <li><a href="#constructor_detail">Constr</a> | </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 © 2006-2013 <a href="https://github.com/Carbonado/Carbonado">Amazon Technologies, Inc.</a>. All Rights Reserved.</small></p> </body> </html>