You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by gi...@apache.org on 2018/04/05 14:47:31 UTC

[24/40] hbase-site git commit: Published site at e2b0490d18f7cc03aa59475a1b423597ddc481fb.

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6c67ddd7/devapidocs/org/apache/hadoop/hbase/util/CollectionUtils.IOExceptionSupplier.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/CollectionUtils.IOExceptionSupplier.html b/devapidocs/org/apache/hadoop/hbase/util/CollectionUtils.IOExceptionSupplier.html
index b05dc5f..54e562f 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/CollectionUtils.IOExceptionSupplier.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/CollectionUtils.IOExceptionSupplier.html
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html?is-external=true" title="class or interface in java.lang">@FunctionalInterface</a>
-public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/util/CollectionUtils.html#line.127">CollectionUtils.IOExceptionSupplier</a>&lt;V&gt;</pre>
+public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/util/CollectionUtils.html#line.47">CollectionUtils.IOExceptionSupplier</a>&lt;V&gt;</pre>
 <div class="block">A supplier that throws IOException when get.</div>
 </li>
 </ul>
@@ -155,7 +155,7 @@ public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase
 <ul class="blockListLast">
 <li class="blockList">
 <h4>get</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/util/CollectionUtils.IOExceptionSupplier.html" title="type parameter in CollectionUtils.IOExceptionSupplier">V</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CollectionUtils.IOExceptionSupplier.html#line.128">get</a>()
+<pre><a href="../../../../../org/apache/hadoop/hbase/util/CollectionUtils.IOExceptionSupplier.html" title="type parameter in CollectionUtils.IOExceptionSupplier">V</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CollectionUtils.IOExceptionSupplier.html#line.48">get</a>()
 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="throwsLabel">Throws:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6c67ddd7/devapidocs/org/apache/hadoop/hbase/util/CollectionUtils.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/CollectionUtils.html b/devapidocs/org/apache/hadoop/hbase/util/CollectionUtils.html
index db3550d..e8df64e 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/CollectionUtils.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/CollectionUtils.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9};
+var methods = {"i0":9,"i1":9,"i2":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -75,13 +75,13 @@ var activeTableTab = "activeTableTab";
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&nbsp;|&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>
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/CollectionUtils.html#line.35">CollectionUtils</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/CollectionUtils.html#line.31">CollectionUtils</a>
 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">Utility methods for dealing with Collections, including treating null collections as empty.</div>
 </li>
@@ -140,25 +140,6 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </table>
 </li>
 </ul>
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
-<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<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>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/CollectionUtils.html#EMPTY_LIST">EMPTY_LIST</a></span></code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor.summary">
@@ -213,54 +194,6 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
  value already exists.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>static &lt;T&gt;&nbsp;T</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/CollectionUtils.html#getFirst-java.util.Collection-">getFirst</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;collection)</code>
-<div class="block">first/last</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>static &lt;T&gt;&nbsp;T</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/CollectionUtils.html#getLast-java.util.List-">getLast</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&nbsp;list)</code>&nbsp;</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>static int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/CollectionUtils.html#getLastIndex-java.util.List-">getLastIndex</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;?&gt;&nbsp;list)</code>&nbsp;</td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code>static &lt;T&gt;&nbsp;boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/CollectionUtils.html#isEmpty-java.util.Collection-">isEmpty</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;collection)</code>
-<div class="block">empty</div>
-</td>
-</tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/CollectionUtils.html#isLastIndex-java.util.List-int-">isLastIndex</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;?&gt;&nbsp;list,
-           int&nbsp;index)</code>&nbsp;</td>
-</tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code>static &lt;T&gt;&nbsp;boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/CollectionUtils.html#notEmpty-java.util.Collection-">notEmpty</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;collection)</code>&nbsp;</td>
-</tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/CollectionUtils.html#nullSafe-java.util.Collection-">nullSafe</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;in)</code>&nbsp;</td>
-</tr>
-<tr id="i10" class="altColor">
-<td class="colFirst"><code>static &lt;A,B&gt;&nbsp;boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/CollectionUtils.html#nullSafeSameSize-java.util.Collection-java.util.Collection-">nullSafeSameSize</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;A&gt;&nbsp;a,
-                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;B&gt;&nbsp;b)</code>&nbsp;</td>
-</tr>
-<tr id="i11" class="rowColor">
-<td class="colFirst"><code>static &lt;T&gt;&nbsp;int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/CollectionUtils.html#nullSafeSize-java.util.Collection-">nullSafeSize</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;collection)</code>
-<div class="block">size</div>
-</td>
-</tr>
-<tr id="i12" class="altColor">
-<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/CollectionUtils.html#nullToEmpty-java.util.List-">nullToEmpty</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&nbsp;list)</code>&nbsp;</td>
-</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -277,23 +210,6 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
-<!-- ============ FIELD DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.detail">
-<!--   -->
-</a>
-<h3>Field Detail</h3>
-<a name="EMPTY_LIST">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>EMPTY_LIST</h4>
-<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<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>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/util/CollectionUtils.html#line.37">EMPTY_LIST</a></pre>
-</li>
-</ul>
-</li>
-</ul>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->
 <ul class="blockList">
 <li class="blockList"><a name="constructor.detail">
@@ -306,7 +222,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CollectionUtils</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CollectionUtils.html#line.35">CollectionUtils</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CollectionUtils.html#line.31">CollectionUtils</a>()</pre>
 </li>
 </ul>
 </li>
@@ -317,114 +233,6 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="nullSafe-java.util.Collection-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>nullSafe</h4>
-<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CollectionUtils.html#line.41">nullSafe</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;in)</pre>
-</li>
-</ul>
-<a name="nullSafeSize-java.util.Collection-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>nullSafeSize</h4>
-<pre>public static&nbsp;&lt;T&gt;&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CollectionUtils.html#line.50">nullSafeSize</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;collection)</pre>
-<div class="block">size</div>
-</li>
-</ul>
-<a name="nullSafeSameSize-java.util.Collection-java.util.Collection-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>nullSafeSameSize</h4>
-<pre>public static&nbsp;&lt;A,B&gt;&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CollectionUtils.html#line.57">nullSafeSameSize</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;A&gt;&nbsp;a,
-                                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;B&gt;&nbsp;b)</pre>
-</li>
-</ul>
-<a name="isEmpty-java.util.Collection-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isEmpty</h4>
-<pre>public static&nbsp;&lt;T&gt;&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CollectionUtils.html#line.63">isEmpty</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;collection)</pre>
-<div class="block">empty</div>
-</li>
-</ul>
-<a name="notEmpty-java.util.Collection-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>notEmpty</h4>
-<pre>public static&nbsp;&lt;T&gt;&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CollectionUtils.html#line.67">notEmpty</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;collection)</pre>
-</li>
-</ul>
-<a name="getFirst-java.util.Collection-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getFirst</h4>
-<pre>public static&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CollectionUtils.html#line.73">getFirst</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;collection)</pre>
-<div class="block">first/last</div>
-</li>
-</ul>
-<a name="getLastIndex-java.util.List-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getLastIndex</h4>
-<pre>public static&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CollectionUtils.html#line.87">getLastIndex</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;?&gt;&nbsp;list)</pre>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>list</code> - any list</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>-1 if list is empty, otherwise the max index</dd>
-</dl>
-</li>
-</ul>
-<a name="isLastIndex-java.util.List-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isLastIndex</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CollectionUtils.html#line.99">isLastIndex</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;?&gt;&nbsp;list,
-                                  int&nbsp;index)</pre>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>list</code> - </dd>
-<dd><code>index</code> - the index in question</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>true if it is the last index or if list is empty and -1 is passed for the index param</dd>
-</dl>
-</li>
-</ul>
-<a name="getLast-java.util.List-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getLast</h4>
-<pre>public static&nbsp;&lt;T&gt;&nbsp;T&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CollectionUtils.html#line.103">getLast</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&nbsp;list)</pre>
-</li>
-</ul>
-<a name="nullToEmpty-java.util.List-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>nullToEmpty</h4>
-<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CollectionUtils.html#line.110">nullToEmpty</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&nbsp;list)</pre>
-</li>
-</ul>
 <a name="computeIfAbsent-java.util.concurrent.ConcurrentMap-java.lang.Object-java.util.function.Supplier-">
 <!--   -->
 </a><a name="computeIfAbsent-java.util.concurrent.ConcurrentMap-K-java.util.function.Supplier-">
@@ -433,7 +241,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>computeIfAbsent</h4>
-<pre>public static&nbsp;&lt;K,V&gt;&nbsp;V&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CollectionUtils.html#line.118">computeIfAbsent</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;K,V&gt;&nbsp;map,
+<pre>public static&nbsp;&lt;K,V&gt;&nbsp;V&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CollectionUtils.html#line.38">computeIfAbsent</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;K,V&gt;&nbsp;map,
                                       K&nbsp;key,
                                       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html?is-external=true" title="class or interface in java.util.function">Supplier</a>&lt;V&gt;&nbsp;supplier)</pre>
 <div class="block">In HBASE-16648 we found that ConcurrentHashMap.get is much faster than computeIfAbsent if the
@@ -449,7 +257,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>computeIfAbsentEx</h4>
-<pre>public static&nbsp;&lt;K,V&gt;&nbsp;V&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CollectionUtils.html#line.138">computeIfAbsentEx</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;K,V&gt;&nbsp;map,
+<pre>public static&nbsp;&lt;K,V&gt;&nbsp;V&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CollectionUtils.html#line.58">computeIfAbsentEx</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;K,V&gt;&nbsp;map,
                                         K&nbsp;key,
                                         <a href="../../../../../org/apache/hadoop/hbase/util/CollectionUtils.IOExceptionSupplier.html" title="interface in org.apache.hadoop.hbase.util">CollectionUtils.IOExceptionSupplier</a>&lt;V&gt;&nbsp;supplier)
                                  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>
@@ -472,7 +280,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>computeIfAbsent</h4>
-<pre>public static&nbsp;&lt;K,V&gt;&nbsp;V&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CollectionUtils.html#line.145">computeIfAbsent</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;K,V&gt;&nbsp;map,
+<pre>public static&nbsp;&lt;K,V&gt;&nbsp;V&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/CollectionUtils.html#line.65">computeIfAbsent</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;K,V&gt;&nbsp;map,
                                       K&nbsp;key,
                                       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Supplier.html?is-external=true" title="class or interface in java.util.function">Supplier</a>&lt;V&gt;&nbsp;supplier,
                                       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;actionIfAbsent)</pre>
@@ -532,13 +340,13 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
 <li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&nbsp;|&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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6c67ddd7/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
index 2859e1c..59e283c 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
@@ -532,13 +532,13 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.UnsafeComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder.UnsafeComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">HBaseFsck.ErrorReporter.ERROR_CODE</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PrettyPrinter.Unit.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PrettyPrinter.Unit</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/IdReadWriteLock.ReferenceType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">IdReadWriteLock.ReferenceType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Order</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PoolMap.PoolType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PoolMap.PoolType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.UnsafeComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder.UnsafeComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/IdReadWriteLock.ReferenceType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">IdReadWriteLock.ReferenceType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.PureJavaComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder.PureJavaComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PoolMap.PoolType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PoolMap.PoolType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PrettyPrinter.Unit.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PrettyPrinter.Unit</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/ChecksumType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">ChecksumType</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6c67ddd7/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
index f72f8d2..12fb1b1 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
@@ -16,11 +16,11 @@
 <span class="sourceLineNo">008</span>@InterfaceAudience.Private<a name="line.8"></a>
 <span class="sourceLineNo">009</span>public class Version {<a name="line.9"></a>
 <span class="sourceLineNo">010</span>  public static final String version = "3.0.0-SNAPSHOT";<a name="line.10"></a>
-<span class="sourceLineNo">011</span>  public static final String revision = "0c0fe05bc410bcfcccaa19d4be96834cc28f9317";<a name="line.11"></a>
+<span class="sourceLineNo">011</span>  public static final String revision = "e2b0490d18f7cc03aa59475a1b423597ddc481fb";<a name="line.11"></a>
 <span class="sourceLineNo">012</span>  public static final String user = "jenkins";<a name="line.12"></a>
-<span class="sourceLineNo">013</span>  public static final String date = "Wed Apr  4 14:41:07 UTC 2018";<a name="line.13"></a>
+<span class="sourceLineNo">013</span>  public static final String date = "Thu Apr  5 14:40:25 UTC 2018";<a name="line.13"></a>
 <span class="sourceLineNo">014</span>  public static final String url = "git://jenkins-websites1.apache.org/home/jenkins/jenkins-slave/workspace/hbase_generate_website/hbase";<a name="line.14"></a>
-<span class="sourceLineNo">015</span>  public static final String srcChecksum = "a72a4d8d04f0de9e1bb323e73d0a1edb";<a name="line.15"></a>
+<span class="sourceLineNo">015</span>  public static final String srcChecksum = "8a61bad1ca976ead82183730037f7547";<a name="line.15"></a>
 <span class="sourceLineNo">016</span>}<a name="line.16"></a>
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6c67ddd7/devapidocs/src-html/org/apache/hadoop/hbase/client/RowMutations.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/RowMutations.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/RowMutations.html
index 6b01ff4..76c6859 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/RowMutations.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/RowMutations.html
@@ -30,164 +30,165 @@
 <span class="sourceLineNo">022</span>import java.util.Arrays;<a name="line.22"></a>
 <span class="sourceLineNo">023</span>import java.util.Collections;<a name="line.23"></a>
 <span class="sourceLineNo">024</span>import java.util.List;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.util.CollectionUtils;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.27"></a>
-<span class="sourceLineNo">028</span><a name="line.28"></a>
-<span class="sourceLineNo">029</span>/**<a name="line.29"></a>
-<span class="sourceLineNo">030</span> * Performs multiple mutations atomically on a single row.<a name="line.30"></a>
-<span class="sourceLineNo">031</span> * Currently {@link Put} and {@link Delete} are supported.<a name="line.31"></a>
-<span class="sourceLineNo">032</span> *<a name="line.32"></a>
-<span class="sourceLineNo">033</span> * The mutations are performed in the order in which they<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * were added.<a name="line.34"></a>
-<span class="sourceLineNo">035</span> *<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * &lt;p&gt;We compare and equate mutations based off their row so be careful putting RowMutations<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * into Sets or using them as keys in Maps.<a name="line.37"></a>
-<span class="sourceLineNo">038</span> */<a name="line.38"></a>
-<span class="sourceLineNo">039</span>@InterfaceAudience.Public<a name="line.39"></a>
-<span class="sourceLineNo">040</span>public class RowMutations implements Row {<a name="line.40"></a>
-<span class="sourceLineNo">041</span><a name="line.41"></a>
-<span class="sourceLineNo">042</span>  /**<a name="line.42"></a>
-<span class="sourceLineNo">043</span>   * Create a {@link RowMutations} with the specified mutations.<a name="line.43"></a>
-<span class="sourceLineNo">044</span>   * @param mutations the mutations to send<a name="line.44"></a>
-<span class="sourceLineNo">045</span>   * @return RowMutations<a name="line.45"></a>
-<span class="sourceLineNo">046</span>   * @throws IOException if any row in mutations is different to another<a name="line.46"></a>
-<span class="sourceLineNo">047</span>   */<a name="line.47"></a>
-<span class="sourceLineNo">048</span>  public static RowMutations of(List&lt;? extends Mutation&gt; mutations) throws IOException {<a name="line.48"></a>
-<span class="sourceLineNo">049</span>    if (CollectionUtils.isEmpty(mutations)) {<a name="line.49"></a>
-<span class="sourceLineNo">050</span>      throw new IllegalArgumentException("Can't instantiate a RowMutations by empty list");<a name="line.50"></a>
-<span class="sourceLineNo">051</span>    }<a name="line.51"></a>
-<span class="sourceLineNo">052</span>    return new RowMutations(mutations.get(0).getRow(), mutations.size())<a name="line.52"></a>
-<span class="sourceLineNo">053</span>        .add(mutations);<a name="line.53"></a>
-<span class="sourceLineNo">054</span>  }<a name="line.54"></a>
-<span class="sourceLineNo">055</span><a name="line.55"></a>
-<span class="sourceLineNo">056</span>  private final List&lt;Mutation&gt; mutations;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  private final byte [] row;<a name="line.57"></a>
-<span class="sourceLineNo">058</span><a name="line.58"></a>
-<span class="sourceLineNo">059</span>  public RowMutations(byte [] row) {<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    this(row, -1);<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  }<a name="line.61"></a>
-<span class="sourceLineNo">062</span>  /**<a name="line.62"></a>
-<span class="sourceLineNo">063</span>   * Create an atomic mutation for the specified row.<a name="line.63"></a>
-<span class="sourceLineNo">064</span>   * @param row row key<a name="line.64"></a>
-<span class="sourceLineNo">065</span>   * @param initialCapacity the initial capacity of the RowMutations<a name="line.65"></a>
-<span class="sourceLineNo">066</span>   */<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  public RowMutations(byte [] row, int initialCapacity) {<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    this.row = Bytes.copy(Mutation.checkRow(row));<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    if (initialCapacity &lt;= 0) {<a name="line.69"></a>
-<span class="sourceLineNo">070</span>      this.mutations = new ArrayList&lt;&gt;();<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    } else {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      this.mutations = new ArrayList&lt;&gt;(initialCapacity);<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    }<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  }<a name="line.74"></a>
-<span class="sourceLineNo">075</span><a name="line.75"></a>
-<span class="sourceLineNo">076</span>  /**<a name="line.76"></a>
-<span class="sourceLineNo">077</span>   * Add a {@link Put} operation to the list of mutations<a name="line.77"></a>
-<span class="sourceLineNo">078</span>   * @param p The {@link Put} to add<a name="line.78"></a>
-<span class="sourceLineNo">079</span>   * @throws IOException if the row of added mutation doesn't match the original row<a name="line.79"></a>
-<span class="sourceLineNo">080</span>   * @deprecated since 2.0 version and will be removed in 3.0 version.<a name="line.80"></a>
-<span class="sourceLineNo">081</span>   *             use {@link #add(Mutation)}<a name="line.81"></a>
-<span class="sourceLineNo">082</span>   */<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  @Deprecated<a name="line.83"></a>
-<span class="sourceLineNo">084</span>  public void add(Put p) throws IOException {<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    add((Mutation) p);<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  }<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>  /**<a name="line.88"></a>
-<span class="sourceLineNo">089</span>   * Add a {@link Delete} operation to the list of mutations<a name="line.89"></a>
-<span class="sourceLineNo">090</span>   * @param d The {@link Delete} to add<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   * @throws IOException if the row of added mutation doesn't match the original row<a name="line.91"></a>
-<span class="sourceLineNo">092</span>   * @deprecated since 2.0 version and will be removed in 3.0 version.<a name="line.92"></a>
-<span class="sourceLineNo">093</span>   *             use {@link #add(Mutation)}<a name="line.93"></a>
-<span class="sourceLineNo">094</span>   */<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  @Deprecated<a name="line.95"></a>
-<span class="sourceLineNo">096</span>  public void add(Delete d) throws IOException {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    add((Mutation) d);<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  }<a name="line.98"></a>
-<span class="sourceLineNo">099</span><a name="line.99"></a>
-<span class="sourceLineNo">100</span>  /**<a name="line.100"></a>
-<span class="sourceLineNo">101</span>   * Currently only supports {@link Put} and {@link Delete} mutations.<a name="line.101"></a>
-<span class="sourceLineNo">102</span>   *<a name="line.102"></a>
-<span class="sourceLineNo">103</span>   * @param mutation The data to send.<a name="line.103"></a>
-<span class="sourceLineNo">104</span>   * @throws IOException if the row of added mutation doesn't match the original row<a name="line.104"></a>
-<span class="sourceLineNo">105</span>   */<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  public RowMutations add(Mutation mutation) throws IOException {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    return add(Collections.singletonList(mutation));<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  }<a name="line.108"></a>
-<span class="sourceLineNo">109</span><a name="line.109"></a>
-<span class="sourceLineNo">110</span>  /**<a name="line.110"></a>
-<span class="sourceLineNo">111</span>   * Currently only supports {@link Put} and {@link Delete} mutations.<a name="line.111"></a>
-<span class="sourceLineNo">112</span>   *<a name="line.112"></a>
-<span class="sourceLineNo">113</span>   * @param mutations The data to send.<a name="line.113"></a>
-<span class="sourceLineNo">114</span>   * @throws IOException if the row of added mutation doesn't match the original row<a name="line.114"></a>
-<span class="sourceLineNo">115</span>   */<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  public RowMutations add(List&lt;? extends Mutation&gt; mutations) throws IOException {<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    for (Mutation mutation : mutations) {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      if (!Bytes.equals(row, mutation.getRow())) {<a name="line.118"></a>
-<span class="sourceLineNo">119</span>        throw new WrongRowIOException("The row in the recently added Put/Delete &lt;" +<a name="line.119"></a>
-<span class="sourceLineNo">120</span>          Bytes.toStringBinary(mutation.getRow()) + "&gt; doesn't match the original one &lt;" +<a name="line.120"></a>
-<span class="sourceLineNo">121</span>          Bytes.toStringBinary(this.row) + "&gt;");<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      }<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    }<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    this.mutations.addAll(mutations);<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    return this;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  }<a name="line.126"></a>
-<span class="sourceLineNo">127</span><a name="line.127"></a>
-<span class="sourceLineNo">128</span>  /**<a name="line.128"></a>
-<span class="sourceLineNo">129</span>   * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.129"></a>
-<span class="sourceLineNo">130</span>   *             Use {@link Row#COMPARATOR} instead<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   */<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  @Deprecated<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  @Override<a name="line.133"></a>
-<span class="sourceLineNo">134</span>  public int compareTo(Row i) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    return Bytes.compareTo(this.getRow(), i.getRow());<a name="line.135"></a>
-<span class="sourceLineNo">136</span>  }<a name="line.136"></a>
-<span class="sourceLineNo">137</span><a name="line.137"></a>
-<span class="sourceLineNo">138</span>  /**<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.139"></a>
-<span class="sourceLineNo">140</span>   *             No replacement<a name="line.140"></a>
-<span class="sourceLineNo">141</span>   */<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  @Deprecated<a name="line.142"></a>
-<span class="sourceLineNo">143</span>  @Override<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  public boolean equals(Object obj) {<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    if (obj == this) return true;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    if (obj instanceof RowMutations) {<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      RowMutations other = (RowMutations)obj;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      return compareTo(other) == 0;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    }<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    return false;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  }<a name="line.151"></a>
-<span class="sourceLineNo">152</span><a name="line.152"></a>
-<span class="sourceLineNo">153</span>  /**<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   *             No replacement<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   */<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  @Deprecated<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  @Override<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  public int hashCode(){<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    return Arrays.hashCode(row);<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  }<a name="line.161"></a>
-<span class="sourceLineNo">162</span><a name="line.162"></a>
-<span class="sourceLineNo">163</span>  @Override<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  public byte[] getRow() {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    return row;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  }<a name="line.166"></a>
-<span class="sourceLineNo">167</span><a name="line.167"></a>
-<span class="sourceLineNo">168</span>  /**<a name="line.168"></a>
-<span class="sourceLineNo">169</span>   * @return An unmodifiable list of the current mutations.<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   */<a name="line.170"></a>
-<span class="sourceLineNo">171</span>  public List&lt;Mutation&gt; getMutations() {<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    return Collections.unmodifiableList(mutations);<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  }<a name="line.173"></a>
-<span class="sourceLineNo">174</span><a name="line.174"></a>
-<span class="sourceLineNo">175</span>  public int getMaxPriority() {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    int maxPriority = Integer.MIN_VALUE;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    for (Mutation mutation : mutations) {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      maxPriority = Math.max(maxPriority, mutation.getPriority());<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    return maxPriority;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  }<a name="line.181"></a>
-<span class="sourceLineNo">182</span>}<a name="line.182"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.commons.collections.CollectionUtils;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.28"></a>
+<span class="sourceLineNo">029</span><a name="line.29"></a>
+<span class="sourceLineNo">030</span>/**<a name="line.30"></a>
+<span class="sourceLineNo">031</span> * Performs multiple mutations atomically on a single row.<a name="line.31"></a>
+<span class="sourceLineNo">032</span> * Currently {@link Put} and {@link Delete} are supported.<a name="line.32"></a>
+<span class="sourceLineNo">033</span> *<a name="line.33"></a>
+<span class="sourceLineNo">034</span> * The mutations are performed in the order in which they<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * were added.<a name="line.35"></a>
+<span class="sourceLineNo">036</span> *<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * &lt;p&gt;We compare and equate mutations based off their row so be careful putting RowMutations<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * into Sets or using them as keys in Maps.<a name="line.38"></a>
+<span class="sourceLineNo">039</span> */<a name="line.39"></a>
+<span class="sourceLineNo">040</span>@InterfaceAudience.Public<a name="line.40"></a>
+<span class="sourceLineNo">041</span>public class RowMutations implements Row {<a name="line.41"></a>
+<span class="sourceLineNo">042</span><a name="line.42"></a>
+<span class="sourceLineNo">043</span>  /**<a name="line.43"></a>
+<span class="sourceLineNo">044</span>   * Create a {@link RowMutations} with the specified mutations.<a name="line.44"></a>
+<span class="sourceLineNo">045</span>   * @param mutations the mutations to send<a name="line.45"></a>
+<span class="sourceLineNo">046</span>   * @return RowMutations<a name="line.46"></a>
+<span class="sourceLineNo">047</span>   * @throws IOException if any row in mutations is different to another<a name="line.47"></a>
+<span class="sourceLineNo">048</span>   */<a name="line.48"></a>
+<span class="sourceLineNo">049</span>  public static RowMutations of(List&lt;? extends Mutation&gt; mutations) throws IOException {<a name="line.49"></a>
+<span class="sourceLineNo">050</span>    if (CollectionUtils.isEmpty(mutations)) {<a name="line.50"></a>
+<span class="sourceLineNo">051</span>      throw new IllegalArgumentException("Cannot instantiate a RowMutations by empty list");<a name="line.51"></a>
+<span class="sourceLineNo">052</span>    }<a name="line.52"></a>
+<span class="sourceLineNo">053</span>    return new RowMutations(mutations.get(0).getRow(), mutations.size())<a name="line.53"></a>
+<span class="sourceLineNo">054</span>        .add(mutations);<a name="line.54"></a>
+<span class="sourceLineNo">055</span>  }<a name="line.55"></a>
+<span class="sourceLineNo">056</span><a name="line.56"></a>
+<span class="sourceLineNo">057</span>  private final List&lt;Mutation&gt; mutations;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  private final byte [] row;<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span>  public RowMutations(byte [] row) {<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    this(row, -1);<a name="line.61"></a>
+<span class="sourceLineNo">062</span>  }<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  /**<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   * Create an atomic mutation for the specified row.<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   * @param row row key<a name="line.65"></a>
+<span class="sourceLineNo">066</span>   * @param initialCapacity the initial capacity of the RowMutations<a name="line.66"></a>
+<span class="sourceLineNo">067</span>   */<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  public RowMutations(byte [] row, int initialCapacity) {<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    this.row = Bytes.copy(Mutation.checkRow(row));<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    if (initialCapacity &lt;= 0) {<a name="line.70"></a>
+<span class="sourceLineNo">071</span>      this.mutations = new ArrayList&lt;&gt;();<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    } else {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>      this.mutations = new ArrayList&lt;&gt;(initialCapacity);<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    }<a name="line.74"></a>
+<span class="sourceLineNo">075</span>  }<a name="line.75"></a>
+<span class="sourceLineNo">076</span><a name="line.76"></a>
+<span class="sourceLineNo">077</span>  /**<a name="line.77"></a>
+<span class="sourceLineNo">078</span>   * Add a {@link Put} operation to the list of mutations<a name="line.78"></a>
+<span class="sourceLineNo">079</span>   * @param p The {@link Put} to add<a name="line.79"></a>
+<span class="sourceLineNo">080</span>   * @throws IOException if the row of added mutation doesn't match the original row<a name="line.80"></a>
+<span class="sourceLineNo">081</span>   * @deprecated since 2.0 version and will be removed in 3.0 version.<a name="line.81"></a>
+<span class="sourceLineNo">082</span>   *             use {@link #add(Mutation)}<a name="line.82"></a>
+<span class="sourceLineNo">083</span>   */<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  @Deprecated<a name="line.84"></a>
+<span class="sourceLineNo">085</span>  public void add(Put p) throws IOException {<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    add((Mutation) p);<a name="line.86"></a>
+<span class="sourceLineNo">087</span>  }<a name="line.87"></a>
+<span class="sourceLineNo">088</span><a name="line.88"></a>
+<span class="sourceLineNo">089</span>  /**<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   * Add a {@link Delete} operation to the list of mutations<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   * @param d The {@link Delete} to add<a name="line.91"></a>
+<span class="sourceLineNo">092</span>   * @throws IOException if the row of added mutation doesn't match the original row<a name="line.92"></a>
+<span class="sourceLineNo">093</span>   * @deprecated since 2.0 version and will be removed in 3.0 version.<a name="line.93"></a>
+<span class="sourceLineNo">094</span>   *             use {@link #add(Mutation)}<a name="line.94"></a>
+<span class="sourceLineNo">095</span>   */<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  @Deprecated<a name="line.96"></a>
+<span class="sourceLineNo">097</span>  public void add(Delete d) throws IOException {<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    add((Mutation) d);<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  }<a name="line.99"></a>
+<span class="sourceLineNo">100</span><a name="line.100"></a>
+<span class="sourceLineNo">101</span>  /**<a name="line.101"></a>
+<span class="sourceLineNo">102</span>   * Currently only supports {@link Put} and {@link Delete} mutations.<a name="line.102"></a>
+<span class="sourceLineNo">103</span>   *<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   * @param mutation The data to send.<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   * @throws IOException if the row of added mutation doesn't match the original row<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   */<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  public RowMutations add(Mutation mutation) throws IOException {<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    return add(Collections.singletonList(mutation));<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  }<a name="line.109"></a>
+<span class="sourceLineNo">110</span><a name="line.110"></a>
+<span class="sourceLineNo">111</span>  /**<a name="line.111"></a>
+<span class="sourceLineNo">112</span>   * Currently only supports {@link Put} and {@link Delete} mutations.<a name="line.112"></a>
+<span class="sourceLineNo">113</span>   *<a name="line.113"></a>
+<span class="sourceLineNo">114</span>   * @param mutations The data to send.<a name="line.114"></a>
+<span class="sourceLineNo">115</span>   * @throws IOException if the row of added mutation doesn't match the original row<a name="line.115"></a>
+<span class="sourceLineNo">116</span>   */<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  public RowMutations add(List&lt;? extends Mutation&gt; mutations) throws IOException {<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    for (Mutation mutation : mutations) {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>      if (!Bytes.equals(row, mutation.getRow())) {<a name="line.119"></a>
+<span class="sourceLineNo">120</span>        throw new WrongRowIOException("The row in the recently added Put/Delete &lt;" +<a name="line.120"></a>
+<span class="sourceLineNo">121</span>          Bytes.toStringBinary(mutation.getRow()) + "&gt; doesn't match the original one &lt;" +<a name="line.121"></a>
+<span class="sourceLineNo">122</span>          Bytes.toStringBinary(this.row) + "&gt;");<a name="line.122"></a>
+<span class="sourceLineNo">123</span>      }<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    }<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    this.mutations.addAll(mutations);<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    return this;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>  }<a name="line.127"></a>
+<span class="sourceLineNo">128</span><a name="line.128"></a>
+<span class="sourceLineNo">129</span>  /**<a name="line.129"></a>
+<span class="sourceLineNo">130</span>   * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.130"></a>
+<span class="sourceLineNo">131</span>   *             Use {@link Row#COMPARATOR} instead<a name="line.131"></a>
+<span class="sourceLineNo">132</span>   */<a name="line.132"></a>
+<span class="sourceLineNo">133</span>  @Deprecated<a name="line.133"></a>
+<span class="sourceLineNo">134</span>  @Override<a name="line.134"></a>
+<span class="sourceLineNo">135</span>  public int compareTo(Row i) {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    return Bytes.compareTo(this.getRow(), i.getRow());<a name="line.136"></a>
+<span class="sourceLineNo">137</span>  }<a name="line.137"></a>
+<span class="sourceLineNo">138</span><a name="line.138"></a>
+<span class="sourceLineNo">139</span>  /**<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.140"></a>
+<span class="sourceLineNo">141</span>   *             No replacement<a name="line.141"></a>
+<span class="sourceLineNo">142</span>   */<a name="line.142"></a>
+<span class="sourceLineNo">143</span>  @Deprecated<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  @Override<a name="line.144"></a>
+<span class="sourceLineNo">145</span>  public boolean equals(Object obj) {<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    if (obj == this) return true;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    if (obj instanceof RowMutations) {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      RowMutations other = (RowMutations)obj;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      return compareTo(other) == 0;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    }<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    return false;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  }<a name="line.152"></a>
+<span class="sourceLineNo">153</span><a name="line.153"></a>
+<span class="sourceLineNo">154</span>  /**<a name="line.154"></a>
+<span class="sourceLineNo">155</span>   * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0.<a name="line.155"></a>
+<span class="sourceLineNo">156</span>   *             No replacement<a name="line.156"></a>
+<span class="sourceLineNo">157</span>   */<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  @Deprecated<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  @Override<a name="line.159"></a>
+<span class="sourceLineNo">160</span>  public int hashCode(){<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    return Arrays.hashCode(row);<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  }<a name="line.162"></a>
+<span class="sourceLineNo">163</span><a name="line.163"></a>
+<span class="sourceLineNo">164</span>  @Override<a name="line.164"></a>
+<span class="sourceLineNo">165</span>  public byte[] getRow() {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    return row;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  }<a name="line.167"></a>
+<span class="sourceLineNo">168</span><a name="line.168"></a>
+<span class="sourceLineNo">169</span>  /**<a name="line.169"></a>
+<span class="sourceLineNo">170</span>   * @return An unmodifiable list of the current mutations.<a name="line.170"></a>
+<span class="sourceLineNo">171</span>   */<a name="line.171"></a>
+<span class="sourceLineNo">172</span>  public List&lt;Mutation&gt; getMutations() {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    return Collections.unmodifiableList(mutations);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>  }<a name="line.174"></a>
+<span class="sourceLineNo">175</span><a name="line.175"></a>
+<span class="sourceLineNo">176</span>  public int getMaxPriority() {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    int maxPriority = Integer.MIN_VALUE;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    for (Mutation mutation : mutations) {<a name="line.178"></a>
+<span class="sourceLineNo">179</span>      maxPriority = Math.max(maxPriority, mutation.getPriority());<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    }<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    return maxPriority;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>  }<a name="line.182"></a>
+<span class="sourceLineNo">183</span>}<a name="line.183"></a>