blob: 35072d1fc33edcef50fae681de52c4c304ac508f [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 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ColumnInterpreter (Apache HBase 3.0.0-alpha-4-SNAPSHOT API)</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="ColumnInterpreter (Apache HBase 3.0.0-alpha-4-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":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="class-use/ColumnInterpreter.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/hadoop/hbase/coprocessor/BulkLoadObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorException.html" title="class in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" target="_top">Frames</a></li>
<li><a href="ColumnInterpreter.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><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&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.hadoop.hbase.coprocessor</div>
<h2 title="Class ColumnInterpreter" class="title">Class ColumnInterpreter&lt;T,S,P extends org.apache.hbase.thirdparty.com.google.protobuf.Message,Q extends org.apache.hbase.thirdparty.com.google.protobuf.Message,R extends org.apache.hbase.thirdparty.com.google.protobuf.Message&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.hbase.coprocessor.ColumnInterpreter&lt;T,S,P,Q,R&gt;</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../org/apache/hadoop/hbase/client/coprocessor/BigDecimalColumnInterpreter.html" title="class in org.apache.hadoop.hbase.client.coprocessor">BigDecimalColumnInterpreter</a>, <a href="../../../../../org/apache/hadoop/hbase/client/coprocessor/DoubleColumnInterpreter.html" title="class in org.apache.hadoop.hbase.client.coprocessor">DoubleColumnInterpreter</a>, <a href="../../../../../org/apache/hadoop/hbase/client/coprocessor/LongColumnInterpreter.html" title="class in org.apache.hadoop.hbase.client.coprocessor">LongColumnInterpreter</a></dd>
</dl>
<hr>
<br>
<pre>@InterfaceAudience.LimitedPrivate(value="Coprocesssor")
@InterfaceStability.Evolving
public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#line.52">ColumnInterpreter</a>&lt;T,S,P extends org.apache.hbase.thirdparty.com.google.protobuf.Message,Q extends org.apache.hbase.thirdparty.com.google.protobuf.Message,R extends org.apache.hbase.thirdparty.com.google.protobuf.Message&gt;
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Defines how value for specific column is interpreted and provides utility methods like compare,
add, multiply etc for them. Takes column family, column qualifier and return the cell value. Its
concrete implementation should handle null case gracefully. Refer to
<a href="../../../../../org/apache/hadoop/hbase/client/coprocessor/LongColumnInterpreter.html" title="class in org.apache.hadoop.hbase.client.coprocessor"><code>LongColumnInterpreter</code></a> for an example.
<p>
Takes two generic parameters and three Message parameters. The cell value type of the interpreter
is &lt;T&gt;. During some computations like sum, average, the return type can be different than
the cell value data type, for eg, sum of int cell values might overflow in case of a int result,
we should use Long for its result. Therefore, this class mandates to use a different (promoted)
data type for result of these computations &lt;S&gt;. All computations are performed on the
promoted data type &lt;S&gt;. There is a conversion method
<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#castToReturnType-T-"><code>castToReturnType(Object)</code></a> which takes a &lt;T&gt; type and returns a
&lt;S&gt; type. The AggregateIm&gt;lementation uses PB messages to initialize the user's
ColumnInterpreter implementation, and for sending the responses back to AggregationClient.
<p>
&lt;T&gt; Cell value data type<br>
&lt;S&gt; Promoted data type<br>
&lt;P&gt; PB message that is used to transport initializer specific bytes<br>
&lt;Q&gt; PB message that is used to transport Cell (&lt;T&gt;) instance<br>
&lt;R&gt; PB message that is used to transport Promoted (&lt;S&gt;) instance</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#ColumnInterpreter--">ColumnInterpreter</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="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>abstract <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">S</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#add-S-S-">add</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">S</a>&nbsp;l1,
<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">S</a>&nbsp;l2)</code>
<div class="block">nn * @return sum or non null value among (if either of them is null); otherwise returns a null.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">T</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#castToCellType-S-">castToCellType</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">S</a>&nbsp;response)</code>
<div class="block">The response message comes as type S.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">S</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#castToReturnType-T-">castToReturnType</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">T</a>&nbsp;o)</code>
<div class="block">provides casting opportunity between the data types.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#compare-T-T-">compare</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">T</a>&nbsp;l1,
<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">T</a>&nbsp;l2)</code>
<div class="block">This takes care if either of arguments are null.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>abstract double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#divideForAvg-S-java.lang.Long-">divideForAvg</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">S</a>&nbsp;o,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;l)</code>
<div class="block">used for computing average of &lt;S&gt; data values.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">T</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#getCellValueFromProto-Q-">getCellValueFromProto</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">Q</a>&nbsp;q)</code>
<div class="block">This method gets the PB message corresponding to the cell type n * @return the cell-type
instance from the PB message</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">T</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#getMaxValue--">getMaxValue</a></span>()</code>
<div class="block">returns the maximum value for this type T n</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">T</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#getMinValue--">getMinValue</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">S</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#getPromotedValueFromProto-R-">getPromotedValueFromProto</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">R</a>&nbsp;r)</code>
<div class="block">This method gets the promoted type from the proto message n * @return the promoted-type
instance from the PB message</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">Q</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#getProtoForCellType-T-">getProtoForCellType</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">T</a>&nbsp;t)</code>
<div class="block">This method gets the PB message corresponding to the cell type n * @return the PB message for
the cell-type instance</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">R</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#getProtoForPromotedType-S-">getProtoForPromotedType</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">S</a>&nbsp;s)</code>
<div class="block">This method gets the PB message corresponding to the promoted type n * @return the PB message
for the promoted-type instance</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">P</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#getRequestData--">getRequestData</a></span>()</code>
<div class="block">This method should return any additional data that is needed on the server side to construct
the ColumnInterpreter.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">T</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#getValue-byte:A-byte:A-org.apache.hadoop.hbase.Cell-">getValue</a></span>(byte[]&nbsp;colFamily,
byte[]&nbsp;colQualifier,
<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
<div class="block">nnn * @return value of type T n</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">S</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#increment-S-">increment</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">S</a>&nbsp;o)</code>
<div class="block">nn</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#initialize-P-">initialize</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">P</a>&nbsp;msg)</code>
<div class="block">This method should initialize any field(s) of the ColumnInterpreter with a parsing of the
passed message bytes (used on the server side).</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">S</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#multiply-S-S-">multiply</a></span>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">S</a>&nbsp;o1,
<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">S</a>&nbsp;o2)</code>
<div class="block">nnn</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="ColumnInterpreter--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ColumnInterpreter</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#line.52">ColumnInterpreter</a>()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getValue-byte:A-byte:A-org.apache.hadoop.hbase.Cell-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValue</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">T</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#line.58">getValue</a>(byte[]&nbsp;colFamily,
byte[]&nbsp;colQualifier,
<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">nnn * @return value of type T n</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="add-java.lang.Object-java.lang.Object-">
<!-- -->
</a><a name="add-S-S-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">S</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#line.63">add</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">S</a>&nbsp;l1,
<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">S</a>&nbsp;l2)</pre>
<div class="block">nn * @return sum or non null value among (if either of them is null); otherwise returns a null.</div>
</li>
</ul>
<a name="getMaxValue--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxValue</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">T</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#line.69">getMaxValue</a>()</pre>
<div class="block">returns the maximum value for this type T n</div>
</li>
</ul>
<a name="getMinValue--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMinValue</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">T</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#line.71">getMinValue</a>()</pre>
</li>
</ul>
<a name="multiply-java.lang.Object-java.lang.Object-">
<!-- -->
</a><a name="multiply-S-S-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>multiply</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">S</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#line.76">multiply</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">S</a>&nbsp;o1,
<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">S</a>&nbsp;o2)</pre>
<div class="block">nnn</div>
</li>
</ul>
<a name="increment-java.lang.Object-">
<!-- -->
</a><a name="increment-S-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>increment</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">S</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#line.81">increment</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">S</a>&nbsp;o)</pre>
<div class="block">nn</div>
</li>
</ul>
<a name="castToReturnType-java.lang.Object-">
<!-- -->
</a><a name="castToReturnType-T-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>castToReturnType</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">S</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#line.86">castToReturnType</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">T</a>&nbsp;o)</pre>
<div class="block">provides casting opportunity between the data types. nn</div>
</li>
</ul>
<a name="compare-java.lang.Object-java.lang.Object-">
<!-- -->
</a><a name="compare-T-T-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>compare</h4>
<pre>public abstract&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#line.95">compare</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">T</a>&nbsp;l1,
<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">T</a>&nbsp;l2)</pre>
<div class="block">This takes care if either of arguments are null. returns 0 if they are equal or both are null;
<ul>
<li>&gt; 0 if l1 &gt; l2 or l1 is not null and l2 is null.</li>
<li>&lt; 0 if l1 &lt; l2 or l1 is null and l2 is not null.</li>
</ul></div>
</li>
</ul>
<a name="divideForAvg-java.lang.Object-java.lang.Long-">
<!-- -->
</a><a name="divideForAvg-S-java.lang.Long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>divideForAvg</h4>
<pre>public abstract&nbsp;double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#line.101">divideForAvg</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">S</a>&nbsp;o,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&nbsp;l)</pre>
<div class="block">used for computing average of &lt;S&gt; data values. Not providing the divide method that takes
two &lt;S&gt; values as it is not needed as of now. nnn</div>
</li>
</ul>
<a name="getRequestData--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRequestData</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">P</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#line.111">getRequestData</a>()</pre>
<div class="block">This method should return any additional data that is needed on the server side to construct
the ColumnInterpreter. The server will pass this to the <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#initialize-P-"><code>initialize(P)</code></a> method. If there is
no ColumnInterpreter specific data (for e.g.,
<a href="../../../../../org/apache/hadoop/hbase/client/coprocessor/LongColumnInterpreter.html" title="class in org.apache.hadoop.hbase.client.coprocessor"><code>LongColumnInterpreter</code></a>) then null should be
returned.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the PB message</dd>
</dl>
</li>
</ul>
<a name="initialize-org.apache.hbase.thirdparty.com.google.protobuf.Message-">
<!-- -->
</a><a name="initialize-P-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initialize</h4>
<pre>public abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#line.117">initialize</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">P</a>&nbsp;msg)</pre>
<div class="block">This method should initialize any field(s) of the ColumnInterpreter with a parsing of the
passed message bytes (used on the server side). n</div>
</li>
</ul>
<a name="getProtoForCellType-java.lang.Object-">
<!-- -->
</a><a name="getProtoForCellType-T-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProtoForCellType</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">Q</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#line.123">getProtoForCellType</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">T</a>&nbsp;t)</pre>
<div class="block">This method gets the PB message corresponding to the cell type n * @return the PB message for
the cell-type instance</div>
</li>
</ul>
<a name="getCellValueFromProto-org.apache.hbase.thirdparty.com.google.protobuf.Message-">
<!-- -->
</a><a name="getCellValueFromProto-Q-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCellValueFromProto</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">T</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#line.129">getCellValueFromProto</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">Q</a>&nbsp;q)</pre>
<div class="block">This method gets the PB message corresponding to the cell type n * @return the cell-type
instance from the PB message</div>
</li>
</ul>
<a name="getProtoForPromotedType-java.lang.Object-">
<!-- -->
</a><a name="getProtoForPromotedType-S-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProtoForPromotedType</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">R</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#line.135">getProtoForPromotedType</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">S</a>&nbsp;s)</pre>
<div class="block">This method gets the PB message corresponding to the promoted type n * @return the PB message
for the promoted-type instance</div>
</li>
</ul>
<a name="getPromotedValueFromProto-org.apache.hbase.thirdparty.com.google.protobuf.Message-">
<!-- -->
</a><a name="getPromotedValueFromProto-R-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPromotedValueFromProto</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">S</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#line.141">getPromotedValueFromProto</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">R</a>&nbsp;r)</pre>
<div class="block">This method gets the promoted type from the proto message n * @return the promoted-type
instance from the PB message</div>
</li>
</ul>
<a name="castToCellType-java.lang.Object-">
<!-- -->
</a><a name="castToCellType-S-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>castToCellType</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">T</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#line.147">castToCellType</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">S</a>&nbsp;response)</pre>
<div class="block">The response message comes as type S. This will convert/cast it to T. In some sense, performs
the opposite of <a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html#castToReturnType-T-"><code>castToReturnType(Object)</code></a> nn</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ColumnInterpreter.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/hadoop/hbase/coprocessor/BulkLoadObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorException.html" title="class in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" target="_top">Frames</a></li>
<li><a href="ColumnInterpreter.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><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&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; 2007&#x2013;2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>