<!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>org.apache.geode.cache.operations (Apache Geode 1.15.1)</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="org.apache.geode.cache.operations (Apache Geode 1.15.1)";
        }
    }
    catch(err) {
    }
//-->
</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 class="navBarCell1Rev">Package</li>
<li>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/lucene/management/configuration/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../../org/apache/geode/cache/partition/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/geode/cache/operations/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.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>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Package" class="title">Package&nbsp;org.apache.geode.cache.operations</h1>
<div class="docSummary">
<div class="block">Contains the <a href="../../../../../org/apache/geode/cache/operations/OperationContext.html" title="class in org.apache.geode.cache.operations"><code>OperationContext</code></a> interface that encapsulates an operation and the data associated with it for both the pre-operation and post-operation cases.</div>
</div>
<p>See:&nbsp;<a href="#package.description">Description</a></p>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/geode/cache/operations/CloseCQOperationContext.html" title="class in org.apache.geode.cache.operations">CloseCQOperationContext</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">since Geode1.0, use <a href="../../../../../org/apache/geode/security/ResourcePermission.html" title="class in org.apache.geode.security"><code>ResourcePermission</code></a> instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/geode/cache/operations/DestroyOperationContext.html" title="class in org.apache.geode.cache.operations">DestroyOperationContext</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">since Geode1.0, use <a href="../../../../../org/apache/geode/security/ResourcePermission.html" title="class in org.apache.geode.security"><code>ResourcePermission</code></a> instead</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/geode/cache/operations/ExecuteCQOperationContext.html" title="class in org.apache.geode.cache.operations">ExecuteCQOperationContext</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">since Geode1.0, use <a href="../../../../../org/apache/geode/security/ResourcePermission.html" title="class in org.apache.geode.security"><code>ResourcePermission</code></a> instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/geode/cache/operations/ExecuteFunctionOperationContext.html" title="class in org.apache.geode.cache.operations">ExecuteFunctionOperationContext</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">since Geode1.0, use <a href="../../../../../org/apache/geode/security/ResourcePermission.html" title="class in org.apache.geode.security"><code>ResourcePermission</code></a> instead</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/geode/cache/operations/GetDurableCQsOperationContext.html" title="class in org.apache.geode.cache.operations">GetDurableCQsOperationContext</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">since Geode1.0, use <a href="../../../../../org/apache/geode/security/ResourcePermission.html" title="class in org.apache.geode.security"><code>ResourcePermission</code></a> instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/geode/cache/operations/GetOperationContext.html" title="class in org.apache.geode.cache.operations">GetOperationContext</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">since Geode1.0, use <a href="../../../../../org/apache/geode/security/ResourcePermission.html" title="class in org.apache.geode.security"><code>ResourcePermission</code></a> instead</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/geode/cache/operations/InterestOperationContext.html" title="class in org.apache.geode.cache.operations">InterestOperationContext</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">since Geode1.0, use <a href="../../../../../org/apache/geode/security/ResourcePermission.html" title="class in org.apache.geode.security"><code>ResourcePermission</code></a> instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/geode/cache/operations/InterestType.html" title="class in org.apache.geode.cache.operations">InterestType</a></td>
<td class="colLast">
<div class="block">Enumeration for various interest types.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/geode/cache/operations/InvalidateOperationContext.html" title="class in org.apache.geode.cache.operations">InvalidateOperationContext</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">since Geode1.0, use <a href="../../../../../org/apache/geode/security/ResourcePermission.html" title="class in org.apache.geode.security"><code>ResourcePermission</code></a> instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/geode/cache/operations/KeyOperationContext.html" title="class in org.apache.geode.cache.operations">KeyOperationContext</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">since Geode1.0, use <a href="../../../../../org/apache/geode/security/ResourcePermission.html" title="class in org.apache.geode.security"><code>ResourcePermission</code></a> instead</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/geode/cache/operations/KeySetOperationContext.html" title="class in org.apache.geode.cache.operations">KeySetOperationContext</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">since Geode1.0, use <a href="../../../../../org/apache/geode/security/ResourcePermission.html" title="class in org.apache.geode.security"><code>ResourcePermission</code></a> instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/geode/cache/operations/KeyValueOperationContext.html" title="class in org.apache.geode.cache.operations">KeyValueOperationContext</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">since Geode1.0, use <a href="../../../../../org/apache/geode/security/ResourcePermission.html" title="class in org.apache.geode.security"><code>ResourcePermission</code></a> instead</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/geode/cache/operations/OperationContext.html" title="class in org.apache.geode.cache.operations">OperationContext</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">since Geode1.0, use <a href="../../../../../org/apache/geode/security/ResourcePermission.html" title="class in org.apache.geode.security"><code>ResourcePermission</code></a> instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/geode/cache/operations/PutAllOperationContext.html" title="class in org.apache.geode.cache.operations">PutAllOperationContext</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">since Geode1.0, use <a href="../../../../../org/apache/geode/security/ResourcePermission.html" title="class in org.apache.geode.security"><code>ResourcePermission</code></a> instead</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/geode/cache/operations/PutOperationContext.html" title="class in org.apache.geode.cache.operations">PutOperationContext</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">since Geode1.0, use <a href="../../../../../org/apache/geode/security/ResourcePermission.html" title="class in org.apache.geode.security"><code>ResourcePermission</code></a> instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/geode/cache/operations/QueryOperationContext.html" title="class in org.apache.geode.cache.operations">QueryOperationContext</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">since Geode1.0, use <a href="../../../../../org/apache/geode/security/ResourcePermission.html" title="class in org.apache.geode.security"><code>ResourcePermission</code></a> instead</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/geode/cache/operations/RegionClearOperationContext.html" title="class in org.apache.geode.cache.operations">RegionClearOperationContext</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">since Geode1.0, use <a href="../../../../../org/apache/geode/security/ResourcePermission.html" title="class in org.apache.geode.security"><code>ResourcePermission</code></a> instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/geode/cache/operations/RegionCreateOperationContext.html" title="class in org.apache.geode.cache.operations">RegionCreateOperationContext</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">since Geode1.0, use <a href="../../../../../org/apache/geode/security/ResourcePermission.html" title="class in org.apache.geode.security"><code>ResourcePermission</code></a> instead</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/geode/cache/operations/RegionDestroyOperationContext.html" title="class in org.apache.geode.cache.operations">RegionDestroyOperationContext</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">since Geode1.0, use <a href="../../../../../org/apache/geode/security/ResourcePermission.html" title="class in org.apache.geode.security"><code>ResourcePermission</code></a> instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/geode/cache/operations/RegionOperationContext.html" title="class in org.apache.geode.cache.operations">RegionOperationContext</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">since Geode1.0, use <a href="../../../../../org/apache/geode/security/ResourcePermission.html" title="class in org.apache.geode.security"><code>ResourcePermission</code></a> instead</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/geode/cache/operations/RegisterInterestOperationContext.html" title="class in org.apache.geode.cache.operations">RegisterInterestOperationContext</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">since Geode1.0, use <a href="../../../../../org/apache/geode/security/ResourcePermission.html" title="class in org.apache.geode.security"><code>ResourcePermission</code></a> instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/geode/cache/operations/RemoveAllOperationContext.html" title="class in org.apache.geode.cache.operations">RemoveAllOperationContext</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">since Geode1.0, use <a href="../../../../../org/apache/geode/security/ResourcePermission.html" title="class in org.apache.geode.security"><code>ResourcePermission</code></a> instead</span></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/geode/cache/operations/StopCQOperationContext.html" title="class in org.apache.geode.cache.operations">StopCQOperationContext</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">since Geode1.0, use <a href="../../../../../org/apache/geode/security/ResourcePermission.html" title="class in org.apache.geode.security"><code>ResourcePermission</code></a> instead</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/geode/cache/operations/UnregisterInterestOperationContext.html" title="class in org.apache.geode.cache.operations">UnregisterInterestOperationContext</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">since Geode1.0, use <a href="../../../../../org/apache/geode/security/ResourcePermission.html" title="class in org.apache.geode.security"><code>ResourcePermission</code></a> instead</span></div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Enum</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/geode/cache/operations/OperationContext.OperationCode.html" title="enum in org.apache.geode.cache.operations">OperationContext.OperationCode</a></td>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="package.description">
<!--   -->
</a>
<h2 title="Package org.apache.geode.cache.operations Description">Package org.apache.geode.cache.operations Description</h2>
<div class="block"><P>Contains the <a href="../../../../../org/apache/geode/cache/operations/OperationContext.html" title="class in org.apache.geode.cache.operations"><code>OperationContext</code></a> interface that encapsulates an operation and the data associated with it for both the pre-operation and post-operation cases. 
It also contains implementations of the <a href="../../../../../org/apache/geode/cache/operations/OperationContext.html" title="class in org.apache.geode.cache.operations"><code>OperationContext</code></a> interface for  various kinds of cache operations.</P> 

These include: 
        

<P> <a href="../../../../../org/apache/geode/cache/operations/KeyOperationContext.html" title="class in org.apache.geode.cache.operations"><code>KeyOperationContext</code></a>: Implementation for operations that require a key for the operation. 
It provides a getKey method to obtain the key. Also provided are setCallbackArg and getCallbackArg methods that can be used to set/get an optional callback argument. 
The operations returned as KeyOperationContext are <a href="../../../../../org/apache/geode/cache/operations/OperationContext.OperationCode.html#DESTROY"><code>OperationContext.OperationCode.DESTROY</code></a> 
and <a href="../../../../../org/apache/geode/cache/operations/OperationContext.OperationCode.html#CONTAINS_KEY"><code>OperationContext.OperationCode.CONTAINS_KEY</code></a>. 
</P>

<P> <a href="../../../../../org/apache/geode/cache/operations/KeyValueOperationContext.html" title="class in org.apache.geode.cache.operations"><code>KeyValueOperationContext</code></a>: Implementation for operations that require both key and value for the operation. 
It extends the <a href="../../../../../org/apache/geode/cache/operations/KeyOperationContext.html" title="class in org.apache.geode.cache.operations"><code>KeyOperationContext</code></a> implementation providing getValue and setValue methods
in addition to those provided by the KeyOperationContext class. 
The operations returned as KeyValueOperationContext are <a href="../../../../../org/apache/geode/cache/operations/OperationContext.OperationCode.html#GET"><code>OperationContext.OperationCode.GET</code></a> and <a href="../../../../../org/apache/geode/cache/operations/OperationContext.OperationCode.html#PUT"><code>OperationContext.OperationCode.PUT</code></a>. 
For the GET operation this is used to both the pre and post operation cases. </P>

<P><a href="../../../../../org/apache/geode/cache/operations/InterestOperationContext.html" title="class in org.apache.geode.cache.operations"><code>InterestOperationContext</code></a>: Implementation for register and unregister of interest in a region. 
It defines a sub-class <a href="../../../../../org/apache/geode/cache/operations/InterestType.html" title="class in org.apache.geode.cache.operations"><code>InterestType</code></a> that encapsulates different kinds of interest viz. 
KEY, LIST, REGULAR_EXPRESSION, FILTER_CLASS and OQL_QUERY. 
It provides getInterestType method to get the interest type, 
getInterestResultPolicy method to get the <a href="../../../../../org/apache/geode/cache/InterestResultPolicy.html" title="class in org.apache.geode.cache"><code>InterestResultPolicy</code></a> of the request, 
isUnregister method that returns true if this is an unregister operation, and getKey/setKey methods to get/set the key being registered. 
The key may be a single key, a list of keys, a regular expression string or an OQL <a href="../../../../../org/apache/geode/cache/query/Query.html" title="interface in org.apache.geode.cache.query"><code>Query</code></a>. </P>

<P> <a href="../../../../../org/apache/geode/cache/operations/QueryOperationContext.html" title="class in org.apache.geode.cache.operations"><code>QueryOperationContext</code></a>: Implementation for a cache query operation for both the pre and post operation cases. 
It provides getQuery to get the query string as well as a modifyQuery method to be able to modify it. 
A utility getRegionNames method is also provided to obtain the list of regions as referenced by the query string. 
For the results in the post operation phase, getQueryResult allows getting the result and setQueryResult allows modification of the result.</P>
        

<P> <a href="../../../../../org/apache/geode/cache/operations/RegionOperationContext.html" title="class in org.apache.geode.cache.operations"><code>RegionOperationContext</code></a>: Implementation for the region level operation for the pre operation case. 
It provides getCallbackArg and setCallbackArg methods to get/set the optionally callback argument. 
The operations returned as RegionOperationContext are <a href="../../../../../org/apache/geode/cache/operations/OperationContext.OperationCode.html#REGION_CLEAR"><code>OperationContext.OperationCode.REGION_CLEAR</code></a> 
and <a href="../../../../../org/apache/geode/cache/operations/OperationContext.OperationCode.html#REGION_DESTROY"><code>OperationContext.OperationCode.REGION_DESTROY</code></a>.</P> 
        

<P> <a href="../../../../../org/apache/geode/cache/operations/DestroyOperationContext.html" title="class in org.apache.geode.cache.operations"><code>DestroyOperationContext</code></a>: Implementation for <a href="../../../../../org/apache/geode/cache/operations/OperationContext.OperationCode.html#DESTROY"><code>OperationContext.OperationCode.DESTROY</code></a> operation 
having the key object for both the pre-operation and post-operation updates.
</P>    

<P> <a href="../../../../../org/apache/geode/cache/operations/CloseCQOperationContext.html" title="class in org.apache.geode.cache.operations"><code>CloseCQOperationContext</code></a>: Implementation for <a href="../../../../../org/apache/geode/cache/operations/OperationContext.OperationCode.html#CLOSE_CQ"><code>OperationContext.OperationCode.CLOSE_CQ</code></a> operation
for the pre-operation case.
</P>

<P> <a href="../../../../../org/apache/geode/cache/operations/ExecuteCQOperationContext.html" title="class in org.apache.geode.cache.operations"><code>ExecuteCQOperationContext</code></a>: Implementation for <a href="../../../../../org/apache/geode/cache/operations/OperationContext.OperationCode.html#EXECUTE_CQ"><code>OperationContext.OperationCode.EXECUTE_CQ</code></a> operation 
for both the pre-operation and post-operation case.</P>

<P> <a href="../../../../../org/apache/geode/cache/operations/ExecuteFunctionOperationContext.html" title="class in org.apache.geode.cache.operations"><code>ExecuteFunctionOperationContext</code></a>: Implementation for <a href="../../../../../org/apache/geode/cache/operations/OperationContext.OperationCode.html#EXECUTE_FUNCTION"><code>OperationContext.OperationCode.EXECUTE_FUNCTION</code></a> operation 
for the pre-operation  case.
</P>

<P> <a href="../../../../../org/apache/geode/cache/operations/GetOperationContext.html" title="class in org.apache.geode.cache.operations"><code>GetOperationContext</code></a>: Implementation for <a href="../../../../../org/apache/geode/cache/operations/OperationContext.OperationCode.html#GET"><code>OperationContext.OperationCode.GET</code></a> operation 
having the key object for the pre-operation case and both key-value objects for the post-operation case.
</P>

<P> <a href="../../../../../org/apache/geode/cache/operations/InvalidateOperationContext.html" title="class in org.apache.geode.cache.operations"><code>InvalidateOperationContext</code></a>: Implementation for <a href="../../../../../org/apache/geode/cache/operations/OperationContext.OperationCode.html#INVALIDATE"><code>OperationContext.OperationCode.INVALIDATE</code></a> region
operation having the key object for the pre-operation case and post-operation case.
</P>

<P> <a href="../../../../../org/apache/geode/cache/operations/PutOperationContext.html" title="class in org.apache.geode.cache.operations"><code>PutOperationContext</code></a>: Implementation for <a href="../../../../../org/apache/geode/cache/operations/OperationContext.OperationCode.html#PUT"><code>OperationContext.OperationCode.PUT</code></a> operation 
having the key and value objects for the pre-operation case and post-operation case.
</P>

<P> <a href="../../../../../org/apache/geode/cache/operations/PutAllOperationContext.html" title="class in org.apache.geode.cache.operations"><code>PutAllOperationContext</code></a>: Implementation for <a href="../../../../../org/apache/geode/cache/operations/OperationContext.OperationCode.html#KEY_SET"><code>OperationContext.OperationCode.KEY_SET</code></a> operation
having the key and value objects for the pre-operation case and post-operation case.
</P>

<P> <a href="../../../../../org/apache/geode/cache/operations/RegionCreateOperationContext.html" title="class in org.apache.geode.cache.operations"><code>RegionCreateOperationContext</code></a>: Implementation for <a href="../../../../../org/apache/geode/cache/operations/OperationContext.OperationCode.html#REGION_CREATE"><code>OperationContext.OperationCode.REGION_CREATE</code></a> 
operation for the pre-operation case and post-operation case.
</P>

<P> <a href="../../../../../org/apache/geode/cache/operations/StopCQOperationContext.html" title="class in org.apache.geode.cache.operations"><code>StopCQOperationContext</code></a>: Implementation for <a href="../../../../../org/apache/geode/cache/operations/OperationContext.OperationCode.html#STOP_CQ"><code>OperationContext.OperationCode.STOP_CQ</code></a> operation
for the pre-operation case.
</P>

<P> <a href="../../../../../org/apache/geode/cache/operations/RegisterInterestOperationContext.html" title="class in org.apache.geode.cache.operations"><code>RegisterInterestOperationContext</code></a>: Implementation for <a href="../../../../../org/apache/geode/cache/operations/OperationContext.OperationCode.html#REGISTER_INTEREST"><code>OperationContext.OperationCode.REGISTER_INTEREST</code></a> operation
for the pre-operation case, which derives from <a href="../../../../../org/apache/geode/cache/operations/InterestOperationContext.html" title="class in org.apache.geode.cache.operations"><code>InterestOperationContext</code></a>
 </P>

<P> <a href="../../../../../org/apache/geode/cache/operations/UnregisterInterestOperationContext.html" title="class in org.apache.geode.cache.operations"><code>UnregisterInterestOperationContext</code></a>: Implementation for <a href="../../../../../org/apache/geode/cache/operations/OperationContext.OperationCode.html#UNREGISTER_INTEREST"><code>OperationContext.OperationCode.UNREGISTER_INTEREST</code></a> operation 
for the pre-operation case, which derives from <a href="../../../../../org/apache/geode/cache/operations/InterestOperationContext.html" title="class in org.apache.geode.cache.operations"><code>InterestOperationContext</code></a> </P></div>
</div>
<!-- ======= 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 class="navBarCell1Rev">Package</li>
<li>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/lucene/management/configuration/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../../org/apache/geode/cache/partition/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/geode/cache/operations/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.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>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
