blob: f8b63021d783b604126f8b0e923071fdc3607788 [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 (version 1.7.0_25) on Fri Mar 28 13:34:25 EST 2014 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>Cache (JSR107 API and SPI 1.0.0 API)</title>
<meta name="date" content="2014-03-28">
<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="Cache (JSR107 API and SPI 1.0.0 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/Cache.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>Prev Class</li>
<li><a href="../../javax/cache/Cache.Entry.html" title="interface in javax.cache"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?javax/cache/Cache.html" target="_top">Frames</a></li>
<li><a href="Cache.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:&nbsp;</li>
<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">javax.cache</div>
<h2 title="Interface Cache" class="title">Interface Cache&lt;K,V&gt;</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl><dt><span class="strong">Type Parameters:</span></dt><dd><code>K</code> - the type of key</dd><dd><code>V</code> - the type of value</dd></dl>
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="http://download.oracle.com/javase/6/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../javax/cache/Cache.Entry.html" title="interface in javax.cache">Cache.Entry</a>&lt;K,V&gt;&gt;</dd>
</dl>
<hr>
<br>
<pre>public interface <span class="strong">Cache&lt;K,V&gt;</span>
extends <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../javax/cache/Cache.Entry.html" title="interface in javax.cache">Cache.Entry</a>&lt;K,V&gt;&gt;, <a href="http://download.oracle.com/javase/6/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></pre>
<div class="block">A <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a> is a Map-like data structure that provides temporary storage
of application data.
<p>
Like <a href="http://download.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util"><code>Map</code></a>s, <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a>s
<ol>
<li>store key-value pairs, each referred to as an <a href="../../javax/cache/Cache.Entry.html" title="interface in javax.cache"><code>Cache.Entry</code></a></li>
<li>allow use of Java Generics to improve application type-safety</li>
<li>are <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang"><code>Iterable</code></a></li>
</ol>
<p>
Unlike <a href="http://download.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util"><code>Map</code></a>s, <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a>s
<ol>
<li>do not allow null keys or values. Attempts to use <code>null</code>
will result in a <a href="http://download.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang"><code>NullPointerException</code></a></li>
<li>provide the ability to read values from a
<a href="../../javax/cache/integration/CacheLoader.html" title="interface in javax.cache.integration"><code>CacheLoader</code></a> (read-through-caching)
when a value being requested is not in a cache</li>
<li>provide the ability to write values to a
<a href="../../javax/cache/integration/CacheWriter.html" title="interface in javax.cache.integration"><code>CacheWriter</code></a> (write-through-caching)
when a value being created/updated/removed from a cache</li>
<li>provide the ability to observe cache entry changes</li>
<li>may capture and measure operational statistics</li>
</ol>
<p>
A simple example of how to use a cache is:
<pre><code>
String cacheName = "sampleCache";
CachingProvider provider = Caching.getCachingProvider();
CacheManager manager = provider.getCacheManager();
Cache&lt;Integer, Date&gt; cache = manager.getCache(cacheName, Integer.class,
Date.class);
Date value1 = new Date();
Integer key = 1;
cache.put(key, value1);
Date value2 = cache.get(key);
</code></pre></div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>1.0</dd>
<dt><span class="strong">Author:</span></dt>
<dd>Greg Luck, Yannis Cosmadopoulos, Brian Oliver</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested_class_summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Interface and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../javax/cache/Cache.Entry.html" title="interface in javax.cache">Cache.Entry</a>&lt;<a href="../../javax/cache/Cache.Entry.html" title="type parameter in Cache.Entry">K</a>,<a href="../../javax/cache/Cache.Entry.html" title="type parameter in Cache.Entry">V</a>&gt;</strong></code>
<div class="block">A cache entry (key-value pair).</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="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</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="../../javax/cache/Cache.html#clear()">clear</a></strong>()</code>
<div class="block">Clears the contents of the cache, without notifying listeners or
<a href="../../javax/cache/integration/CacheWriter.html" title="interface in javax.cache.integration"><code>CacheWriter</code></a>s.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../javax/cache/Cache.html#close()">close</a></strong>()</code>
<div class="block">Closing a <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a> signals to the <a href="../../javax/cache/CacheManager.html" title="interface in javax.cache"><code>CacheManager</code></a> that produced or
owns the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a> that it should no longer be managed.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../javax/cache/Cache.html#containsKey(K)">containsKey</a></strong>(<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&nbsp;key)</code>
<div class="block">Determines if the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a> contains an entry for the specified key.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../javax/cache/Cache.html#deregisterCacheEntryListener(javax.cache.configuration.CacheEntryListenerConfiguration)">deregisterCacheEntryListener</a></strong>(<a href="../../javax/cache/configuration/CacheEntryListenerConfiguration.html" title="interface in javax.cache.configuration">CacheEntryListenerConfiguration</a>&lt;<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>,<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&gt;&nbsp;cacheEntryListenerConfiguration)</code>
<div class="block">Deregisters a listener, using the
<a href="../../javax/cache/configuration/CacheEntryListenerConfiguration.html" title="interface in javax.cache.configuration"><code>CacheEntryListenerConfiguration</code></a> that was used to register it.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a></code></td>
<td class="colLast"><code><strong><a href="../../javax/cache/Cache.html#get(K)">get</a></strong>(<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&nbsp;key)</code>
<div class="block">Gets an entry from the cache.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://download.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>,<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../javax/cache/Cache.html#getAll(java.util.Set)">getAll</a></strong>(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;? extends <a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&gt;&nbsp;keys)</code>
<div class="block">Gets a collection of entries from the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a>, returning them as
<a href="http://download.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util"><code>Map</code></a> of the values associated with the set of keys requested.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a></code></td>
<td class="colLast"><code><strong><a href="../../javax/cache/Cache.html#getAndPut(K, V)">getAndPut</a></strong>(<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&nbsp;key,
<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&nbsp;value)</code>
<div class="block">Associates the specified value with the specified key in this cache,
returning an existing value if one existed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a></code></td>
<td class="colLast"><code><strong><a href="../../javax/cache/Cache.html#getAndRemove(K)">getAndRemove</a></strong>(<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&nbsp;key)</code>
<div class="block">Atomically removes the entry for a key only if currently mapped to some
value.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a></code></td>
<td class="colLast"><code><strong><a href="../../javax/cache/Cache.html#getAndReplace(K, V)">getAndReplace</a></strong>(<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&nbsp;key,
<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&nbsp;value)</code>
<div class="block">Atomically replaces the value for a given key if and only if there is a
value currently mapped by the key.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../javax/cache/CacheManager.html" title="interface in javax.cache">CacheManager</a></code></td>
<td class="colLast"><code><strong><a href="../../javax/cache/Cache.html#getCacheManager()">getCacheManager</a></strong>()</code>
<div class="block">Gets the <a href="../../javax/cache/CacheManager.html" title="interface in javax.cache"><code>CacheManager</code></a> that owns and manages the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>&lt;C extends <a href="../../javax/cache/configuration/Configuration.html" title="interface in javax.cache.configuration">Configuration</a>&lt;<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>,<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&gt;&gt;&nbsp;<br>C</code></td>
<td class="colLast"><code><strong><a href="../../javax/cache/Cache.html#getConfiguration(java.lang.Class)">getConfiguration</a></strong>(<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;C&gt;&nbsp;clazz)</code>
<div class="block">Provides a standard way to access the configuration of a cache using
JCache configuration or additional proprietary configuration.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../javax/cache/Cache.html#getName()">getName</a></strong>()</code>
<div class="block">Return the name of the cache.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
<td class="colLast"><code><strong><a href="../../javax/cache/Cache.html#invoke(K, javax.cache.processor.EntryProcessor, java.lang.Object...)">invoke</a></strong>(<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&nbsp;key,
<a href="../../javax/cache/processor/EntryProcessor.html" title="interface in javax.cache.processor">EntryProcessor</a>&lt;<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>,<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>,T&gt;&nbsp;entryProcessor,
<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;arguments)</code>
<div class="block">Invokes an <a href="../../javax/cache/processor/EntryProcessor.html" title="interface in javax.cache.processor"><code>EntryProcessor</code></a> against the <a href="../../javax/cache/Cache.Entry.html" title="interface in javax.cache"><code>Cache.Entry</code></a> specified by
the provided key.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="http://download.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>,<a href="../../javax/cache/processor/EntryProcessorResult.html" title="interface in javax.cache.processor">EntryProcessorResult</a>&lt;T&gt;&gt;</code></td>
<td class="colLast"><code><strong><a href="../../javax/cache/Cache.html#invokeAll(java.util.Set, javax.cache.processor.EntryProcessor, java.lang.Object...)">invokeAll</a></strong>(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;? extends <a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&gt;&nbsp;keys,
<a href="../../javax/cache/processor/EntryProcessor.html" title="interface in javax.cache.processor">EntryProcessor</a>&lt;<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>,<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>,T&gt;&nbsp;entryProcessor,
<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;arguments)</code>
<div class="block">Invokes an <a href="../../javax/cache/processor/EntryProcessor.html" title="interface in javax.cache.processor"><code>EntryProcessor</code></a> against the set of <a href="../../javax/cache/Cache.Entry.html" title="interface in javax.cache"><code>Cache.Entry</code></a>s
specified by the set of keys.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../javax/cache/Cache.html#isClosed()">isClosed</a></strong>()</code>
<div class="block">Determines whether this Cache instance has been closed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../javax/cache/Cache.Entry.html" title="interface in javax.cache">Cache.Entry</a>&lt;<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>,<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&gt;&gt;</code></td>
<td class="colLast"><code><strong><a href="../../javax/cache/Cache.html#iterator()">iterator</a></strong>()</code></td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../javax/cache/Cache.html#loadAll(java.util.Set, boolean, javax.cache.integration.CompletionListener)">loadAll</a></strong>(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;? extends <a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&gt;&nbsp;keys,
boolean&nbsp;replaceExistingValues,
<a href="../../javax/cache/integration/CompletionListener.html" title="interface in javax.cache.integration">CompletionListener</a>&nbsp;completionListener)</code>
<div class="block">Asynchronously loads the specified entries into the cache using the
configured <a href="../../javax/cache/integration/CacheLoader.html" title="interface in javax.cache.integration"><code>CacheLoader</code></a> for the given keys.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../javax/cache/Cache.html#put(K, V)">put</a></strong>(<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&nbsp;key,
<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&nbsp;value)</code>
<div class="block">Associates the specified value with the specified key in the cache.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../javax/cache/Cache.html#putAll(java.util.Map)">putAll</a></strong>(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;? extends <a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>,? extends <a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&gt;&nbsp;map)</code>
<div class="block">Copies all of the entries from the specified map to the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../javax/cache/Cache.html#putIfAbsent(K, V)">putIfAbsent</a></strong>(<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&nbsp;key,
<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&nbsp;value)</code>
<div class="block">Atomically associates the specified key with the given value if it is
not already associated with a value.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../javax/cache/Cache.html#registerCacheEntryListener(javax.cache.configuration.CacheEntryListenerConfiguration)">registerCacheEntryListener</a></strong>(<a href="../../javax/cache/configuration/CacheEntryListenerConfiguration.html" title="interface in javax.cache.configuration">CacheEntryListenerConfiguration</a>&lt;<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>,<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&gt;&nbsp;cacheEntryListenerConfiguration)</code>
<div class="block">Registers a <a href="../../javax/cache/event/CacheEntryListener.html" title="interface in javax.cache.event"><code>CacheEntryListener</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../javax/cache/Cache.html#remove(K)">remove</a></strong>(<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&nbsp;key)</code>
<div class="block">Removes the mapping for a key from this cache if it is present.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../javax/cache/Cache.html#remove(K, V)">remove</a></strong>(<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&nbsp;key,
<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&nbsp;oldValue)</code>
<div class="block">Atomically removes the mapping for a key only if currently mapped to the
given value.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../javax/cache/Cache.html#removeAll()">removeAll</a></strong>()</code>
<div class="block">Removes all of the mappings from this cache.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../javax/cache/Cache.html#removeAll(java.util.Set)">removeAll</a></strong>(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;? extends <a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&gt;&nbsp;keys)</code>
<div class="block">Removes entries for the specified keys.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../javax/cache/Cache.html#replace(K, V)">replace</a></strong>(<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&nbsp;key,
<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&nbsp;value)</code>
<div class="block">Atomically replaces the entry for a key only if currently mapped to some
value.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../javax/cache/Cache.html#replace(K, V, V)">replace</a></strong>(<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&nbsp;key,
<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&nbsp;oldValue,
<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&nbsp;newValue)</code>
<div class="block">Atomically replaces the entry for a key only if currently mapped to a
given value.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
<td class="colLast"><code><strong><a href="../../javax/cache/Cache.html#unwrap(java.lang.Class)">unwrap</a></strong>(<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;clazz)</code>
<div class="block">Provides a standard way to access the underlying concrete caching
implementation to provide access to further, proprietary features.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ 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><a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&nbsp;get(<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&nbsp;key)</pre>
<div class="block">Gets an entry from the cache.
<p>
If the cache is configured to use read-through, and get would return null
because the entry is missing from the cache, the Cache's <a href="../../javax/cache/integration/CacheLoader.html" title="interface in javax.cache.integration"><code>CacheLoader</code></a>
is called in an attempt to load the entry.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>key</code> - the key whose associated value is to be returned</dd>
<dt><span class="strong">Returns:</span></dt><dd>the element, or null, if it does not exist.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the cache is <a href="../../javax/cache/Cache.html#isClosed()"><code>isClosed()</code></a></dd>
<dd><code><a href="http://download.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 key is null</dd>
<dd><code><a href="../../javax/cache/CacheException.html" title="class in javax.cache">CacheException</a></code> - if there is a problem fetching the value</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/ClassCastException.html?is-external=true" title="class or interface in java.lang">ClassCastException</a></code> - if the implementation is configured to perform
runtime-type-checking, and the key or value
types are incompatible with those that have been
configured for the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a></dd></dl>
</li>
</ul>
<a name="getAll(java.util.Set)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAll</h4>
<pre><a href="http://download.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>,<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&gt;&nbsp;getAll(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;? extends <a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&gt;&nbsp;keys)</pre>
<div class="block">Gets a collection of entries from the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a>, returning them as
<a href="http://download.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util"><code>Map</code></a> of the values associated with the set of keys requested.
<p>
If the cache is configured read-through, and a get for a key would
return null because an entry is missing from the cache, the Cache's
<a href="../../javax/cache/integration/CacheLoader.html" title="interface in javax.cache.integration"><code>CacheLoader</code></a> is called in an attempt to load the entry. If an
entry cannot be loaded for a given key, the key will not be present in
the returned Map.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>keys</code> - The keys whose associated values are to be returned.</dd>
<dt><span class="strong">Returns:</span></dt><dd>A map of entries that were found for the given keys. Keys not found
in the cache are not in the returned map.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if keys is null or if keys contains a null</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the cache is <a href="../../javax/cache/Cache.html#isClosed()"><code>isClosed()</code></a></dd>
<dd><code><a href="../../javax/cache/CacheException.html" title="class in javax.cache">CacheException</a></code> - if there is a problem fetching the values</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/ClassCastException.html?is-external=true" title="class or interface in java.lang">ClassCastException</a></code> - if the implementation is configured to perform
runtime-type-checking, and the key or value
types are incompatible with those that have been
configured for the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a></dd></dl>
</li>
</ul>
<a name="containsKey(java.lang.Object)">
<!-- -->
</a><a name="containsKey(K)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>containsKey</h4>
<pre>boolean&nbsp;containsKey(<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&nbsp;key)</pre>
<div class="block">Determines if the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a> contains an entry for the specified key.
<p>
More formally, returns <tt>true</tt> if and only if this cache contains a
mapping for a key <tt>k</tt> such that <tt>key.equals(k)</tt>.
(There can be at most one such mapping.)</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>key</code> - key whose presence in this cache is to be tested.</dd>
<dt><span class="strong">Returns:</span></dt><dd><tt>true</tt> if this map contains a mapping for the specified key</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if key is null</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the cache is <a href="../../javax/cache/Cache.html#isClosed()"><code>isClosed()</code></a></dd>
<dd><code><a href="../../javax/cache/CacheException.html" title="class in javax.cache">CacheException</a></code> - it there is a problem checking the mapping</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/ClassCastException.html?is-external=true" title="class or interface in java.lang">ClassCastException</a></code> - if the implementation is configured to perform
runtime-type-checking, and the key or value
types are incompatible with those that have been
configured for the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a></dd><dt><span class="strong">See Also:</span></dt><dd><a href="http://download.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true#containsKey(java.lang.Object)" title="class or interface in java.util"><code>Map.containsKey(Object)</code></a></dd></dl>
</li>
</ul>
<a name="loadAll(java.util.Set, boolean, javax.cache.integration.CompletionListener)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>loadAll</h4>
<pre>void&nbsp;loadAll(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;? extends <a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&gt;&nbsp;keys,
boolean&nbsp;replaceExistingValues,
<a href="../../javax/cache/integration/CompletionListener.html" title="interface in javax.cache.integration">CompletionListener</a>&nbsp;completionListener)</pre>
<div class="block">Asynchronously loads the specified entries into the cache using the
configured <a href="../../javax/cache/integration/CacheLoader.html" title="interface in javax.cache.integration"><code>CacheLoader</code></a> for the given keys.
<p>
If an entry for a key already exists in the Cache, a value will be loaded
if and only if <code>replaceExistingValues</code> is true. If no loader
is configured for the cache, no objects will be loaded. If a problem is
encountered during the retrieving or loading of the objects,
an exception is provided to the <a href="../../javax/cache/integration/CompletionListener.html" title="interface in javax.cache.integration"><code>CompletionListener</code></a>. Once the
operation has completed, the specified CompletionListener is notified.
<p>
Implementations may choose to load multiple keys from the provided
<a href="http://download.oracle.com/javase/6/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util"><code>Set</code></a> in parallel. Iteration however must not occur in parallel,
thus allow for non-thread-safe <a href="http://download.oracle.com/javase/6/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util"><code>Set</code></a>s to be used.
<p>
The thread on which the completion listener is called is implementation
dependent. An implementation may also choose to serialize calls to
different CompletionListeners rather than use a thread per
CompletionListener.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>keys</code> - the keys to load</dd><dd><code>replaceExistingValues</code> - when true existing values in the Cache will
be replaced by those loaded from a CacheLoader</dd><dd><code>completionListener</code> - the CompletionListener (may be null)</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if keys is null or if keys contains a null.</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the cache is <a href="../../javax/cache/Cache.html#isClosed()"><code>isClosed()</code></a></dd>
<dd><code><a href="../../javax/cache/CacheException.html" title="class in javax.cache">CacheException</a></code> - thrown if there is a problem performing the
load. This may also be thrown on calling if
there are insufficient threads available to
perform the load.</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/ClassCastException.html?is-external=true" title="class or interface in java.lang">ClassCastException</a></code> - if the implementation is configured to perform
runtime-type-checking, and the key or value
types are incompatible with those that have been
configured for the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a></dd></dl>
</li>
</ul>
<a name="put(java.lang.Object,java.lang.Object)">
<!-- -->
</a><a name="put(K, V)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
<pre>void&nbsp;put(<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&nbsp;key,
<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&nbsp;value)</pre>
<div class="block">Associates the specified value with the specified key in the cache.
<p>
If the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a> previously contained a mapping for the key, the old
value is replaced by the specified value. (A cache <tt>c</tt> is said to
contain a mapping for a key <tt>k</tt> if and only if <a href="../../javax/cache/Cache.html#containsKey(K)"><code>c.containsKey(k)</code></a> would return <tt>true</tt>.)</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>key</code> - key with which the specified value is to be associated</dd><dd><code>value</code> - value to be associated with the specified key</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if key is null or if value is null</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the cache is <a href="../../javax/cache/Cache.html#isClosed()"><code>isClosed()</code></a></dd>
<dd><code><a href="../../javax/cache/CacheException.html" title="class in javax.cache">CacheException</a></code> - if there is a problem doing the put</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/ClassCastException.html?is-external=true" title="class or interface in java.lang">ClassCastException</a></code> - if the implementation is configured to perform
runtime-type-checking, and the key or value
types are incompatible with those that have been
configured for the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a></dd><dt><span class="strong">See Also:</span></dt><dd><a href="http://download.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true#put(K, V)" title="class or interface in java.util"><code>Map.put(Object, Object)</code></a>,
<a href="../../javax/cache/Cache.html#getAndPut(K, V)"><code>getAndPut(Object, Object)</code></a>,
<a href="../../javax/cache/Cache.html#getAndReplace(K, V)"><code>getAndReplace(Object, Object)</code></a>,
<a href="../../javax/cache/integration/CacheWriter.html#write(javax.cache.Cache.Entry)"><code>CacheWriter.write(javax.cache.Cache.Entry&lt;? extends K, ? extends V&gt;)</code></a></dd></dl>
</li>
</ul>
<a name="getAndPut(java.lang.Object,java.lang.Object)">
<!-- -->
</a><a name="getAndPut(K, V)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAndPut</h4>
<pre><a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&nbsp;getAndPut(<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&nbsp;key,
<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&nbsp;value)</pre>
<div class="block">Associates the specified value with the specified key in this cache,
returning an existing value if one existed.
<p>
If the cache previously contained a mapping for
the key, the old value is replaced by the specified value. (A cache
<tt>c</tt> is said to contain a mapping for a key <tt>k</tt> if and only
if <a href="../../javax/cache/Cache.html#containsKey(K)"><code>c.containsKey(k)</code></a> would return
<tt>true</tt>.)
<p>
The previous value is returned, or null if there was no value associated
with the key previously.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>key</code> - key with which the specified value is to be associated</dd><dd><code>value</code> - value to be associated with the specified key</dd>
<dt><span class="strong">Returns:</span></dt><dd>the value associated with the key at the start of the operation or
null if none was associated</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if key is null or if value is null</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the cache is <a href="../../javax/cache/Cache.html#isClosed()"><code>isClosed()</code></a></dd>
<dd><code><a href="../../javax/cache/CacheException.html" title="class in javax.cache">CacheException</a></code> - if there is a problem doing the put</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/ClassCastException.html?is-external=true" title="class or interface in java.lang">ClassCastException</a></code> - if the implementation is configured to perform
runtime-type-checking, and the key or value
types are incompatible with those that have been
configured for the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../javax/cache/Cache.html#put(K, V)"><code>put(Object, Object)</code></a>,
<a href="../../javax/cache/Cache.html#getAndReplace(K, V)"><code>getAndReplace(Object, Object)</code></a>,
<a href="../../javax/cache/integration/CacheWriter.html#write(javax.cache.Cache.Entry)"><code>CacheWriter.write(javax.cache.Cache.Entry&lt;? extends K, ? extends V&gt;)</code></a></dd></dl>
</li>
</ul>
<a name="putAll(java.util.Map)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putAll</h4>
<pre>void&nbsp;putAll(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;? extends <a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>,? extends <a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&gt;&nbsp;map)</pre>
<div class="block">Copies all of the entries from the specified map to the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a>.
<p>
The effect of this call is equivalent to that of calling
<a href="../../javax/cache/Cache.html#put(K, V)"><code>put(k, v)</code></a> on this cache once for each mapping
from key <tt>k</tt> to value <tt>v</tt> in the specified map.
<p>
The order in which the individual puts occur is undefined.
<p>
The behavior of this operation is undefined if entries in the cache
corresponding to entries in the map are modified or removed while this
operation is in progress. or if map is modified while the operation is in
progress.
<p>
In Default Consistency mode, individual puts occur atomically but not
the entire putAll. Listeners may observe individual updates.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>map</code> - mappings to be stored in this cache</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if map is null or if map contains null keys
or values.</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the cache is <a href="../../javax/cache/Cache.html#isClosed()"><code>isClosed()</code></a></dd>
<dd><code><a href="../../javax/cache/CacheException.html" title="class in javax.cache">CacheException</a></code> - if there is a problem doing the put.</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/ClassCastException.html?is-external=true" title="class or interface in java.lang">ClassCastException</a></code> - if the implementation is configured to perform
runtime-type-checking, and the key or value
types are incompatible with those that have been
configured for the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../javax/cache/integration/CacheWriter.html#writeAll(java.util.Collection)"><code>CacheWriter.writeAll(java.util.Collection&lt;javax.cache.Cache.Entry&lt;? extends K, ? extends V&gt;&gt;)</code></a></dd></dl>
</li>
</ul>
<a name="putIfAbsent(java.lang.Object,java.lang.Object)">
<!-- -->
</a><a name="putIfAbsent(K, V)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putIfAbsent</h4>
<pre>boolean&nbsp;putIfAbsent(<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&nbsp;key,
<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&nbsp;value)</pre>
<div class="block">Atomically associates the specified key with the given value if it is
not already associated with a value.
<p>
This is equivalent to:
<pre><code>
if (!cache.containsKey(key)) {}
cache.put(key, value);
return true;
} else {
return false;
}
</code></pre>
except that the action is performed atomically.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>key</code> - key with which the specified value is to be associated</dd><dd><code>value</code> - value to be associated with the specified key</dd>
<dt><span class="strong">Returns:</span></dt><dd>true if a value was set.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if key is null or value is null</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the cache is <a href="../../javax/cache/Cache.html#isClosed()"><code>isClosed()</code></a></dd>
<dd><code><a href="../../javax/cache/CacheException.html" title="class in javax.cache">CacheException</a></code> - if there is a problem doing the put</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/ClassCastException.html?is-external=true" title="class or interface in java.lang">ClassCastException</a></code> - if the implementation is configured to perform
runtime-type-checking, and the key or value
types are incompatible with those that have been
configured for the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../javax/cache/integration/CacheWriter.html#write(javax.cache.Cache.Entry)"><code>CacheWriter.write(javax.cache.Cache.Entry&lt;? extends K, ? extends V&gt;)</code></a></dd></dl>
</li>
</ul>
<a name="remove(java.lang.Object)">
<!-- -->
</a><a name="remove(K)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remove</h4>
<pre>boolean&nbsp;remove(<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&nbsp;key)</pre>
<div class="block">Removes the mapping for a key from this cache if it is present.
<p>
More formally, if this cache contains a mapping from key <tt>k</tt> to
value <tt>v</tt> such that
<code>(key==null ? k==null : key.equals(k))</code>, that mapping is removed.
(The cache can contain at most one such mapping.)
<p>Returns <tt>true</tt> if this cache previously associated the key,
or <tt>false</tt> if the cache contained no mapping for the key.
<p>
The cache will not contain a mapping for the specified key once the
call returns.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>key</code> - key whose mapping is to be removed from the cache</dd>
<dt><span class="strong">Returns:</span></dt><dd>returns false if there was no matching key</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if key is null</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the cache is <a href="../../javax/cache/Cache.html#isClosed()"><code>isClosed()</code></a></dd>
<dd><code><a href="../../javax/cache/CacheException.html" title="class in javax.cache">CacheException</a></code> - if there is a problem doing the remove</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/ClassCastException.html?is-external=true" title="class or interface in java.lang">ClassCastException</a></code> - if the implementation is configured to perform
runtime-type-checking, and the key or value
types are incompatible with those that have been
configured for the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../javax/cache/integration/CacheWriter.html#delete(java.lang.Object)"><code>CacheWriter.delete(java.lang.Object)</code></a></dd></dl>
</li>
</ul>
<a name="remove(java.lang.Object,java.lang.Object)">
<!-- -->
</a><a name="remove(K, V)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remove</h4>
<pre>boolean&nbsp;remove(<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&nbsp;key,
<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&nbsp;oldValue)</pre>
<div class="block">Atomically removes the mapping for a key only if currently mapped to the
given value.
<p>
This is equivalent to:
<pre><code>
if (cache.containsKey(key) &amp;&amp; equals(cache.get(key), oldValue) {
cache.remove(key);
return true;
} else {
return false;
}
</code></pre>
except that the action is performed atomically.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>key</code> - key whose mapping is to be removed from the cache</dd><dd><code>oldValue</code> - value expected to be associated with the specified key</dd>
<dt><span class="strong">Returns:</span></dt><dd>returns false if there was no matching key</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if key is null</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the cache is <a href="../../javax/cache/Cache.html#isClosed()"><code>isClosed()</code></a></dd>
<dd><code><a href="../../javax/cache/CacheException.html" title="class in javax.cache">CacheException</a></code> - if there is a problem doing the remove</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/ClassCastException.html?is-external=true" title="class or interface in java.lang">ClassCastException</a></code> - if the implementation is configured to perform
runtime-type-checking, and the key or value
types are incompatible with those that have been
configured for the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../javax/cache/integration/CacheWriter.html#delete(java.lang.Object)"><code>CacheWriter.delete(java.lang.Object)</code></a></dd></dl>
</li>
</ul>
<a name="getAndRemove(java.lang.Object)">
<!-- -->
</a><a name="getAndRemove(K)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAndRemove</h4>
<pre><a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&nbsp;getAndRemove(<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&nbsp;key)</pre>
<div class="block">Atomically removes the entry for a key only if currently mapped to some
value.
<p>
This is equivalent to:
<pre><code>
if (cache.containsKey(key)) {
V oldValue = cache.get(key);
cache.remove(key);
return oldValue;
} else {
return null;
}
</code></pre>
except that the action is performed atomically.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>key</code> - key with which the specified value is associated</dd>
<dt><span class="strong">Returns:</span></dt><dd>the value if one existed or null if no mapping existed for this key</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.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 specified key or value is null.</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the cache is <a href="../../javax/cache/Cache.html#isClosed()"><code>isClosed()</code></a></dd>
<dd><code><a href="../../javax/cache/CacheException.html" title="class in javax.cache">CacheException</a></code> - if there is a problem during the remove</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/ClassCastException.html?is-external=true" title="class or interface in java.lang">ClassCastException</a></code> - if the implementation is configured to perform
runtime-type-checking, and the key or value
types are incompatible with those that have been
configured for the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../javax/cache/integration/CacheWriter.html#delete(java.lang.Object)"><code>CacheWriter.delete(java.lang.Object)</code></a></dd></dl>
</li>
</ul>
<a name="replace(java.lang.Object,java.lang.Object,java.lang.Object)">
<!-- -->
</a><a name="replace(K, V, V)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>replace</h4>
<pre>boolean&nbsp;replace(<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&nbsp;key,
<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&nbsp;oldValue,
<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&nbsp;newValue)</pre>
<div class="block">Atomically replaces the entry for a key only if currently mapped to a
given value.
<p>
This is equivalent to:
<pre><code>
if (cache.containsKey(key) &amp;&amp; equals(cache.get(key), oldValue)) {
cache.put(key, newValue);
return true;
} else {
return false;
}
</code></pre>
except that the action is performed atomically.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>key</code> - key with which the specified value is associated</dd><dd><code>oldValue</code> - value expected to be associated with the specified key</dd><dd><code>newValue</code> - value to be associated with the specified key</dd>
<dt><span class="strong">Returns:</span></dt><dd><tt>true</tt> if the value was replaced</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if key is null or if the values are null</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the cache is <a href="../../javax/cache/Cache.html#isClosed()"><code>isClosed()</code></a></dd>
<dd><code><a href="../../javax/cache/CacheException.html" title="class in javax.cache">CacheException</a></code> - if there is a problem during the replace</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/ClassCastException.html?is-external=true" title="class or interface in java.lang">ClassCastException</a></code> - if the implementation is configured to perform
runtime-type-checking, and the key or value
types are incompatible with those that have been
configured for the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../javax/cache/integration/CacheWriter.html#write(javax.cache.Cache.Entry)"><code>CacheWriter.write(javax.cache.Cache.Entry&lt;? extends K, ? extends V&gt;)</code></a></dd></dl>
</li>
</ul>
<a name="replace(java.lang.Object,java.lang.Object)">
<!-- -->
</a><a name="replace(K, V)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>replace</h4>
<pre>boolean&nbsp;replace(<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&nbsp;key,
<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&nbsp;value)</pre>
<div class="block">Atomically replaces the entry for a key only if currently mapped to some
value.
<p>
This is equivalent to
<pre><code>
if (cache.containsKey(key)) {
cache.put(key, value);
return true;
} else {
return false;
}</code></pre>
except that the action is performed atomically.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>key</code> - the key with which the specified value is associated</dd><dd><code>value</code> - the value to be associated with the specified key</dd>
<dt><span class="strong">Returns:</span></dt><dd><tt>true</tt> if the value was replaced</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if key is null or if value is null</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the cache is <a href="../../javax/cache/Cache.html#isClosed()"><code>isClosed()</code></a></dd>
<dd><code><a href="../../javax/cache/CacheException.html" title="class in javax.cache">CacheException</a></code> - if there is a problem during the replace</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/ClassCastException.html?is-external=true" title="class or interface in java.lang">ClassCastException</a></code> - if the implementation is configured to perform
runtime-type-checking, and the key or value
types are incompatible with those that have been
configured for the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../javax/cache/Cache.html#getAndReplace(K, V)"><code>getAndReplace(Object, Object)</code></a>,
<a href="../../javax/cache/integration/CacheWriter.html#write(javax.cache.Cache.Entry)"><code>CacheWriter.write(javax.cache.Cache.Entry&lt;? extends K, ? extends V&gt;)</code></a></dd></dl>
</li>
</ul>
<a name="getAndReplace(java.lang.Object,java.lang.Object)">
<!-- -->
</a><a name="getAndReplace(K, V)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAndReplace</h4>
<pre><a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&nbsp;getAndReplace(<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&nbsp;key,
<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&nbsp;value)</pre>
<div class="block">Atomically replaces the value for a given key if and only if there is a
value currently mapped by the key.
<p>
This is equivalent to
<pre><code>
if (cache.containsKey(key)) {
V oldValue = cache.get(key);
cache.put(key, value);
return oldValue;
} else {
return null;
}
</code></pre>
except that the action is performed atomically.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>key</code> - key with which the specified value is associated</dd><dd><code>value</code> - value to be associated with the specified key</dd>
<dt><span class="strong">Returns:</span></dt><dd>the previous value associated with the specified key, or
<tt>null</tt> if there was no mapping for the key.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if key is null or if value is null</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the cache is <a href="../../javax/cache/Cache.html#isClosed()"><code>isClosed()</code></a></dd>
<dd><code><a href="../../javax/cache/CacheException.html" title="class in javax.cache">CacheException</a></code> - if there is a problem during the replace</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/ClassCastException.html?is-external=true" title="class or interface in java.lang">ClassCastException</a></code> - if the implementation is configured to perform
runtime-type-checking, and the key or value
types are incompatible with those that have been
configured for the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a></dd><dt><span class="strong">See Also:</span></dt><dd><a href="http://download.oracle.com/javase/6/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true#replace(K, V)" title="class or interface in java.util.concurrent"><code>ConcurrentMap.replace(Object, Object)</code></a>,
<a href="../../javax/cache/integration/CacheWriter.html#write(javax.cache.Cache.Entry)"><code>CacheWriter.write(javax.cache.Cache.Entry&lt;? extends K, ? extends V&gt;)</code></a></dd></dl>
</li>
</ul>
<a name="removeAll(java.util.Set)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeAll</h4>
<pre>void&nbsp;removeAll(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;? extends <a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&gt;&nbsp;keys)</pre>
<div class="block">Removes entries for the specified keys.
<p>
The order in which the individual entries are removed is undefined.
<p>
For every entry in the key set, the following are called:
<ul>
<li>any registered <a href="../../javax/cache/event/CacheEntryRemovedListener.html" title="interface in javax.cache.event"><code>CacheEntryRemovedListener</code></a>s</li>
<li>if the cache is a write-through cache, the <a href="../../javax/cache/integration/CacheWriter.html" title="interface in javax.cache.integration"><code>CacheWriter</code></a></li>
</ul>
If the key set is empty, the <a href="../../javax/cache/integration/CacheWriter.html" title="interface in javax.cache.integration"><code>CacheWriter</code></a> is not called.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>keys</code> - the keys to remove</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if keys is null or if it contains a null key</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the cache is <a href="../../javax/cache/Cache.html#isClosed()"><code>isClosed()</code></a></dd>
<dd><code><a href="../../javax/cache/CacheException.html" title="class in javax.cache">CacheException</a></code> - if there is a problem during the remove</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/ClassCastException.html?is-external=true" title="class or interface in java.lang">ClassCastException</a></code> - if the implementation is configured to perform
runtime-type-checking, and the key or value
types are incompatible with those that have been
configured for the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../javax/cache/integration/CacheWriter.html#deleteAll(java.util.Collection)"><code>CacheWriter.deleteAll(java.util.Collection&lt;?&gt;)</code></a></dd></dl>
</li>
</ul>
<a name="removeAll()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeAll</h4>
<pre>void&nbsp;removeAll()</pre>
<div class="block">Removes all of the mappings from this cache.
<p>
The order that the individual entries are removed is undefined.
<p>
For every mapping that exists the following are called:
<ul>
<li>any registered <a href="../../javax/cache/event/CacheEntryRemovedListener.html" title="interface in javax.cache.event"><code>CacheEntryRemovedListener</code></a>s</li>
<li>if the cache is a write-through cache, the <a href="../../javax/cache/integration/CacheWriter.html" title="interface in javax.cache.integration"><code>CacheWriter</code></a></li>
</ul>
If the cache is empty, the <a href="../../javax/cache/integration/CacheWriter.html" title="interface in javax.cache.integration"><code>CacheWriter</code></a> is not called.
<p>
This is potentially an expensive operation as listeners are invoked.
Use <a href="../../javax/cache/Cache.html#clear()"><code>clear()</code></a> to avoid this.</div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the cache is <a href="../../javax/cache/Cache.html#isClosed()"><code>isClosed()</code></a></dd>
<dd><code><a href="../../javax/cache/CacheException.html" title="class in javax.cache">CacheException</a></code> - if there is a problem during the remove</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../javax/cache/Cache.html#clear()"><code>clear()</code></a>,
<a href="../../javax/cache/integration/CacheWriter.html#deleteAll(java.util.Collection)"><code>CacheWriter.deleteAll(java.util.Collection&lt;?&gt;)</code></a></dd></dl>
</li>
</ul>
<a name="clear()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clear</h4>
<pre>void&nbsp;clear()</pre>
<div class="block">Clears the contents of the cache, without notifying listeners or
<a href="../../javax/cache/integration/CacheWriter.html" title="interface in javax.cache.integration"><code>CacheWriter</code></a>s.</div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the cache is <a href="../../javax/cache/Cache.html#isClosed()"><code>isClosed()</code></a></dd>
<dd><code><a href="../../javax/cache/CacheException.html" title="class in javax.cache">CacheException</a></code> - if there is a problem during the clear</dd></dl>
</li>
</ul>
<a name="getConfiguration(java.lang.Class)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConfiguration</h4>
<pre>&lt;C extends <a href="../../javax/cache/configuration/Configuration.html" title="interface in javax.cache.configuration">Configuration</a>&lt;<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>,<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&gt;&gt;&nbsp;C&nbsp;getConfiguration(<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;C&gt;&nbsp;clazz)</pre>
<div class="block">Provides a standard way to access the configuration of a cache using
JCache configuration or additional proprietary configuration.
<p>
The returned value must be immutable.
<p>
If the provider's implementation does not support the specified class,
the <a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang"><code>IllegalArgumentException</code></a> is thrown.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>clazz</code> - the configuration interface or class to return. This includes
<a href="../../javax/cache/configuration/Configuration.html" title="interface in javax.cache.configuration"><code>Configuration</code></a>.class and
<a href="../../javax/cache/configuration/CompleteConfiguration.html" title="interface in javax.cache.configuration"><code>CompleteConfiguration</code></a>s.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the requested implementation of <a href="../../javax/cache/configuration/Configuration.html" title="interface in javax.cache.configuration"><code>Configuration</code></a></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the caching provider doesn't support
the specified class.</dd></dl>
</li>
</ul>
<a name="invoke(java.lang.Object,javax.cache.processor.EntryProcessor,java.lang.Object[])">
<!-- -->
</a><a name="invoke(K, javax.cache.processor.EntryProcessor, java.lang.Object...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>invoke</h4>
<pre>&lt;T&gt;&nbsp;T&nbsp;invoke(<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&nbsp;key,
<a href="../../javax/cache/processor/EntryProcessor.html" title="interface in javax.cache.processor">EntryProcessor</a>&lt;<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>,<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>,T&gt;&nbsp;entryProcessor,
<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;arguments)
throws <a href="../../javax/cache/processor/EntryProcessorException.html" title="class in javax.cache.processor">EntryProcessorException</a></pre>
<div class="block">Invokes an <a href="../../javax/cache/processor/EntryProcessor.html" title="interface in javax.cache.processor"><code>EntryProcessor</code></a> against the <a href="../../javax/cache/Cache.Entry.html" title="interface in javax.cache"><code>Cache.Entry</code></a> specified by
the provided key. If an <a href="../../javax/cache/Cache.Entry.html" title="interface in javax.cache"><code>Cache.Entry</code></a> does not exist for the specified key,
an attempt is made to load it (if a loader is configured) or a surrogate
<a href="../../javax/cache/Cache.Entry.html" title="interface in javax.cache"><code>Cache.Entry</code></a>, consisting of the key with a null value is used instead.
<p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>key</code> - the key to the entry</dd><dd><code>entryProcessor</code> - the <a href="../../javax/cache/processor/EntryProcessor.html" title="interface in javax.cache.processor"><code>EntryProcessor</code></a> to invoke</dd><dd><code>arguments</code> - additional arguments to pass to the
<a href="../../javax/cache/processor/EntryProcessor.html" title="interface in javax.cache.processor"><code>EntryProcessor</code></a></dd>
<dt><span class="strong">Returns:</span></dt><dd>the result of the processing, if any, defined by the
<a href="../../javax/cache/processor/EntryProcessor.html" title="interface in javax.cache.processor"><code>EntryProcessor</code></a> implementation</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if key or <a href="../../javax/cache/processor/EntryProcessor.html" title="interface in javax.cache.processor"><code>EntryProcessor</code></a> is null</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the cache is <a href="../../javax/cache/Cache.html#isClosed()"><code>isClosed()</code></a></dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/ClassCastException.html?is-external=true" title="class or interface in java.lang">ClassCastException</a></code> - if the implementation is configured to perform
runtime-type-checking, and the key or value
types are incompatible with those that have been
configured for the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a></dd>
<dd><code><a href="../../javax/cache/processor/EntryProcessorException.html" title="class in javax.cache.processor">EntryProcessorException</a></code> - if an exception is thrown by the <a href="../../javax/cache/processor/EntryProcessor.html" title="interface in javax.cache.processor"><code>EntryProcessor</code></a>, a Caching Implementation
must wrap any <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><code>Exception</code></a> thrown
wrapped in an <a href="../../javax/cache/processor/EntryProcessorException.html" title="class in javax.cache.processor"><code>EntryProcessorException</code></a>.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../javax/cache/processor/EntryProcessor.html" title="interface in javax.cache.processor"><code>EntryProcessor</code></a></dd></dl>
</li>
</ul>
<a name="invokeAll(java.util.Set, javax.cache.processor.EntryProcessor, java.lang.Object...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>invokeAll</h4>
<pre>&lt;T&gt;&nbsp;<a href="http://download.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>,<a href="../../javax/cache/processor/EntryProcessorResult.html" title="interface in javax.cache.processor">EntryProcessorResult</a>&lt;T&gt;&gt;&nbsp;invokeAll(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;? extends <a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>&gt;&nbsp;keys,
<a href="../../javax/cache/processor/EntryProcessor.html" title="interface in javax.cache.processor">EntryProcessor</a>&lt;<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>,<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>,T&gt;&nbsp;entryProcessor,
<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>...&nbsp;arguments)</pre>
<div class="block">Invokes an <a href="../../javax/cache/processor/EntryProcessor.html" title="interface in javax.cache.processor"><code>EntryProcessor</code></a> against the set of <a href="../../javax/cache/Cache.Entry.html" title="interface in javax.cache"><code>Cache.Entry</code></a>s
specified by the set of keys.
<p>
If an <a href="../../javax/cache/Cache.Entry.html" title="interface in javax.cache"><code>Cache.Entry</code></a> does not exist for the specified key, an attempt is made
to load it (if a loader is configured) or a surrogate <a href="../../javax/cache/Cache.Entry.html" title="interface in javax.cache"><code>Cache.Entry</code></a>,
consisting of the key and a value of null is provided.
<p>
The order that the entries for the keys are processed is undefined.
Implementations may choose to process the entries in any order, including
concurrently. Furthermore there is no guarantee implementations will
use the same <a href="../../javax/cache/processor/EntryProcessor.html" title="interface in javax.cache.processor"><code>EntryProcessor</code></a> instance to process each entry, as
the case may be in a non-local cache topology.
<p>
The result of executing the <a href="../../javax/cache/processor/EntryProcessor.html" title="interface in javax.cache.processor"><code>EntryProcessor</code></a> is returned as a
<a href="http://download.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util"><code>Map</code></a> of <a href="../../javax/cache/processor/EntryProcessorResult.html" title="interface in javax.cache.processor"><code>EntryProcessorResult</code></a>s, one result per key. Should the
<a href="../../javax/cache/processor/EntryProcessor.html" title="interface in javax.cache.processor"><code>EntryProcessor</code></a> or Caching implementation throw an exception, the
exception is wrapped and re-thrown when a call to
<a href="../../javax/cache/processor/EntryProcessorResult.html#get()"><code>EntryProcessorResult.get()</code></a> is made.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>keys</code> - the set of keys for entries to process</dd><dd><code>entryProcessor</code> - the <a href="../../javax/cache/processor/EntryProcessor.html" title="interface in javax.cache.processor"><code>EntryProcessor</code></a> to invoke</dd><dd><code>arguments</code> - additional arguments to pass to the
<a href="../../javax/cache/processor/EntryProcessor.html" title="interface in javax.cache.processor"><code>EntryProcessor</code></a></dd>
<dt><span class="strong">Returns:</span></dt><dd>the map of <a href="../../javax/cache/processor/EntryProcessorResult.html" title="interface in javax.cache.processor"><code>EntryProcessorResult</code></a>s of the processing per key,
if any, defined by the <a href="../../javax/cache/processor/EntryProcessor.html" title="interface in javax.cache.processor"><code>EntryProcessor</code></a> implementation. No mappings
will be returned for <a href="../../javax/cache/processor/EntryProcessor.html" title="interface in javax.cache.processor"><code>EntryProcessor</code></a>s that return a
<code>null</code> value for a key.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if keys or <a href="../../javax/cache/processor/EntryProcessor.html" title="interface in javax.cache.processor"><code>EntryProcessor</code></a> are null</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the cache is <a href="../../javax/cache/Cache.html#isClosed()"><code>isClosed()</code></a></dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/ClassCastException.html?is-external=true" title="class or interface in java.lang">ClassCastException</a></code> - if the implementation is configured to perform
runtime-type-checking, and the key or value
types are incompatible with those that have been
configured for the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../javax/cache/processor/EntryProcessor.html" title="interface in javax.cache.processor"><code>EntryProcessor</code></a></dd></dl>
</li>
</ul>
<a name="getName()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre><a href="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
<div class="block">Return the name of the cache.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the name of the cache.</dd></dl>
</li>
</ul>
<a name="getCacheManager()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCacheManager</h4>
<pre><a href="../../javax/cache/CacheManager.html" title="interface in javax.cache">CacheManager</a>&nbsp;getCacheManager()</pre>
<div class="block">Gets the <a href="../../javax/cache/CacheManager.html" title="interface in javax.cache"><code>CacheManager</code></a> that owns and manages the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the manager or <code>null</code> if the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a> is not
managed</dd></dl>
</li>
</ul>
<a name="close()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>void&nbsp;close()</pre>
<div class="block">Closing a <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a> signals to the <a href="../../javax/cache/CacheManager.html" title="interface in javax.cache"><code>CacheManager</code></a> that produced or
owns the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a> that it should no longer be managed. At this
point in time the <a href="../../javax/cache/CacheManager.html" title="interface in javax.cache"><code>CacheManager</code></a>:
<ul>
<li>must close and release all resources being coordinated on behalf of the
Cache by the <a href="../../javax/cache/CacheManager.html" title="interface in javax.cache"><code>CacheManager</code></a>. This includes calling the <code>close
</code> method on configured <a href="../../javax/cache/integration/CacheLoader.html" title="interface in javax.cache.integration"><code>CacheLoader</code></a>,
<a href="../../javax/cache/integration/CacheWriter.html" title="interface in javax.cache.integration"><code>CacheWriter</code></a>, registered <a href="../../javax/cache/event/CacheEntryListener.html" title="interface in javax.cache.event"><code>CacheEntryListener</code></a>s and
<a href="../../javax/cache/expiry/ExpiryPolicy.html" title="interface in javax.cache.expiry"><code>ExpiryPolicy</code></a> instances that implement the java.io.Closeable
interface.
<li>prevent events being delivered to configured <a href="../../javax/cache/event/CacheEntryListener.html" title="interface in javax.cache.event"><code>CacheEntryListener</code></a>s
registered on the <a href="../../javax/cache/Cache.html" title="interface in javax.cache"><code>Cache</code></a>
</li>
<li>not return the name of the Cache when the CacheManager getCacheNames()
method is called</li>
</ul>
Once closed any attempt to use an operational method on a Cache will throw an
<a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang"><code>IllegalStateException</code></a>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/AutoCloseable.html?is-external=true#close()" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/io/Closeable.html?is-external=true#close()" title="class or interface in java.io">close</a></code>&nbsp;in interface&nbsp;<code><a href="http://download.oracle.com/javase/6/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/SecurityException.html?is-external=true" title="class or interface in java.lang">SecurityException</a></code> - when the operation could not be performed
due to the current security settings</dd></dl>
</li>
</ul>
<a name="isClosed()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isClosed</h4>
<pre>boolean&nbsp;isClosed()</pre>
<div class="block">Determines whether this Cache instance has been closed. A Cache is
considered closed if;
<ol>
<li>the <a href="../../javax/cache/Cache.html#close()"><code>close()</code></a> method has been called</li>
<li>the associated <a href="../../javax/cache/Cache.html#getCacheManager()"><code>getCacheManager()</code></a> has been closed, or</li>
<li>the Cache has been removed from the associated
<a href="../../javax/cache/Cache.html#getCacheManager()"><code>getCacheManager()</code></a></li>
</ol>
<p>
This method generally cannot be called to determine whether a Cache instance
is valid or invalid. A typical client can determine that a Cache is invalid
by catching any exceptions that might be thrown when an operation is
attempted.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>true if this Cache instance is closed; false if it is still open</dd></dl>
</li>
</ul>
<a name="unwrap(java.lang.Class)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unwrap</h4>
<pre>&lt;T&gt;&nbsp;T&nbsp;unwrap(<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;clazz)</pre>
<div class="block">Provides a standard way to access the underlying concrete caching
implementation to provide access to further, proprietary features.
<p>
If the provider's implementation does not support the specified class,
the <a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang"><code>IllegalArgumentException</code></a> is thrown.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>clazz</code> - the proprietary class or interface of the underlying concrete
cache. It is this type that is returned.</dd>
<dt><span class="strong">Returns:</span></dt><dd>an instance of the underlying concrete cache</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the caching provider doesn't support
the specified class.</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/SecurityException.html?is-external=true" title="class or interface in java.lang">SecurityException</a></code> - when the operation could not be performed
due to the current security settings</dd></dl>
</li>
</ul>
<a name="registerCacheEntryListener(javax.cache.configuration.CacheEntryListenerConfiguration)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerCacheEntryListener</h4>
<pre>void&nbsp;registerCacheEntryListener(<a href="../../javax/cache/configuration/CacheEntryListenerConfiguration.html" title="interface in javax.cache.configuration">CacheEntryListenerConfiguration</a>&lt;<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>,<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&gt;&nbsp;cacheEntryListenerConfiguration)</pre>
<div class="block">Registers a <a href="../../javax/cache/event/CacheEntryListener.html" title="interface in javax.cache.event"><code>CacheEntryListener</code></a>. The supplied
<a href="../../javax/cache/configuration/CacheEntryListenerConfiguration.html" title="interface in javax.cache.configuration"><code>CacheEntryListenerConfiguration</code></a> is used to instantiate a listener
and apply it to those events specified in the configuration.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cacheEntryListenerConfiguration</code> - a factory and related configuration
for creating the listener</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - is the same CacheEntryListenerConfiguration
is used more than once</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the cache is <a href="../../javax/cache/Cache.html#isClosed()"><code>isClosed()</code></a></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../javax/cache/event/CacheEntryListener.html" title="interface in javax.cache.event"><code>CacheEntryListener</code></a></dd></dl>
</li>
</ul>
<a name="deregisterCacheEntryListener(javax.cache.configuration.CacheEntryListenerConfiguration)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deregisterCacheEntryListener</h4>
<pre>void&nbsp;deregisterCacheEntryListener(<a href="../../javax/cache/configuration/CacheEntryListenerConfiguration.html" title="interface in javax.cache.configuration">CacheEntryListenerConfiguration</a>&lt;<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>,<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&gt;&nbsp;cacheEntryListenerConfiguration)</pre>
<div class="block">Deregisters a listener, using the
<a href="../../javax/cache/configuration/CacheEntryListenerConfiguration.html" title="interface in javax.cache.configuration"><code>CacheEntryListenerConfiguration</code></a> that was used to register it.
<p>
Both listeners registered at configuration time,
and those created at runtime with <a href="../../javax/cache/Cache.html#registerCacheEntryListener(javax.cache.configuration.CacheEntryListenerConfiguration)"><code>registerCacheEntryListener(javax.cache.configuration.CacheEntryListenerConfiguration&lt;K, V&gt;)</code></a> can
be deregistered.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cacheEntryListenerConfiguration</code> - the factory and related configuration
that was used to create the
listener</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the cache is <a href="../../javax/cache/Cache.html#isClosed()"><code>isClosed()</code></a></dd></dl>
</li>
</ul>
<a name="iterator()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>iterator</h4>
<pre><a href="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../javax/cache/Cache.Entry.html" title="interface in javax.cache">Cache.Entry</a>&lt;<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>,<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&gt;&gt;&nbsp;iterator()</pre>
<div class="block">
<p>
The ordering of iteration over entries is undefined.
<p>
During iteration, any entries that are a). read will have their appropriate
CacheEntryReadListeners notified and b). removed will have their appropriate
CacheEntryRemoveListeners notified.
<p>
<a href="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true#next()" title="class or interface in java.util"><code>Iterator.next()</code></a> may return null if the entry is no
longer present, has expired or has been evicted.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/Iterable.html?is-external=true#iterator()" title="class or interface in java.lang">iterator</a></code>&nbsp;in interface&nbsp;<code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../javax/cache/Cache.Entry.html" title="interface in javax.cache">Cache.Entry</a>&lt;<a href="../../javax/cache/Cache.html" title="type parameter in Cache">K</a>,<a href="../../javax/cache/Cache.html" title="type parameter in Cache">V</a>&gt;&gt;</code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the cache is <a href="../../javax/cache/Cache.html#isClosed()"><code>isClosed()</code></a></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/Cache.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>Prev Class</li>
<li><a href="../../javax/cache/Cache.Entry.html" title="interface in javax.cache"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?javax/cache/Cache.html" target="_top">Frames</a></li>
<li><a href="Cache.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:&nbsp;</li>
<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2014. All Rights Reserved.</small></p>
</body>
</html>