blob: fb2b6720c88ca958162db5539ae5ade15cda5a3d [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-2-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-2-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.59">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.</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>&nbsp;</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</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</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</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</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</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>&nbsp;</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>&nbsp;</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>&nbsp;</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.59">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.70">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>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>colFamily</code> - </dd>
<dd><code>colQualifier</code> - </dd>
<dd><code>c</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>value of type T</dd>
<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.79">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>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>l1</code> - </dd>
<dd><code>l2</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>sum or non null value among (if either of them is null); otherwise
returns a null.</dd>
</dl>
</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.86">getMaxValue</a>()</pre>
<div class="block">returns the maximum value for this type T</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>max</dd>
</dl>
</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.88">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.95">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>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>o1</code> - </dd>
<dd><code>o2</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>multiplication</dd>
</dl>
</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.101">increment</a>(<a href="../../../../../org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.html" title="type parameter in ColumnInterpreter">S</a>&nbsp;o)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>o</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>increment</dd>
</dl>
</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.108">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.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>o</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>cast</dd>
</dl>
</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.118">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.127">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.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>o</code> - </dd>
<dd><code>l</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Average</dd>
</dl>
</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.138">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.145">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).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>msg</code> - </dd>
</dl>
</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.152">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</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>t</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the PB message for the cell-type instance</dd>
</dl>
</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.159">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</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>q</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the cell-type instance from the PB message</dd>
</dl>
</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.166">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</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>s</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the PB message for the promoted-type instance</dd>
</dl>
</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.173">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</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>r</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the promoted-type instance from the PB message</dd>
</dl>
</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.181">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></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>response</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>cast</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="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;2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>