blob: 49f12d73db70da5499b0956110fca6c1d6e5debe [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 -->
<title>CacheLoader (Apache Geode 1.15.0)</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="CacheLoader (Apache Geode 1.15.0)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/geode/cache/CacheListener.html" title="interface in org.apache.geode.cache"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/geode/cache/CacheLoaderException.html" title="class in org.apache.geode.cache"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/geode/cache/CacheLoader.html" target="_top">Frames</a></li>
<li><a href="CacheLoader.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>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">org.apache.geode.cache</div>
<h2 title="Interface CacheLoader" class="title">Interface CacheLoader&lt;K,V&gt;</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../../org/apache/geode/cache/CacheCallback.html" title="interface in org.apache.geode.cache">CacheCallback</a>, <a href="../../../../org/apache/geode/cache/Declarable.html" title="interface in org.apache.geode.cache">Declarable</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../org/apache/geode/connectors/jdbc/JdbcLoader.html" title="class in org.apache.geode.connectors.jdbc">JdbcLoader</a>, <a href="../../../../org/apache/geode/modules/session/catalina/callback/LocalSessionCacheLoader.html" title="class in org.apache.geode.modules.session.catalina.callback">LocalSessionCacheLoader</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">CacheLoader&lt;K,V&gt;</span>
extends <a href="../../../../org/apache/geode/cache/CacheCallback.html" title="interface in org.apache.geode.cache">CacheCallback</a></pre>
<div class="block">Allows data from outside of the VM to be placed into a region. When
<a href="../../../../org/apache/geode/cache/Region.html#get-java.lang.Object-"><code>Region.get(Object)</code></a> is called for a region entry that has a
<code>null</code> value, the <a href="../../../../org/apache/geode/cache/CacheLoader.html#load-org.apache.geode.cache.LoaderHelper-"><code>load</code></a> method of the region's cache loader is
invoked. The <code>load</code> method creates the value for the desired key by performing an
operation such as a database query. The <code>load</code> may also perform a
<a href="../../../../org/apache/geode/cache/LoaderHelper.html#netSearch-boolean-">net search</a> that will look for the value in a cache instance
hosted by another member of the distributed system.
<p>
WARNING: To avoid risk of deadlock, do not invoke CacheFactory.getAnyInstance() from within any
callback methods. Instead use LoaderHelper.getRegion().getCache().
<p></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>GemFire 2.0</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/geode/cache/AttributesFactory.html#setCacheLoader-org.apache.geode.cache.CacheLoader-"><code>AttributesFactory.setCacheLoader(org.apache.geode.cache.CacheLoader&lt;K, V&gt;)</code></a>,
<a href="../../../../org/apache/geode/cache/RegionAttributes.html#getCacheLoader--"><code>RegionAttributes.getCacheLoader()</code></a>,
<a href="../../../../org/apache/geode/cache/AttributesMutator.html#setCacheLoader-org.apache.geode.cache.CacheLoader-"><code>AttributesMutator.setCacheLoader(org.apache.geode.cache.CacheLoader&lt;K, V&gt;)</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/geode/cache/CacheLoader.html" title="type parameter in CacheLoader">V</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/geode/cache/CacheLoader.html#load-org.apache.geode.cache.LoaderHelper-">load</a></span>(<a href="../../../../org/apache/geode/cache/LoaderHelper.html" title="interface in org.apache.geode.cache">LoaderHelper</a>&lt;<a href="../../../../org/apache/geode/cache/CacheLoader.html" title="type parameter in CacheLoader">K</a>,<a href="../../../../org/apache/geode/cache/CacheLoader.html" title="type parameter in CacheLoader">V</a>&gt;&nbsp;helper)</code>
<div class="block">Loads a value.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.geode.cache.CacheCallback">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.geode.cache.<a href="../../../../org/apache/geode/cache/CacheCallback.html" title="interface in org.apache.geode.cache">CacheCallback</a></h3>
<code><a href="../../../../org/apache/geode/cache/CacheCallback.html#close--">close</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.geode.cache.Declarable">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.geode.cache.<a href="../../../../org/apache/geode/cache/Declarable.html" title="interface in org.apache.geode.cache">Declarable</a></h3>
<code><a href="../../../../org/apache/geode/cache/Declarable.html#init-java.util.Properties-">init</a>, <a href="../../../../org/apache/geode/cache/Declarable.html#initialize-org.apache.geode.cache.Cache-java.util.Properties-">initialize</a></code></li>
</ul>
</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="load-org.apache.geode.cache.LoaderHelper-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>load</h4>
<pre><a href="../../../../org/apache/geode/cache/CacheLoader.html" title="type parameter in CacheLoader">V</a>&nbsp;load(<a href="../../../../org/apache/geode/cache/LoaderHelper.html" title="interface in org.apache.geode.cache">LoaderHelper</a>&lt;<a href="../../../../org/apache/geode/cache/CacheLoader.html" title="type parameter in CacheLoader">K</a>,<a href="../../../../org/apache/geode/cache/CacheLoader.html" title="type parameter in CacheLoader">V</a>&gt;&nbsp;helper)
throws <a href="../../../../org/apache/geode/cache/CacheLoaderException.html" title="class in org.apache.geode.cache">CacheLoaderException</a></pre>
<div class="block">Loads a value. Application writers should implement this method to customize the loading of a
value. This method is called by the caching service when the requested value is not in the
cache. Any exception (including an unchecked exception) thrown by this method is propagated
back to and thrown by the invocation of <a href="../../../../org/apache/geode/cache/Region.html#get-java.lang.Object-java.lang.Object-"><code>Region.get(Object, Object)</code></a> that triggered this
load.
<p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>helper</code> - a LoaderHelper object that is passed in from cache service and provides access to
the key, region, argument, and <code>netSearch</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value supplied for this key, or null if no value can be supplied. A local loader
will always be invoked if one exists. Otherwise one remote loader is invoked. Returning
<code>null</code> causes <a href="../../../../org/apache/geode/cache/Region.html#get-java.lang.Object-java.lang.Object-"><code>Region.get(Object, Object)</code></a> to return
<code>null</code>.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/geode/cache/CacheLoaderException.html" title="class in org.apache.geode.cache">CacheLoaderException</a></code> - if an error occurs. This exception or any other exception thrown
by this method will be propagated back to the application from the get method.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/geode/cache/Region.html#get-java.lang.Object-java.lang.Object-"><code>Region.get</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>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/geode/cache/CacheListener.html" title="interface in org.apache.geode.cache"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/geode/cache/CacheLoaderException.html" title="class in org.apache.geode.cache"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/geode/cache/CacheLoader.html" target="_top">Frames</a></li>
<li><a href="CacheLoader.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>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 ======= -->
</body>
</html>