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/08/24 14:47:15 UTC

[01/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Repository: hbase-site
Updated Branches:
  refs/heads/asf-site 455e3292b -> 0cf79db0e


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html b/devapidocs/src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html
index 9425699..f592ec3 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html
@@ -30,296 +30,312 @@
 <span class="sourceLineNo">022</span>import java.util.ArrayList;<a name="line.22"></a>
 <span class="sourceLineNo">023</span>import java.util.HashSet;<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 java.util.Set;<a name="line.25"></a>
-<span class="sourceLineNo">026</span><a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.Cell;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.CompareOperator;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.34"></a>
-<span class="sourceLineNo">035</span><a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.39"></a>
-<span class="sourceLineNo">040</span><a name="line.40"></a>
-<span class="sourceLineNo">041</span>/**<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * A filter for adding inter-column timestamp matching<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * Only cells with a correspondingly timestamped entry in<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * the target column will be retained<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * Not compatible with Scan.setBatch as operations need <a name="line.45"></a>
-<span class="sourceLineNo">046</span> * full rows for correct filtering <a name="line.46"></a>
-<span class="sourceLineNo">047</span> */<a name="line.47"></a>
-<span class="sourceLineNo">048</span>@InterfaceAudience.Public<a name="line.48"></a>
-<span class="sourceLineNo">049</span>public class DependentColumnFilter extends CompareFilter {<a name="line.49"></a>
-<span class="sourceLineNo">050</span><a name="line.50"></a>
-<span class="sourceLineNo">051</span>  protected byte[] columnFamily;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>  protected byte[] columnQualifier;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  protected boolean dropDependentColumn;<a name="line.53"></a>
-<span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>  protected Set&lt;Long&gt; stampSet = new HashSet&lt;&gt;();<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  <a name="line.56"></a>
-<span class="sourceLineNo">057</span>  /**<a name="line.57"></a>
-<span class="sourceLineNo">058</span>   * Build a dependent column filter with value checking<a name="line.58"></a>
-<span class="sourceLineNo">059</span>   * dependent column varies will be compared using the supplied<a name="line.59"></a>
-<span class="sourceLineNo">060</span>   * compareOp and comparator, for usage of which<a name="line.60"></a>
-<span class="sourceLineNo">061</span>   * refer to {@link CompareFilter}<a name="line.61"></a>
-<span class="sourceLineNo">062</span>   * <a name="line.62"></a>
-<span class="sourceLineNo">063</span>   * @param family dependent column family<a name="line.63"></a>
-<span class="sourceLineNo">064</span>   * @param qualifier dependent column qualifier<a name="line.64"></a>
-<span class="sourceLineNo">065</span>   * @param dropDependentColumn whether the column should be discarded after<a name="line.65"></a>
-<span class="sourceLineNo">066</span>   * @param valueCompareOp comparison op <a name="line.66"></a>
-<span class="sourceLineNo">067</span>   * @param valueComparator comparator<a name="line.67"></a>
-<span class="sourceLineNo">068</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0. Use<a name="line.68"></a>
-<span class="sourceLineNo">069</span>   * {@link #DependentColumnFilter(byte[], byte[], boolean, CompareOperator, ByteArrayComparable)}<a name="line.69"></a>
-<span class="sourceLineNo">070</span>   * instead.<a name="line.70"></a>
-<span class="sourceLineNo">071</span>   */<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  @Deprecated<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  public DependentColumnFilter(final byte [] family, final byte[] qualifier,<a name="line.73"></a>
-<span class="sourceLineNo">074</span>      final boolean dropDependentColumn, final CompareOp valueCompareOp,<a name="line.74"></a>
-<span class="sourceLineNo">075</span>        final ByteArrayComparable valueComparator) {<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    this(family, qualifier, dropDependentColumn, CompareOperator.valueOf(valueCompareOp.name()),<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      valueComparator);<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  }<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>  /**<a name="line.80"></a>
-<span class="sourceLineNo">081</span>   * Build a dependent column filter with value checking<a name="line.81"></a>
-<span class="sourceLineNo">082</span>   * dependent column varies will be compared using the supplied<a name="line.82"></a>
-<span class="sourceLineNo">083</span>   * compareOp and comparator, for usage of which<a name="line.83"></a>
-<span class="sourceLineNo">084</span>   * refer to {@link CompareFilter}<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   *<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   * @param family dependent column family<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   * @param qualifier dependent column qualifier<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   * @param dropDependentColumn whether the column should be discarded after<a name="line.88"></a>
-<span class="sourceLineNo">089</span>   * @param op Value comparison op<a name="line.89"></a>
-<span class="sourceLineNo">090</span>   * @param valueComparator comparator<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   */<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  public DependentColumnFilter(final byte [] family, final byte[] qualifier,<a name="line.92"></a>
-<span class="sourceLineNo">093</span>                               final boolean dropDependentColumn, final CompareOperator op,<a name="line.93"></a>
-<span class="sourceLineNo">094</span>                               final ByteArrayComparable valueComparator) {<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    // set up the comparator<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    super(op, valueComparator);<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    this.columnFamily = family;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    this.columnQualifier = qualifier;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    this.dropDependentColumn = dropDependentColumn;<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>  /**<a name="line.102"></a>
-<span class="sourceLineNo">103</span>   * Constructor for DependentColumn filter.<a name="line.103"></a>
-<span class="sourceLineNo">104</span>   * Cells where a Cell from target column<a name="line.104"></a>
-<span class="sourceLineNo">105</span>   * with the same timestamp do not exist will be dropped.<a name="line.105"></a>
-<span class="sourceLineNo">106</span>   *<a name="line.106"></a>
-<span class="sourceLineNo">107</span>   * @param family name of target column family<a name="line.107"></a>
-<span class="sourceLineNo">108</span>   * @param qualifier name of column qualifier<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   */<a name="line.109"></a>
-<span class="sourceLineNo">110</span>  public DependentColumnFilter(final byte [] family, final byte [] qualifier) {<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    this(family, qualifier, false);<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  }<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  <a name="line.113"></a>
-<span class="sourceLineNo">114</span>  /**<a name="line.114"></a>
-<span class="sourceLineNo">115</span>   * Constructor for DependentColumn filter.<a name="line.115"></a>
-<span class="sourceLineNo">116</span>   * Cells where a Cell from target column<a name="line.116"></a>
-<span class="sourceLineNo">117</span>   * with the same timestamp do not exist will be dropped.<a name="line.117"></a>
-<span class="sourceLineNo">118</span>   *<a name="line.118"></a>
-<span class="sourceLineNo">119</span>   * @param family name of dependent column family<a name="line.119"></a>
-<span class="sourceLineNo">120</span>   * @param qualifier name of dependent qualifier<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   * @param dropDependentColumn whether the dependent columns Cells should be discarded<a name="line.121"></a>
-<span class="sourceLineNo">122</span>   */<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  public DependentColumnFilter(final byte [] family, final byte [] qualifier,<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      final boolean dropDependentColumn) {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    this(family, qualifier, dropDependentColumn, CompareOp.NO_OP, null);<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>   * @return the column family<a name="line.129"></a>
-<span class="sourceLineNo">130</span>   */<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  public byte[] getFamily() {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    return this.columnFamily;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  }<a name="line.133"></a>
-<span class="sourceLineNo">134</span><a name="line.134"></a>
-<span class="sourceLineNo">135</span>  /**<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * @return the column qualifier<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   */<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  public byte[] getQualifier() {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    return this.columnQualifier;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  }<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span>  /**<a name="line.142"></a>
-<span class="sourceLineNo">143</span>   * @return true if we should drop the dependent column, false otherwise<a name="line.143"></a>
-<span class="sourceLineNo">144</span>   */<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  public boolean dropDependentColumn() {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    return this.dropDependentColumn;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  }<a name="line.147"></a>
-<span class="sourceLineNo">148</span><a name="line.148"></a>
-<span class="sourceLineNo">149</span>  public boolean getDropDependentColumn() {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    return this.dropDependentColumn;<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>  @Override<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  public boolean filterAllRemaining() {<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    return false;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  }<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 ReturnCode filterKeyValue(final Cell c) {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    return filterCell(c);<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 ReturnCode filterCell(final Cell c) {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    // Check if the column and qualifier match<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    if (!CellUtil.matchingColumn(c, this.columnFamily, this.columnQualifier)) {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>        // include non-matches for the time being, they'll be discarded afterwards<a name="line.168"></a>
-<span class="sourceLineNo">169</span>        return ReturnCode.INCLUDE;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    }<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    // If it doesn't pass the op, skip it<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    if (comparator != null<a name="line.172"></a>
-<span class="sourceLineNo">173</span>        &amp;&amp; compareValue(getCompareOperator(), comparator, c))<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      return ReturnCode.SKIP;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  <a name="line.175"></a>
-<span class="sourceLineNo">176</span>    stampSet.add(c.getTimestamp());<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    if(dropDependentColumn) {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      return ReturnCode.SKIP;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    return ReturnCode.INCLUDE;<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">183</span>  @Override<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  public void filterRowCells(List&lt;Cell&gt; kvs) {<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    kvs.removeIf(kv -&gt; !stampSet.contains(kv.getTimestamp()));<a name="line.185"></a>
-<span class="sourceLineNo">186</span>  }<a name="line.186"></a>
-<span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>  @Override<a name="line.188"></a>
-<span class="sourceLineNo">189</span>  public boolean hasFilterRow() {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    return true;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>  }<a name="line.191"></a>
-<span class="sourceLineNo">192</span>  <a name="line.192"></a>
-<span class="sourceLineNo">193</span>  @Override<a name="line.193"></a>
-<span class="sourceLineNo">194</span>  public boolean filterRow() {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    return false;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  }<a name="line.196"></a>
-<span class="sourceLineNo">197</span><a name="line.197"></a>
-<span class="sourceLineNo">198</span>  @Override<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  public boolean filterRowKey(byte[] buffer, int offset, int length) {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    return false;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  }<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  @Override<a name="line.202"></a>
-<span class="sourceLineNo">203</span>  public void reset() {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    stampSet.clear();    <a name="line.204"></a>
-<span class="sourceLineNo">205</span>  }<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    Preconditions.checkArgument(filterArguments.size() == 2 ||<a name="line.208"></a>
-<span class="sourceLineNo">209</span>                                filterArguments.size() == 3 ||<a name="line.209"></a>
-<span class="sourceLineNo">210</span>                                filterArguments.size() == 5,<a name="line.210"></a>
-<span class="sourceLineNo">211</span>                                "Expected 2, 3 or 5 but got: %s", filterArguments.size());<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    if (filterArguments.size() == 2) {<a name="line.212"></a>
-<span class="sourceLineNo">213</span>      byte [] family = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      byte [] qualifier = ParseFilter.removeQuotesFromByteArray(filterArguments.get(1));<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      return new DependentColumnFilter(family, qualifier);<a name="line.215"></a>
-<span class="sourceLineNo">216</span><a name="line.216"></a>
-<span class="sourceLineNo">217</span>    } else if (filterArguments.size() == 3) {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      byte [] family = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      byte [] qualifier = ParseFilter.removeQuotesFromByteArray(filterArguments.get(1));<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      boolean dropDependentColumn = ParseFilter.convertByteArrayToBoolean(filterArguments.get(2));<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      return new DependentColumnFilter(family, qualifier, dropDependentColumn);<a name="line.221"></a>
-<span class="sourceLineNo">222</span><a name="line.222"></a>
-<span class="sourceLineNo">223</span>    } else if (filterArguments.size() == 5) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      byte [] family = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.224"></a>
-<span class="sourceLineNo">225</span>      byte [] qualifier = ParseFilter.removeQuotesFromByteArray(filterArguments.get(1));<a name="line.225"></a>
-<span class="sourceLineNo">226</span>      boolean dropDependentColumn = ParseFilter.convertByteArrayToBoolean(filterArguments.get(2));<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      CompareOperator op = ParseFilter.createCompareOperator(filterArguments.get(3));<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      ByteArrayComparable comparator = ParseFilter.createComparator(<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        ParseFilter.removeQuotesFromByteArray(filterArguments.get(4)));<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      return new DependentColumnFilter(family, qualifier, dropDependentColumn,<a name="line.230"></a>
-<span class="sourceLineNo">231</span>                                       op, comparator);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    } else {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      throw new IllegalArgumentException("Expected 2, 3 or 5 but got: " + filterArguments.size());<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span>  /**<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * @return The filter serialized using pb<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   */<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  @Override<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  public byte [] toByteArray() {<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    FilterProtos.DependentColumnFilter.Builder builder =<a name="line.242"></a>
-<span class="sourceLineNo">243</span>      FilterProtos.DependentColumnFilter.newBuilder();<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    builder.setCompareFilter(super.convert());<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    if (this.columnFamily != null) {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      builder.setColumnFamily(UnsafeByteOperations.unsafeWrap(this.columnFamily));<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    }<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    if (this.columnQualifier != null) {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>      builder.setColumnQualifier(UnsafeByteOperations.unsafeWrap(this.columnQualifier));<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    }<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    builder.setDropDependentColumn(this.dropDependentColumn);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    return builder.build().toByteArray();<a name="line.252"></a>
-<span class="sourceLineNo">253</span>  }<a name="line.253"></a>
-<span class="sourceLineNo">254</span><a name="line.254"></a>
-<span class="sourceLineNo">255</span>  /**<a name="line.255"></a>
-<span class="sourceLineNo">256</span>   * @param pbBytes A pb serialized {@link DependentColumnFilter} instance<a name="line.256"></a>
-<span class="sourceLineNo">257</span>   * @return An instance of {@link DependentColumnFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * @throws DeserializationException<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   * @see #toByteArray<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   */<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  public static DependentColumnFilter parseFrom(final byte [] pbBytes)<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  throws DeserializationException {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    FilterProtos.DependentColumnFilter proto;<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    try {<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      proto = FilterProtos.DependentColumnFilter.parseFrom(pbBytes);<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    } catch (InvalidProtocolBufferException e) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      throw new DeserializationException(e);<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    }<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    final CompareOperator valueCompareOp =<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    CompareOperator.valueOf(proto.getCompareFilter().getCompareOp().name());<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    ByteArrayComparable valueComparator = null;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    try {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      if (proto.getCompareFilter().hasComparator()) {<a name="line.273"></a>
-<span class="sourceLineNo">274</span>        valueComparator = ProtobufUtil.toComparator(proto.getCompareFilter().getComparator());<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      }<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    } catch (IOException ioe) {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      throw new DeserializationException(ioe);<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    }<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    return new DependentColumnFilter(<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      proto.hasColumnFamily()?proto.getColumnFamily().toByteArray():null,<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      proto.hasColumnQualifier()?proto.getColumnQualifier().toByteArray():null,<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      proto.getDropDependentColumn(), valueCompareOp, valueComparator);<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  }<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>  /**<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   * @param o<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.287"></a>
-<span class="sourceLineNo">288</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.288"></a>
-<span class="sourceLineNo">289</span>   */<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(<a name="line.290"></a>
-<span class="sourceLineNo">291</span>      value="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE")<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  @Override<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    if (o == this) return true;<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    if (!(o instanceof DependentColumnFilter)) return false;<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span>    DependentColumnFilter other = (DependentColumnFilter)o;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    return other != null &amp;&amp; super.areSerializedFieldsEqual(other)<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      &amp;&amp; Bytes.equals(this.getFamily(), other.getFamily())<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      &amp;&amp; Bytes.equals(this.getQualifier(), other.getQualifier())<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      &amp;&amp; this.dropDependentColumn() == other.dropDependentColumn();<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>  @Override<a name="line.304"></a>
-<span class="sourceLineNo">305</span>  public String toString() {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    return String.format("%s (%s, %s, %s, %s, %s)",<a name="line.306"></a>
-<span class="sourceLineNo">307</span>        this.getClass().getSimpleName(),<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        Bytes.toStringBinary(this.columnFamily),<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        Bytes.toStringBinary(this.columnQualifier),<a name="line.309"></a>
-<span class="sourceLineNo">310</span>        this.dropDependentColumn,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>        this.op.name(),<a name="line.311"></a>
-<span class="sourceLineNo">312</span>        this.comparator != null ? Bytes.toStringBinary(this.comparator.getValue()) : "null");<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  }<a name="line.313"></a>
-<span class="sourceLineNo">314</span>}<a name="line.314"></a>
+<span class="sourceLineNo">025</span>import java.util.Objects;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.Set;<a name="line.26"></a>
+<span class="sourceLineNo">027</span><a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.Cell;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.CompareOperator;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.35"></a>
+<span class="sourceLineNo">036</span><a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.37"></a>
+<span class="sourceLineNo">038</span><a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<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> * A filter for adding inter-column timestamp matching<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * Only cells with a correspondingly timestamped entry in<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * the target column will be retained<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * Not compatible with Scan.setBatch as operations need <a name="line.46"></a>
+<span class="sourceLineNo">047</span> * full rows for correct filtering <a name="line.47"></a>
+<span class="sourceLineNo">048</span> */<a name="line.48"></a>
+<span class="sourceLineNo">049</span>@InterfaceAudience.Public<a name="line.49"></a>
+<span class="sourceLineNo">050</span>public class DependentColumnFilter extends CompareFilter {<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>  protected byte[] columnFamily;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>  protected byte[] columnQualifier;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  protected boolean dropDependentColumn;<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>  protected Set&lt;Long&gt; stampSet = new HashSet&lt;&gt;();<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  <a name="line.57"></a>
+<span class="sourceLineNo">058</span>  /**<a name="line.58"></a>
+<span class="sourceLineNo">059</span>   * Build a dependent column filter with value checking<a name="line.59"></a>
+<span class="sourceLineNo">060</span>   * dependent column varies will be compared using the supplied<a name="line.60"></a>
+<span class="sourceLineNo">061</span>   * compareOp and comparator, for usage of which<a name="line.61"></a>
+<span class="sourceLineNo">062</span>   * refer to {@link CompareFilter}<a name="line.62"></a>
+<span class="sourceLineNo">063</span>   * <a name="line.63"></a>
+<span class="sourceLineNo">064</span>   * @param family dependent column family<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   * @param qualifier dependent column qualifier<a name="line.65"></a>
+<span class="sourceLineNo">066</span>   * @param dropDependentColumn whether the column should be discarded after<a name="line.66"></a>
+<span class="sourceLineNo">067</span>   * @param valueCompareOp comparison op <a name="line.67"></a>
+<span class="sourceLineNo">068</span>   * @param valueComparator comparator<a name="line.68"></a>
+<span class="sourceLineNo">069</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0. Use<a name="line.69"></a>
+<span class="sourceLineNo">070</span>   * {@link #DependentColumnFilter(byte[], byte[], boolean, CompareOperator, ByteArrayComparable)}<a name="line.70"></a>
+<span class="sourceLineNo">071</span>   * instead.<a name="line.71"></a>
+<span class="sourceLineNo">072</span>   */<a name="line.72"></a>
+<span class="sourceLineNo">073</span>  @Deprecated<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  public DependentColumnFilter(final byte [] family, final byte[] qualifier,<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      final boolean dropDependentColumn, final CompareOp valueCompareOp,<a name="line.75"></a>
+<span class="sourceLineNo">076</span>        final ByteArrayComparable valueComparator) {<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    this(family, qualifier, dropDependentColumn, CompareOperator.valueOf(valueCompareOp.name()),<a name="line.77"></a>
+<span class="sourceLineNo">078</span>      valueComparator);<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  }<a name="line.79"></a>
+<span class="sourceLineNo">080</span><a name="line.80"></a>
+<span class="sourceLineNo">081</span>  /**<a name="line.81"></a>
+<span class="sourceLineNo">082</span>   * Build a dependent column filter with value checking<a name="line.82"></a>
+<span class="sourceLineNo">083</span>   * dependent column varies will be compared using the supplied<a name="line.83"></a>
+<span class="sourceLineNo">084</span>   * compareOp and comparator, for usage of which<a name="line.84"></a>
+<span class="sourceLineNo">085</span>   * refer to {@link CompareFilter}<a name="line.85"></a>
+<span class="sourceLineNo">086</span>   *<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   * @param family dependent column family<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   * @param qualifier dependent column qualifier<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   * @param dropDependentColumn whether the column should be discarded after<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   * @param op Value comparison op<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   * @param valueComparator comparator<a name="line.91"></a>
+<span class="sourceLineNo">092</span>   */<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  public DependentColumnFilter(final byte [] family, final byte[] qualifier,<a name="line.93"></a>
+<span class="sourceLineNo">094</span>                               final boolean dropDependentColumn, final CompareOperator op,<a name="line.94"></a>
+<span class="sourceLineNo">095</span>                               final ByteArrayComparable valueComparator) {<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    // set up the comparator<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    super(op, valueComparator);<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    this.columnFamily = family;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    this.columnQualifier = qualifier;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    this.dropDependentColumn = dropDependentColumn;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  }<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  <a name="line.102"></a>
+<span class="sourceLineNo">103</span>  /**<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   * Constructor for DependentColumn filter.<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   * Cells where a Cell from target column<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   * with the same timestamp do not exist will be dropped.<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   *<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   * @param family name of target column family<a name="line.108"></a>
+<span class="sourceLineNo">109</span>   * @param qualifier name of column qualifier<a name="line.109"></a>
+<span class="sourceLineNo">110</span>   */<a name="line.110"></a>
+<span class="sourceLineNo">111</span>  public DependentColumnFilter(final byte [] family, final byte [] qualifier) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    this(family, qualifier, false);<a name="line.112"></a>
+<span class="sourceLineNo">113</span>  }<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  <a name="line.114"></a>
+<span class="sourceLineNo">115</span>  /**<a name="line.115"></a>
+<span class="sourceLineNo">116</span>   * Constructor for DependentColumn filter.<a name="line.116"></a>
+<span class="sourceLineNo">117</span>   * Cells where a Cell from target column<a name="line.117"></a>
+<span class="sourceLineNo">118</span>   * with the same timestamp do not exist will be dropped.<a name="line.118"></a>
+<span class="sourceLineNo">119</span>   *<a name="line.119"></a>
+<span class="sourceLineNo">120</span>   * @param family name of dependent column family<a name="line.120"></a>
+<span class="sourceLineNo">121</span>   * @param qualifier name of dependent qualifier<a name="line.121"></a>
+<span class="sourceLineNo">122</span>   * @param dropDependentColumn whether the dependent columns Cells should be discarded<a name="line.122"></a>
+<span class="sourceLineNo">123</span>   */<a name="line.123"></a>
+<span class="sourceLineNo">124</span>  public DependentColumnFilter(final byte [] family, final byte [] qualifier,<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      final boolean dropDependentColumn) {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    this(family, qualifier, dropDependentColumn, CompareOp.NO_OP, null);<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>   * @return the column family<a name="line.130"></a>
+<span class="sourceLineNo">131</span>   */<a name="line.131"></a>
+<span class="sourceLineNo">132</span>  public byte[] getFamily() {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    return this.columnFamily;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>  }<a name="line.134"></a>
+<span class="sourceLineNo">135</span><a name="line.135"></a>
+<span class="sourceLineNo">136</span>  /**<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   * @return the column qualifier<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   */<a name="line.138"></a>
+<span class="sourceLineNo">139</span>  public byte[] getQualifier() {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    return this.columnQualifier;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  /**<a name="line.143"></a>
+<span class="sourceLineNo">144</span>   * @return true if we should drop the dependent column, false otherwise<a name="line.144"></a>
+<span class="sourceLineNo">145</span>   */<a name="line.145"></a>
+<span class="sourceLineNo">146</span>  public boolean dropDependentColumn() {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    return this.dropDependentColumn;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  }<a name="line.148"></a>
+<span class="sourceLineNo">149</span><a name="line.149"></a>
+<span class="sourceLineNo">150</span>  public boolean getDropDependentColumn() {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    return this.dropDependentColumn;<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>  @Override<a name="line.154"></a>
+<span class="sourceLineNo">155</span>  public boolean filterAllRemaining() {<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    return false;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>  }<a name="line.157"></a>
+<span class="sourceLineNo">158</span><a name="line.158"></a>
+<span class="sourceLineNo">159</span>  @Deprecated<a name="line.159"></a>
+<span class="sourceLineNo">160</span>  @Override<a name="line.160"></a>
+<span class="sourceLineNo">161</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    return filterCell(c);<a name="line.162"></a>
+<span class="sourceLineNo">163</span>  }<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>  @Override<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public ReturnCode filterCell(final Cell c) {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    // Check if the column and qualifier match<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    if (!CellUtil.matchingColumn(c, this.columnFamily, this.columnQualifier)) {<a name="line.168"></a>
+<span class="sourceLineNo">169</span>        // include non-matches for the time being, they'll be discarded afterwards<a name="line.169"></a>
+<span class="sourceLineNo">170</span>        return ReturnCode.INCLUDE;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    }<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    // If it doesn't pass the op, skip it<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    if (comparator != null<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        &amp;&amp; compareValue(getCompareOperator(), comparator, c))<a name="line.174"></a>
+<span class="sourceLineNo">175</span>      return ReturnCode.SKIP;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>  <a name="line.176"></a>
+<span class="sourceLineNo">177</span>    stampSet.add(c.getTimestamp());<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    if(dropDependentColumn) {<a name="line.178"></a>
+<span class="sourceLineNo">179</span>      return ReturnCode.SKIP;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    }<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    return ReturnCode.INCLUDE;<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>
+<span class="sourceLineNo">184</span>  @Override<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  public void filterRowCells(List&lt;Cell&gt; kvs) {<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    kvs.removeIf(kv -&gt; !stampSet.contains(kv.getTimestamp()));<a name="line.186"></a>
+<span class="sourceLineNo">187</span>  }<a name="line.187"></a>
+<span class="sourceLineNo">188</span><a name="line.188"></a>
+<span class="sourceLineNo">189</span>  @Override<a name="line.189"></a>
+<span class="sourceLineNo">190</span>  public boolean hasFilterRow() {<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    return true;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  }<a name="line.192"></a>
+<span class="sourceLineNo">193</span>  <a name="line.193"></a>
+<span class="sourceLineNo">194</span>  @Override<a name="line.194"></a>
+<span class="sourceLineNo">195</span>  public boolean filterRow() {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    return false;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>  }<a name="line.197"></a>
+<span class="sourceLineNo">198</span><a name="line.198"></a>
+<span class="sourceLineNo">199</span>  @Override<a name="line.199"></a>
+<span class="sourceLineNo">200</span>  public boolean filterRowKey(byte[] buffer, int offset, int length) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    return false;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>  }<a name="line.202"></a>
+<span class="sourceLineNo">203</span>  @Override<a name="line.203"></a>
+<span class="sourceLineNo">204</span>  public void reset() {<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    stampSet.clear();    <a name="line.205"></a>
+<span class="sourceLineNo">206</span>  }<a name="line.206"></a>
+<span class="sourceLineNo">207</span><a name="line.207"></a>
+<span class="sourceLineNo">208</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    Preconditions.checkArgument(filterArguments.size() == 2 ||<a name="line.209"></a>
+<span class="sourceLineNo">210</span>                                filterArguments.size() == 3 ||<a name="line.210"></a>
+<span class="sourceLineNo">211</span>                                filterArguments.size() == 5,<a name="line.211"></a>
+<span class="sourceLineNo">212</span>                                "Expected 2, 3 or 5 but got: %s", filterArguments.size());<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    if (filterArguments.size() == 2) {<a name="line.213"></a>
+<span class="sourceLineNo">214</span>      byte [] family = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      byte [] qualifier = ParseFilter.removeQuotesFromByteArray(filterArguments.get(1));<a name="line.215"></a>
+<span class="sourceLineNo">216</span>      return new DependentColumnFilter(family, qualifier);<a name="line.216"></a>
+<span class="sourceLineNo">217</span><a name="line.217"></a>
+<span class="sourceLineNo">218</span>    } else if (filterArguments.size() == 3) {<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      byte [] family = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      byte [] qualifier = ParseFilter.removeQuotesFromByteArray(filterArguments.get(1));<a name="line.220"></a>
+<span class="sourceLineNo">221</span>      boolean dropDependentColumn = ParseFilter.convertByteArrayToBoolean(filterArguments.get(2));<a name="line.221"></a>
+<span class="sourceLineNo">222</span>      return new DependentColumnFilter(family, qualifier, dropDependentColumn);<a name="line.222"></a>
+<span class="sourceLineNo">223</span><a name="line.223"></a>
+<span class="sourceLineNo">224</span>    } else if (filterArguments.size() == 5) {<a name="line.224"></a>
+<span class="sourceLineNo">225</span>      byte [] family = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.225"></a>
+<span class="sourceLineNo">226</span>      byte [] qualifier = ParseFilter.removeQuotesFromByteArray(filterArguments.get(1));<a name="line.226"></a>
+<span class="sourceLineNo">227</span>      boolean dropDependentColumn = ParseFilter.convertByteArrayToBoolean(filterArguments.get(2));<a name="line.227"></a>
+<span class="sourceLineNo">228</span>      CompareOperator op = ParseFilter.createCompareOperator(filterArguments.get(3));<a name="line.228"></a>
+<span class="sourceLineNo">229</span>      ByteArrayComparable comparator = ParseFilter.createComparator(<a name="line.229"></a>
+<span class="sourceLineNo">230</span>        ParseFilter.removeQuotesFromByteArray(filterArguments.get(4)));<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      return new DependentColumnFilter(family, qualifier, dropDependentColumn,<a name="line.231"></a>
+<span class="sourceLineNo">232</span>                                       op, comparator);<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    } else {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>      throw new IllegalArgumentException("Expected 2, 3 or 5 but got: " + filterArguments.size());<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    }<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  }<a name="line.236"></a>
+<span class="sourceLineNo">237</span><a name="line.237"></a>
+<span class="sourceLineNo">238</span>  /**<a name="line.238"></a>
+<span class="sourceLineNo">239</span>   * @return The filter serialized using pb<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   */<a name="line.240"></a>
+<span class="sourceLineNo">241</span>  @Override<a name="line.241"></a>
+<span class="sourceLineNo">242</span>  public byte [] toByteArray() {<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    FilterProtos.DependentColumnFilter.Builder builder =<a name="line.243"></a>
+<span class="sourceLineNo">244</span>      FilterProtos.DependentColumnFilter.newBuilder();<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    builder.setCompareFilter(super.convert());<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    if (this.columnFamily != null) {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>      builder.setColumnFamily(UnsafeByteOperations.unsafeWrap(this.columnFamily));<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    }<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    if (this.columnQualifier != null) {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>      builder.setColumnQualifier(UnsafeByteOperations.unsafeWrap(this.columnQualifier));<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    }<a name="line.251"></a>
+<span class="sourceLineNo">252</span>    builder.setDropDependentColumn(this.dropDependentColumn);<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    return builder.build().toByteArray();<a name="line.253"></a>
+<span class="sourceLineNo">254</span>  }<a name="line.254"></a>
+<span class="sourceLineNo">255</span><a name="line.255"></a>
+<span class="sourceLineNo">256</span>  /**<a name="line.256"></a>
+<span class="sourceLineNo">257</span>   * @param pbBytes A pb serialized {@link DependentColumnFilter} instance<a name="line.257"></a>
+<span class="sourceLineNo">258</span>   * @return An instance of {@link DependentColumnFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.258"></a>
+<span class="sourceLineNo">259</span>   * @throws DeserializationException<a name="line.259"></a>
+<span class="sourceLineNo">260</span>   * @see #toByteArray<a name="line.260"></a>
+<span class="sourceLineNo">261</span>   */<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  public static DependentColumnFilter parseFrom(final byte [] pbBytes)<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  throws DeserializationException {<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    FilterProtos.DependentColumnFilter proto;<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    try {<a name="line.265"></a>
+<span class="sourceLineNo">266</span>      proto = FilterProtos.DependentColumnFilter.parseFrom(pbBytes);<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    } catch (InvalidProtocolBufferException e) {<a name="line.267"></a>
+<span class="sourceLineNo">268</span>      throw new DeserializationException(e);<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    }<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    final CompareOperator valueCompareOp =<a name="line.270"></a>
+<span class="sourceLineNo">271</span>    CompareOperator.valueOf(proto.getCompareFilter().getCompareOp().name());<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    ByteArrayComparable valueComparator = null;<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    try {<a name="line.273"></a>
+<span class="sourceLineNo">274</span>      if (proto.getCompareFilter().hasComparator()) {<a name="line.274"></a>
+<span class="sourceLineNo">275</span>        valueComparator = ProtobufUtil.toComparator(proto.getCompareFilter().getComparator());<a name="line.275"></a>
+<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    } catch (IOException ioe) {<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      throw new DeserializationException(ioe);<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    }<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    return new DependentColumnFilter(<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      proto.hasColumnFamily()?proto.getColumnFamily().toByteArray():null,<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      proto.hasColumnQualifier()?proto.getColumnQualifier().toByteArray():null,<a name="line.282"></a>
+<span class="sourceLineNo">283</span>      proto.getDropDependentColumn(), valueCompareOp, valueComparator);<a name="line.283"></a>
+<span class="sourceLineNo">284</span>  }<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span>  /**<a name="line.286"></a>
+<span class="sourceLineNo">287</span>   * @param o<a name="line.287"></a>
+<span class="sourceLineNo">288</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.288"></a>
+<span class="sourceLineNo">289</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.289"></a>
+<span class="sourceLineNo">290</span>   */<a name="line.290"></a>
+<span class="sourceLineNo">291</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      value="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE")<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  @Override<a name="line.293"></a>
+<span class="sourceLineNo">294</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    if (o == this) return true;<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    if (!(o instanceof DependentColumnFilter)) return false;<a name="line.296"></a>
+<span class="sourceLineNo">297</span><a name="line.297"></a>
+<span class="sourceLineNo">298</span>    DependentColumnFilter other = (DependentColumnFilter)o;<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    return other != null &amp;&amp; super.areSerializedFieldsEqual(other)<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      &amp;&amp; Bytes.equals(this.getFamily(), other.getFamily())<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      &amp;&amp; Bytes.equals(this.getQualifier(), other.getQualifier())<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      &amp;&amp; this.dropDependentColumn() == other.dropDependentColumn();<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>  @Override<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  public String toString() {<a name="line.306"></a>
+<span class="sourceLineNo">307</span>    return String.format("%s (%s, %s, %s, %s, %s)",<a name="line.307"></a>
+<span class="sourceLineNo">308</span>        this.getClass().getSimpleName(),<a name="line.308"></a>
+<span class="sourceLineNo">309</span>        Bytes.toStringBinary(this.columnFamily),<a name="line.309"></a>
+<span class="sourceLineNo">310</span>        Bytes.toStringBinary(this.columnQualifier),<a name="line.310"></a>
+<span class="sourceLineNo">311</span>        this.dropDependentColumn,<a name="line.311"></a>
+<span class="sourceLineNo">312</span>        this.op.name(),<a name="line.312"></a>
+<span class="sourceLineNo">313</span>        this.comparator != null ? Bytes.toStringBinary(this.comparator.getValue()) : "null");<a name="line.313"></a>
+<span class="sourceLineNo">314</span>  }<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>  @Override<a name="line.316"></a>
+<span class="sourceLineNo">317</span>  public boolean equals(Object obj) {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    if (obj == null || (!(obj instanceof DependentColumnFilter))) {<a name="line.318"></a>
+<span class="sourceLineNo">319</span>      return false;<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    }<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    DependentColumnFilter f = (DependentColumnFilter) obj;<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    return this.areSerializedFieldsEqual(f);<a name="line.322"></a>
+<span class="sourceLineNo">323</span>  }<a name="line.323"></a>
+<span class="sourceLineNo">324</span><a name="line.324"></a>
+<span class="sourceLineNo">325</span>  @Override<a name="line.325"></a>
+<span class="sourceLineNo">326</span>  public int hashCode() {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>    return Objects.hash(Bytes.hashCode(this.getFamily()), Bytes.hashCode(this.getQualifier()),<a name="line.327"></a>
+<span class="sourceLineNo">328</span>        this.dropDependentColumn());<a name="line.328"></a>
+<span class="sourceLineNo">329</span>  }<a name="line.329"></a>
+<span class="sourceLineNo">330</span>}<a name="line.330"></a>
 
 
 


[44/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html b/apidocs/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html
index 039407c..07ead26 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":42,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":42,"i11":10,"i12":10,"i13":10,"i14":9,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10};
+var methods = {"i0":9,"i1":10,"i2":10,"i3":42,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":42,"i12":10,"i13":10,"i14":10,"i15":10,"i16":9,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -124,7 +124,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.71">SingleColumnValueFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.72">SingleColumnValueFilter</a>
 extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <div class="block">This filter is used to filter cells based on value. It takes a <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter"><code>CompareFilter.CompareOp</code></a>
  operator (equal, greater, not equal, etc), and either a byte [] value or
@@ -327,18 +327,22 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterRow--">filterRow</a></span>()</code>
 <div class="block">Filters that never filter by rows based on previously gathered state from
@@ -346,37 +350,37 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
  never filters a row.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getComparator--">getComparator</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getCompareOperator--">getCompareOperator</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getFamily--">getFamily</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getFilterIfMissing--">getFilterIfMissing</a></span>()</code>
 <div class="block">Get whether entire row should be filtered if column is not found.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getLatestVersionOnly--">getLatestVersionOnly</a></span>()</code>
 <div class="block">Get whether only the latest version of the column value should be compared.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getOperator--">getOperator</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -384,53 +388,57 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 </div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getQualifier--">getQualifier</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#hasFilterRow--">hasFilterRow</a></span>()</code>
 <div class="block">Fitlers that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#isFamilyEssential-byte:A-">isFamilyEssential</a></span>(byte[]&nbsp;name)</code>
 <div class="block">The only CF this filter needs is given column family.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter">SingleColumnValueFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#reset--">reset</a></span>()</code>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#setFilterIfMissing-boolean-">setFilterIfMissing</a></span>(boolean&nbsp;filterIfMissing)</code>
 <div class="block">Set whether entire row should be filtered if column is not found.</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#setLatestVersionOnly-boolean-">setLatestVersionOnly</a></span>(boolean&nbsp;latestVersionOnly)</code>
 <div class="block">Set whether only the latest version of the column value should be compared.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
@@ -456,7 +464,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -478,7 +486,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>columnFamily</h4>
-<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.73">columnFamily</a></pre>
+<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.74">columnFamily</a></pre>
 </li>
 </ul>
 <a name="columnQualifier">
@@ -487,7 +495,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>columnQualifier</h4>
-<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.74">columnQualifier</a></pre>
+<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.75">columnQualifier</a></pre>
 </li>
 </ul>
 <a name="op">
@@ -496,7 +504,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>op</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.75">op</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.76">op</a></pre>
 </li>
 </ul>
 <a name="comparator">
@@ -505,7 +513,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>comparator</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.76">comparator</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.77">comparator</a></pre>
 </li>
 </ul>
 <a name="foundColumn">
@@ -514,7 +522,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>foundColumn</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.77">foundColumn</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.78">foundColumn</a></pre>
 </li>
 </ul>
 <a name="matchedColumn">
@@ -523,7 +531,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>matchedColumn</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.78">matchedColumn</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.79">matchedColumn</a></pre>
 </li>
 </ul>
 <a name="filterIfMissing">
@@ -532,7 +540,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>filterIfMissing</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.79">filterIfMissing</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.80">filterIfMissing</a></pre>
 </li>
 </ul>
 <a name="latestVersionOnly">
@@ -541,7 +549,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>latestVersionOnly</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.80">latestVersionOnly</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.81">latestVersionOnly</a></pre>
 </li>
 </ul>
 </li>
@@ -559,7 +567,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <li class="blockList">
 <h4>SingleColumnValueFilter</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.99">SingleColumnValueFilter</a>(byte[]&nbsp;family,
+public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.100">SingleColumnValueFilter</a>(byte[]&nbsp;family,
                                            byte[]&nbsp;qualifier,
                                            <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
                                            byte[]&nbsp;value)</pre>
@@ -587,7 +595,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Sing
 <ul class="blockList">
 <li class="blockList">
 <h4>SingleColumnValueFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.119">SingleColumnValueFilter</a>(byte[]&nbsp;family,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.120">SingleColumnValueFilter</a>(byte[]&nbsp;family,
                                byte[]&nbsp;qualifier,
                                <a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                                byte[]&nbsp;value)</pre>
@@ -614,7 +622,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Sing
 <li class="blockList">
 <h4>SingleColumnValueFilter</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.142">SingleColumnValueFilter</a>(byte[]&nbsp;family,
+public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.143">SingleColumnValueFilter</a>(byte[]&nbsp;family,
                                            byte[]&nbsp;qualifier,
                                            <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
                                            <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator)</pre>
@@ -642,7 +650,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Sing
 <ul class="blockList">
 <li class="blockList">
 <h4>SingleColumnValueFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.162">SingleColumnValueFilter</a>(byte[]&nbsp;family,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.163">SingleColumnValueFilter</a>(byte[]&nbsp;family,
                                byte[]&nbsp;qualifier,
                                <a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                                <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator)</pre>
@@ -669,7 +677,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Sing
 <li class="blockList">
 <h4>SingleColumnValueFilter</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.184">SingleColumnValueFilter</a>(byte[]&nbsp;family,
+protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.185">SingleColumnValueFilter</a>(byte[]&nbsp;family,
                                               byte[]&nbsp;qualifier,
                                               <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
                                               <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
@@ -696,7 +704,7 @@ protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/S
 <ul class="blockListLast">
 <li class="blockList">
 <h4>SingleColumnValueFilter</h4>
-<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.201">SingleColumnValueFilter</a>(byte[]&nbsp;family,
+<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.202">SingleColumnValueFilter</a>(byte[]&nbsp;family,
                                   byte[]&nbsp;qualifier,
                                   <a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                                   <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
@@ -729,7 +737,7 @@ protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/S
 <li class="blockList">
 <h4>getOperator</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.214">getOperator</a>()</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.215">getOperator</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 2.0.0. Will be removed in 3.0.0. Use <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getCompareOperator--"><code>getCompareOperator()</code></a> instead.</span></div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -743,7 +751,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompareOperator</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.218">getCompareOperator</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.219">getCompareOperator</a>()</pre>
 </li>
 </ul>
 <a name="getComparator--">
@@ -752,7 +760,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter
 <ul class="blockList">
 <li class="blockList">
 <h4>getComparator</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.225">getComparator</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.226">getComparator</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the comparator</dd>
@@ -765,7 +773,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamily</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.232">getFamily</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.233">getFamily</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the family</dd>
@@ -778,7 +786,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter
 <ul class="blockList">
 <li class="blockList">
 <h4>getQualifier</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.239">getQualifier</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.240">getQualifier</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the qualifier</dd>
@@ -791,7 +799,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.244">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.245">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -820,7 +828,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.251">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.252">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -855,7 +863,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.256">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.257">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -889,7 +897,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.282">filterRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.283">filterRow</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that never filter by rows based on previously gathered state from
  <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-"><code>Filter.filterCell(Cell)</code></a> can inherit this implementation that
@@ -915,7 +923,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>hasFilterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.289">hasFilterRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.290">hasFilterRow</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Fitlers that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.
@@ -936,7 +944,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.294">reset</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.295">reset</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.
@@ -957,7 +965,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>getFilterIfMissing</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.304">getFilterIfMissing</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.305">getFilterIfMissing</a>()</pre>
 <div class="block">Get whether entire row should be filtered if column is not found.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -972,7 +980,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>setFilterIfMissing</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.316">setFilterIfMissing</a>(boolean&nbsp;filterIfMissing)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.317">setFilterIfMissing</a>(boolean&nbsp;filterIfMissing)</pre>
 <div class="block">Set whether entire row should be filtered if column is not found.
  <p>
  If true, the entire row will be skipped if the column is not found.
@@ -990,7 +998,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>getLatestVersionOnly</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.327">getLatestVersionOnly</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.328">getLatestVersionOnly</a>()</pre>
 <div class="block">Get whether only the latest version of the column value should be compared.
  If true, the row will be returned if only the latest version of the column
  value matches. If false, the row will be returned if any version of the
@@ -1007,7 +1015,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>setLatestVersionOnly</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.338">setLatestVersionOnly</a>(boolean&nbsp;latestVersionOnly)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.339">setLatestVersionOnly</a>(boolean&nbsp;latestVersionOnly)</pre>
 <div class="block">Set whether only the latest version of the column value should be compared.
  If true, the row will be returned if only the latest version of the column
  value matches. If false, the row will be returned if any version of the
@@ -1024,7 +1032,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.342">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.343">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -1033,7 +1041,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.394">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.395">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -1050,7 +1058,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter">SingleColumnValueFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.404">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter">SingleColumnValueFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.405">parseFrom</a>(byte[]&nbsp;pbBytes)
                                          throws org.apache.hadoop.hbase.exceptions.DeserializationException</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1070,7 +1078,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>isFamilyEssential</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.452">isFamilyEssential</a>(byte[]&nbsp;name)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.453">isFamilyEssential</a>(byte[]&nbsp;name)</pre>
 <div class="block">The only CF this filter needs is given column family. So, it's the only essential
  column in whole scan. If filterIfMissing == false, all families are essential,
  because of possibility of skipping the rows without any data in filtered CF.</div>
@@ -1083,10 +1091,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.457">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.458">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -1095,6 +1103,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.466">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.475">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/SkipFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/SkipFilter.html b/apidocs/org/apache/hadoop/hbase/filter/SkipFilter.html
index 3a5b6b9..8566108 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/SkipFilter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/SkipFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":42,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":9,"i8":10,"i9":10,"i10":10,"i11":10};
+var methods = {"i0":10,"i1":10,"i2":42,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":9,"i10":10,"i11":10,"i12":10,"i13":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.53">SkipFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.54">SkipFilter</a>
 extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <div class="block">A wrapper filter that filters an entire row if any of the Cell checks do
  not pass.
@@ -207,18 +207,22 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#filterRow--">filterRow</a></span>()</code>
 <div class="block">Filters that never filter by rows based on previously gathered state from
@@ -226,53 +230,57 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
  never filters a row.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#getFilter--">getFilter</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#hasFilterRow--">hasFilterRow</a></span>()</code>
 <div class="block">Fitlers that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#isFamilyEssential-byte:A-">isFamilyEssential</a></span>(byte[]&nbsp;name)</code>
 <div class="block">By default, we require all scan's column families to be present.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html" title="class in org.apache.hadoop.hbase.filter">SkipFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#reset--">reset</a></span>()</code>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>
 <div class="block">By default no transformation takes place
@@ -300,7 +308,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -322,7 +330,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>SkipFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.57">SkipFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.58">SkipFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</pre>
 </li>
 </ul>
 </li>
@@ -339,7 +347,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getFilter</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.61">getFilter</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.62">getFilter</a>()</pre>
 </li>
 </ul>
 <a name="reset--">
@@ -348,7 +356,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.66">reset</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.67">reset</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
@@ -372,7 +380,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.76">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.77">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -401,7 +409,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.83">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.84">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
                                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
@@ -439,7 +447,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.88">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.89">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -476,7 +484,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>transformCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.95">transformCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.96">transformCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)
                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">By default no transformation takes place
@@ -509,7 +517,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.100">filterRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.101">filterRow</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that never filter by rows based on previously gathered state from
  <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-"><code>Filter.filterCell(Cell)</code></a> can inherit this implementation that
@@ -535,7 +543,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>hasFilterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.105">hasFilterRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.106">hasFilterRow</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Fitlers that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.
@@ -556,7 +564,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.113">toByteArray</a>()
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.114">toByteArray</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
@@ -576,7 +584,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html" title="class in org.apache.hadoop.hbase.filter">SkipFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.126">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html" title="class in org.apache.hadoop.hbase.filter">SkipFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.127">parseFrom</a>(byte[]&nbsp;pbBytes)
                             throws org.apache.hadoop.hbase.exceptions.DeserializationException</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -596,7 +604,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>isFamilyEssential</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.156">isFamilyEssential</a>(byte[]&nbsp;name)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.157">isFamilyEssential</a>(byte[]&nbsp;name)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">By default, we require all scan's column families to be present. Our
@@ -620,10 +628,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.161">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.162">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -632,6 +640,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.167">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.176">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>


[16/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html b/devapidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html
index fa319cb..3ca642c 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":42,"i4":10,"i5":9,"i6":9,"i7":9,"i8":10,"i9":9,"i10":10,"i11":10,"i12":9,"i13":9,"i14":9,"i15":9,"i16":10,"i17":10,"i18":9};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":42,"i5":10,"i6":9,"i7":9,"i8":9,"i9":10,"i10":10,"i11":9,"i12":10,"i13":10,"i14":9,"i15":9,"i16":9,"i17":9,"i18":10,"i19":10,"i20":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.61">FuzzyRowFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.62">FuzzyRowFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></pre>
 <div class="block">This is optimized version of a standard FuzzyRowFilter Filters data based on fuzzy row key.
  Performs fast-forwards during scanning. It takes pairs (row key, fuzzy info) to match row keys.
@@ -265,38 +265,42 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#filterAllRemaining--">filterAllRemaining</a></span>()</code>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)</code>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>(package private) static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#getNextForFuzzyRule-boolean-byte:A-byte:A-byte:A-">getNextForFuzzyRule</a></span>(boolean&nbsp;reverse,
                    byte[]&nbsp;row,
                    byte[]&nbsp;fuzzyKeyBytes,
                    byte[]&nbsp;fuzzyKeyMeta)</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>(package private) static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#getNextForFuzzyRule-boolean-byte:A-int-int-byte:A-byte:A-">getNextForFuzzyRule</a></span>(boolean&nbsp;reverse,
                    byte[]&nbsp;row,
@@ -305,39 +309,43 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
                    byte[]&nbsp;fuzzyKeyBytes,
                    byte[]&nbsp;fuzzyKeyMeta)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>(package private) static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#getNextForFuzzyRule-byte:A-byte:A-byte:A-">getNextForFuzzyRule</a></span>(byte[]&nbsp;row,
                    byte[]&nbsp;fuzzyKeyBytes,
                    byte[]&nbsp;fuzzyKeyMeta)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#isPreprocessedMask-byte:A-">isPreprocessedMask</a></span>(byte[]&nbsp;mask)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html" title="class in org.apache.hadoop.hbase.filter">FuzzyRowFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>private byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#preprocessMask-byte:A-">preprocessMask</a></span>(byte[]&nbsp;mask)</code>
 <div class="block">We need to preprocess mask array, as since we treat 2's as unfixed positions and -1 (0xff) as
  fixed positions</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#preprocessSearchKey-org.apache.hadoop.hbase.util.Pair-">preprocessSearchKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[],byte[]&gt;&nbsp;p)</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>(package private) static <a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.SatisfiesCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#satisfies-boolean-byte:A-byte:A-byte:A-">satisfies</a></span>(boolean&nbsp;reverse,
          byte[]&nbsp;row,
          byte[]&nbsp;fuzzyKeyBytes,
          byte[]&nbsp;fuzzyKeyMeta)</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>(package private) static <a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.SatisfiesCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#satisfies-boolean-byte:A-int-int-byte:A-byte:A-">satisfies</a></span>(boolean&nbsp;reverse,
          byte[]&nbsp;row,
@@ -346,13 +354,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
          byte[]&nbsp;fuzzyKeyBytes,
          byte[]&nbsp;fuzzyKeyMeta)</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>(package private) static <a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.SatisfiesCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#satisfies-byte:A-byte:A-byte:A-">satisfies</a></span>(byte[]&nbsp;row,
          byte[]&nbsp;fuzzyKeyBytes,
          byte[]&nbsp;fuzzyKeyMeta)</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>(package private) static <a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.SatisfiesCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#satisfiesNoUnsafe-boolean-byte:A-int-int-byte:A-byte:A-">satisfiesNoUnsafe</a></span>(boolean&nbsp;reverse,
                  byte[]&nbsp;row,
@@ -361,19 +369,19 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
                  byte[]&nbsp;fuzzyKeyBytes,
                  byte[]&nbsp;fuzzyKeyMeta)</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>private static byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#trimTrailingZeroes-byte:A-byte:A-int-">trimTrailingZeroes</a></span>(byte[]&nbsp;result,
                   byte[]&nbsp;fuzzyKeyMeta,
@@ -404,7 +412,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -426,7 +434,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>UNSAFE_UNALIGNED</h4>
-<pre>private static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.62">UNSAFE_UNALIGNED</a></pre>
+<pre>private static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.63">UNSAFE_UNALIGNED</a></pre>
 </li>
 </ul>
 <a name="fuzzyKeysData">
@@ -435,7 +443,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>fuzzyKeysData</h4>
-<pre>private&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="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[],byte[]&gt;&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.63">fuzzyKeysData</a></pre>
+<pre>private&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="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[],byte[]&gt;&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.64">fuzzyKeysData</a></pre>
 </li>
 </ul>
 <a name="done">
@@ -444,7 +452,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>done</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.64">done</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.65">done</a></pre>
 </li>
 </ul>
 <a name="lastFoundIndex">
@@ -453,7 +461,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>lastFoundIndex</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.71">lastFoundIndex</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.72">lastFoundIndex</a></pre>
 <div class="block">The index of a last successfully found matching fuzzy string (in fuzzyKeysData). We will start
  matching next KV with this one. If they do not match then we will return back to the one-by-one
  iteration over fuzzyKeysData.</div>
@@ -465,7 +473,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>tracker</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.RowTracker.html" title="class in org.apache.hadoop.hbase.filter">FuzzyRowFilter.RowTracker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.76">tracker</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.RowTracker.html" title="class in org.apache.hadoop.hbase.filter">FuzzyRowFilter.RowTracker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.77">tracker</a></pre>
 <div class="block">Row tracker (keeps all next rows after SEEK_NEXT_USING_HINT was returned)</div>
 </li>
 </ul>
@@ -483,7 +491,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FuzzyRowFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.78">FuzzyRowFilter</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;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[],byte[]&gt;&gt;&nbsp;fuzzyKeysData)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.79">FuzzyRowFilter</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;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[],byte[]&gt;&gt;&nbsp;fuzzyKeysData)</pre>
 </li>
 </ul>
 </li>
@@ -500,7 +508,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>preprocessSearchKey</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.104">preprocessSearchKey</a>(<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[],byte[]&gt;&nbsp;p)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.105">preprocessSearchKey</a>(<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[],byte[]&gt;&nbsp;p)</pre>
 </li>
 </ul>
 <a name="preprocessMask-byte:A-">
@@ -509,7 +517,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>preprocessMask</h4>
-<pre>private&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.125">preprocessMask</a>(byte[]&nbsp;mask)</pre>
+<pre>private&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.126">preprocessMask</a>(byte[]&nbsp;mask)</pre>
 <div class="block">We need to preprocess mask array, as since we treat 2's as unfixed positions and -1 (0xff) as
  fixed positions</div>
 <dl>
@@ -526,7 +534,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>isPreprocessedMask</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.141">isPreprocessedMask</a>(byte[]&nbsp;mask)</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.142">isPreprocessedMask</a>(byte[]&nbsp;mask)</pre>
 </li>
 </ul>
 <a name="filterKeyValue-org.apache.hadoop.hbase.Cell-">
@@ -536,7 +544,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.152">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.153">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -571,7 +579,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.157">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.158">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -605,7 +613,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>getNextCellHint</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.183">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.184">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">FilterBase</a></code></span></div>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.
@@ -631,7 +639,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterAllRemaining</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.259">filterAllRemaining</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.260">filterAllRemaining</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterAllRemaining--">FilterBase</a></code></span></div>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.
@@ -654,7 +662,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.267">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.268">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toByteArray--">FilterBase</a></code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -671,7 +679,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html" title="class in org.apache.hadoop.hbase.filter">FuzzyRowFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.284">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html" title="class in org.apache.hadoop.hbase.filter">FuzzyRowFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.285">parseFrom</a>(byte[]&nbsp;pbBytes)
                                 throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -691,7 +699,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.303">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.304">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toString--">FilterBase</a></code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -706,7 +714,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>satisfies</h4>
-<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.SatisfiesCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.327">satisfies</a>(byte[]&nbsp;row,
+<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.SatisfiesCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.328">satisfies</a>(byte[]&nbsp;row,
                                               byte[]&nbsp;fuzzyKeyBytes,
                                               byte[]&nbsp;fuzzyKeyMeta)</pre>
 </li>
@@ -717,7 +725,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>satisfies</h4>
-<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.SatisfiesCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.332">satisfies</a>(boolean&nbsp;reverse,
+<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.SatisfiesCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.333">satisfies</a>(boolean&nbsp;reverse,
                                               byte[]&nbsp;row,
                                               byte[]&nbsp;fuzzyKeyBytes,
                                               byte[]&nbsp;fuzzyKeyMeta)</pre>
@@ -729,7 +737,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>satisfies</h4>
-<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.SatisfiesCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.337">satisfies</a>(boolean&nbsp;reverse,
+<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.SatisfiesCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.338">satisfies</a>(boolean&nbsp;reverse,
                                               byte[]&nbsp;row,
                                               int&nbsp;offset,
                                               int&nbsp;length,
@@ -743,7 +751,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>satisfiesNoUnsafe</h4>
-<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.SatisfiesCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.401">satisfiesNoUnsafe</a>(boolean&nbsp;reverse,
+<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.SatisfiesCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.402">satisfiesNoUnsafe</a>(boolean&nbsp;reverse,
                                                       byte[]&nbsp;row,
                                                       int&nbsp;offset,
                                                       int&nbsp;length,
@@ -757,7 +765,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>getNextForFuzzyRule</h4>
-<pre>static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.448">getNextForFuzzyRule</a>(byte[]&nbsp;row,
+<pre>static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.449">getNextForFuzzyRule</a>(byte[]&nbsp;row,
                                   byte[]&nbsp;fuzzyKeyBytes,
                                   byte[]&nbsp;fuzzyKeyMeta)</pre>
 </li>
@@ -768,7 +776,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>getNextForFuzzyRule</h4>
-<pre>static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.453">getNextForFuzzyRule</a>(boolean&nbsp;reverse,
+<pre>static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.454">getNextForFuzzyRule</a>(boolean&nbsp;reverse,
                                   byte[]&nbsp;row,
                                   byte[]&nbsp;fuzzyKeyBytes,
                                   byte[]&nbsp;fuzzyKeyMeta)</pre>
@@ -780,7 +788,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>getNextForFuzzyRule</h4>
-<pre>static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.540">getNextForFuzzyRule</a>(boolean&nbsp;reverse,
+<pre>static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.541">getNextForFuzzyRule</a>(boolean&nbsp;reverse,
                                   byte[]&nbsp;row,
                                   int&nbsp;offset,
                                   int&nbsp;length,
@@ -799,7 +807,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>trimTrailingZeroes</h4>
-<pre>private static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.616">trimTrailingZeroes</a>(byte[]&nbsp;result,
+<pre>private static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.617">trimTrailingZeroes</a>(byte[]&nbsp;result,
                                          byte[]&nbsp;fuzzyKeyMeta,
                                          int&nbsp;toInc)</pre>
 <div class="block">For forward scanner, next cell hint should  not contain any trailing zeroes
@@ -819,10 +827,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>areSerializedFieldsEqual</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.633">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.634">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">FilterBase</a></code></span></div>
 <div class="block">Default implementation so that writers of custom filters aren't forced to implement.</div>
 <dl>
@@ -834,6 +842,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.652">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.661">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html b/devapidocs/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html
index 54d51ee..b607ceb 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":42,"i5":10,"i6":10,"i7":9,"i8":10,"i9":10};
+var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":10,"i5":42,"i6":10,"i7":10,"i8":10,"i9":9,"i10":10,"i11":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.42">InclusiveStopFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.43">InclusiveStopFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></pre>
 <div class="block">A Filter that stops after the given row.  There is no "RowStopFilter" because
  the Scan spec allows you to specify a stop row.
@@ -218,44 +218,52 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#filterAllRemaining--">filterAllRemaining</a></span>()</code>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#getStopRowKey--">getStopRowKey</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html" title="class in org.apache.hadoop.hbase.filter">InclusiveStopFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
@@ -281,7 +289,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -303,7 +311,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>stopRowKey</h4>
-<pre>private&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.43">stopRowKey</a></pre>
+<pre>private&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.44">stopRowKey</a></pre>
 </li>
 </ul>
 <a name="done">
@@ -312,7 +320,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>done</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.44">done</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.45">done</a></pre>
 </li>
 </ul>
 </li>
@@ -329,7 +337,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>InclusiveStopFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.46">InclusiveStopFilter</a>(byte[]&nbsp;stopRowKey)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.47">InclusiveStopFilter</a>(byte[]&nbsp;stopRowKey)</pre>
 </li>
 </ul>
 </li>
@@ -346,7 +354,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getStopRowKey</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.50">getStopRowKey</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.51">getStopRowKey</a>()</pre>
 </li>
 </ul>
 <a name="filterKeyValue-org.apache.hadoop.hbase.Cell-">
@@ -356,7 +364,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.56">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.57">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -391,7 +399,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.61">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.62">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -425,7 +433,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.67">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.68">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
  false, each KeyValue in the row will be passed to <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-"><code>Filter.filterCell(Cell)</code></a> below.
@@ -450,7 +458,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterAllRemaining</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.76">filterAllRemaining</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.77">filterAllRemaining</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterAllRemaining--">FilterBase</a></code></span></div>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.
@@ -473,7 +481,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.80">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.81">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -482,7 +490,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.91">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.92">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toByteArray--">FilterBase</a></code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -499,7 +507,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html" title="class in org.apache.hadoop.hbase.filter">InclusiveStopFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.105">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html" title="class in org.apache.hadoop.hbase.filter">InclusiveStopFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.106">parseFrom</a>(byte[]&nbsp;pbBytes)
                                      throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -519,7 +527,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>areSerializedFieldsEqual</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.122">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.123">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">FilterBase</a></code></span></div>
 <div class="block">Default implementation so that writers of custom filters aren't forced to implement.</div>
 <dl>
@@ -536,10 +544,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.131">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.132">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toString--">FilterBase</a></code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -548,6 +556,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.137">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.146">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>


[34/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html
index d66ef6c..d9cda57 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html
@@ -29,632 +29,647 @@
 <span class="sourceLineNo">021</span>import java.util.Arrays;<a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.util.Comparator;<a name="line.22"></a>
 <span class="sourceLineNo">023</span>import java.util.List;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.util.PriorityQueue;<a name="line.24"></a>
-<span class="sourceLineNo">025</span><a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.Cell;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.BytesBytesPair;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.util.UnsafeAccess;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.util.UnsafeAvailChecker;<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<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> * This is optimized version of a standard FuzzyRowFilter Filters data based on fuzzy row key.<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * Performs fast-forwards during scanning. It takes pairs (row key, fuzzy info) to match row keys.<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * Where fuzzy info is a byte array with 0 or 1 as its values:<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * &lt;ul&gt;<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * &lt;li&gt;0 - means that this byte in provided row key is fixed, i.e. row key's byte at same position<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * must match&lt;/li&gt;<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * &lt;li&gt;1 - means that this byte in provided row key is NOT fixed, i.e. row key's byte at this<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * position can be different from the one in provided row key&lt;/li&gt;<a name="line.50"></a>
-<span class="sourceLineNo">051</span> * &lt;/ul&gt;<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * Example: Let's assume row key format is userId_actionId_year_month. Length of userId is fixed and<a name="line.52"></a>
-<span class="sourceLineNo">053</span> * is 4, length of actionId is 2 and year and month are 4 and 2 bytes long respectively. Let's<a name="line.53"></a>
-<span class="sourceLineNo">054</span> * assume that we need to fetch all users that performed certain action (encoded as "99") in Jan of<a name="line.54"></a>
-<span class="sourceLineNo">055</span> * any year. Then the pair (row key, fuzzy info) would be the following: row key = "????_99_????_01"<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * (one can use any value instead of "?") fuzzy info =<a name="line.56"></a>
-<span class="sourceLineNo">057</span> * "\x01\x01\x01\x01\x00\x00\x00\x00\x01\x01\x01\x01\x00\x00\x00" I.e. fuzzy info tells the matching<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * mask is "????_99_????_01", where at ? can be any value.<a name="line.58"></a>
-<span class="sourceLineNo">059</span> */<a name="line.59"></a>
-<span class="sourceLineNo">060</span>@InterfaceAudience.Public<a name="line.60"></a>
-<span class="sourceLineNo">061</span>public class FuzzyRowFilter extends FilterBase {<a name="line.61"></a>
-<span class="sourceLineNo">062</span>  private static final boolean UNSAFE_UNALIGNED = UnsafeAvailChecker.unaligned();<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  private List&lt;Pair&lt;byte[], byte[]&gt;&gt; fuzzyKeysData;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  private boolean done = false;<a name="line.64"></a>
-<span class="sourceLineNo">065</span><a name="line.65"></a>
-<span class="sourceLineNo">066</span>  /**<a name="line.66"></a>
-<span class="sourceLineNo">067</span>   * The index of a last successfully found matching fuzzy string (in fuzzyKeysData). We will start<a name="line.67"></a>
-<span class="sourceLineNo">068</span>   * matching next KV with this one. If they do not match then we will return back to the one-by-one<a name="line.68"></a>
-<span class="sourceLineNo">069</span>   * iteration over fuzzyKeysData.<a name="line.69"></a>
-<span class="sourceLineNo">070</span>   */<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  private int lastFoundIndex = -1;<a name="line.71"></a>
-<span class="sourceLineNo">072</span><a name="line.72"></a>
-<span class="sourceLineNo">073</span>  /**<a name="line.73"></a>
-<span class="sourceLineNo">074</span>   * Row tracker (keeps all next rows after SEEK_NEXT_USING_HINT was returned)<a name="line.74"></a>
-<span class="sourceLineNo">075</span>   */<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  private RowTracker tracker;<a name="line.76"></a>
-<span class="sourceLineNo">077</span><a name="line.77"></a>
-<span class="sourceLineNo">078</span>  public FuzzyRowFilter(List&lt;Pair&lt;byte[], byte[]&gt;&gt; fuzzyKeysData) {<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    List&lt;Pair&lt;byte[], byte[]&gt;&gt; fuzzyKeyDataCopy = new ArrayList&lt;&gt;(fuzzyKeysData.size());<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>    for (Pair&lt;byte[], byte[]&gt; aFuzzyKeysData : fuzzyKeysData) {<a name="line.81"></a>
-<span class="sourceLineNo">082</span>      if (aFuzzyKeysData.getFirst().length != aFuzzyKeysData.getSecond().length) {<a name="line.82"></a>
-<span class="sourceLineNo">083</span>        Pair&lt;String, String&gt; readable =<a name="line.83"></a>
-<span class="sourceLineNo">084</span>          new Pair&lt;&gt;(Bytes.toStringBinary(aFuzzyKeysData.getFirst()), Bytes.toStringBinary(aFuzzyKeysData.getSecond()));<a name="line.84"></a>
-<span class="sourceLineNo">085</span>        throw new IllegalArgumentException("Fuzzy pair lengths do not match: " + readable);<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>      Pair&lt;byte[], byte[]&gt; p = new Pair&lt;&gt;();<a name="line.88"></a>
-<span class="sourceLineNo">089</span>      // create a copy of pair bytes so that they are not modified by the filter.<a name="line.89"></a>
-<span class="sourceLineNo">090</span>      p.setFirst(Arrays.copyOf(aFuzzyKeysData.getFirst(), aFuzzyKeysData.getFirst().length));<a name="line.90"></a>
-<span class="sourceLineNo">091</span>      p.setSecond(Arrays.copyOf(aFuzzyKeysData.getSecond(), aFuzzyKeysData.getSecond().length));<a name="line.91"></a>
-<span class="sourceLineNo">092</span><a name="line.92"></a>
-<span class="sourceLineNo">093</span>      // update mask ( 0 -&gt; -1 (0xff), 1 -&gt; 2)<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      p.setSecond(preprocessMask(p.getSecond()));<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      preprocessSearchKey(p);<a name="line.95"></a>
-<span class="sourceLineNo">096</span><a name="line.96"></a>
-<span class="sourceLineNo">097</span>      fuzzyKeyDataCopy.add(p);<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    }<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    this.fuzzyKeysData = fuzzyKeyDataCopy;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    this.tracker = new RowTracker();<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  }<a name="line.101"></a>
-<span class="sourceLineNo">102</span><a name="line.102"></a>
+<span class="sourceLineNo">024</span>import java.util.Objects;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.util.PriorityQueue;<a name="line.25"></a>
+<span class="sourceLineNo">026</span><a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.Cell;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.BytesBytesPair;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.util.UnsafeAccess;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.util.UnsafeAvailChecker;<a name="line.39"></a>
+<span class="sourceLineNo">040</span><a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting;<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> * This is optimized version of a standard FuzzyRowFilter Filters data based on fuzzy row key.<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * Performs fast-forwards during scanning. It takes pairs (row key, fuzzy info) to match row keys.<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * Where fuzzy info is a byte array with 0 or 1 as its values:<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * &lt;ul&gt;<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * &lt;li&gt;0 - means that this byte in provided row key is fixed, i.e. row key's byte at same position<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * must match&lt;/li&gt;<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * &lt;li&gt;1 - means that this byte in provided row key is NOT fixed, i.e. row key's byte at this<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * position can be different from the one in provided row key&lt;/li&gt;<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * &lt;/ul&gt;<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * Example: Let's assume row key format is userId_actionId_year_month. Length of userId is fixed and<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * is 4, length of actionId is 2 and year and month are 4 and 2 bytes long respectively. Let's<a name="line.54"></a>
+<span class="sourceLineNo">055</span> * assume that we need to fetch all users that performed certain action (encoded as "99") in Jan of<a name="line.55"></a>
+<span class="sourceLineNo">056</span> * any year. Then the pair (row key, fuzzy info) would be the following: row key = "????_99_????_01"<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * (one can use any value instead of "?") fuzzy info =<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * "\x01\x01\x01\x01\x00\x00\x00\x00\x01\x01\x01\x01\x00\x00\x00" I.e. fuzzy info tells the matching<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * mask is "????_99_????_01", where at ? can be any value.<a name="line.59"></a>
+<span class="sourceLineNo">060</span> */<a name="line.60"></a>
+<span class="sourceLineNo">061</span>@InterfaceAudience.Public<a name="line.61"></a>
+<span class="sourceLineNo">062</span>public class FuzzyRowFilter extends FilterBase {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  private static final boolean UNSAFE_UNALIGNED = UnsafeAvailChecker.unaligned();<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  private List&lt;Pair&lt;byte[], byte[]&gt;&gt; fuzzyKeysData;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>  private boolean done = false;<a name="line.65"></a>
+<span class="sourceLineNo">066</span><a name="line.66"></a>
+<span class="sourceLineNo">067</span>  /**<a name="line.67"></a>
+<span class="sourceLineNo">068</span>   * The index of a last successfully found matching fuzzy string (in fuzzyKeysData). We will start<a name="line.68"></a>
+<span class="sourceLineNo">069</span>   * matching next KV with this one. If they do not match then we will return back to the one-by-one<a name="line.69"></a>
+<span class="sourceLineNo">070</span>   * iteration over fuzzyKeysData.<a name="line.70"></a>
+<span class="sourceLineNo">071</span>   */<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  private int lastFoundIndex = -1;<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>   * Row tracker (keeps all next rows after SEEK_NEXT_USING_HINT was returned)<a name="line.75"></a>
+<span class="sourceLineNo">076</span>   */<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  private RowTracker tracker;<a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78"></a>
+<span class="sourceLineNo">079</span>  public FuzzyRowFilter(List&lt;Pair&lt;byte[], byte[]&gt;&gt; fuzzyKeysData) {<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    List&lt;Pair&lt;byte[], byte[]&gt;&gt; fuzzyKeyDataCopy = new ArrayList&lt;&gt;(fuzzyKeysData.size());<a name="line.80"></a>
+<span class="sourceLineNo">081</span><a name="line.81"></a>
+<span class="sourceLineNo">082</span>    for (Pair&lt;byte[], byte[]&gt; aFuzzyKeysData : fuzzyKeysData) {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>      if (aFuzzyKeysData.getFirst().length != aFuzzyKeysData.getSecond().length) {<a name="line.83"></a>
+<span class="sourceLineNo">084</span>        Pair&lt;String, String&gt; readable =<a name="line.84"></a>
+<span class="sourceLineNo">085</span>          new Pair&lt;&gt;(Bytes.toStringBinary(aFuzzyKeysData.getFirst()), Bytes.toStringBinary(aFuzzyKeysData.getSecond()));<a name="line.85"></a>
+<span class="sourceLineNo">086</span>        throw new IllegalArgumentException("Fuzzy pair lengths do not match: " + readable);<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>      Pair&lt;byte[], byte[]&gt; p = new Pair&lt;&gt;();<a name="line.89"></a>
+<span class="sourceLineNo">090</span>      // create a copy of pair bytes so that they are not modified by the filter.<a name="line.90"></a>
+<span class="sourceLineNo">091</span>      p.setFirst(Arrays.copyOf(aFuzzyKeysData.getFirst(), aFuzzyKeysData.getFirst().length));<a name="line.91"></a>
+<span class="sourceLineNo">092</span>      p.setSecond(Arrays.copyOf(aFuzzyKeysData.getSecond(), aFuzzyKeysData.getSecond().length));<a name="line.92"></a>
+<span class="sourceLineNo">093</span><a name="line.93"></a>
+<span class="sourceLineNo">094</span>      // update mask ( 0 -&gt; -1 (0xff), 1 -&gt; 2)<a name="line.94"></a>
+<span class="sourceLineNo">095</span>      p.setSecond(preprocessMask(p.getSecond()));<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      preprocessSearchKey(p);<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>      fuzzyKeyDataCopy.add(p);<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    }<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    this.fuzzyKeysData = fuzzyKeyDataCopy;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    this.tracker = new RowTracker();<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  }<a name="line.102"></a>
 <span class="sourceLineNo">103</span><a name="line.103"></a>
-<span class="sourceLineNo">104</span>  private void preprocessSearchKey(Pair&lt;byte[], byte[]&gt; p) {<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    if (!UNSAFE_UNALIGNED) {<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      // do nothing<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      return;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    }<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    byte[] key = p.getFirst();<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    byte[] mask = p.getSecond();<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    for (int i = 0; i &lt; mask.length; i++) {<a name="line.111"></a>
-<span class="sourceLineNo">112</span>      // set non-fixed part of a search key to 0.<a name="line.112"></a>
-<span class="sourceLineNo">113</span>      if (mask[i] == 2) {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>        key[i] = 0;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      }<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    }<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
-<span class="sourceLineNo">118</span><a name="line.118"></a>
-<span class="sourceLineNo">119</span>  /**<a name="line.119"></a>
-<span class="sourceLineNo">120</span>   * We need to preprocess mask array, as since we treat 2's as unfixed positions and -1 (0xff) as<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   * fixed positions<a name="line.121"></a>
-<span class="sourceLineNo">122</span>   * @param mask<a name="line.122"></a>
-<span class="sourceLineNo">123</span>   * @return mask array<a name="line.123"></a>
-<span class="sourceLineNo">124</span>   */<a name="line.124"></a>
-<span class="sourceLineNo">125</span>  private byte[] preprocessMask(byte[] mask) {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    if (!UNSAFE_UNALIGNED) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      // do nothing<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      return mask;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    }<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    if (isPreprocessedMask(mask)) return mask;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    for (int i = 0; i &lt; mask.length; i++) {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      if (mask[i] == 0) {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>        mask[i] = -1; // 0 -&gt; -1<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      } else if (mask[i] == 1) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>        mask[i] = 2;// 1 -&gt; 2<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>    return mask;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  }<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>  private boolean isPreprocessedMask(byte[] mask) {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    for (int i = 0; i &lt; mask.length; i++) {<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      if (mask[i] != -1 &amp;&amp; mask[i] != 2) {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>        return false;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      }<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    }<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    return true;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  }<a name="line.148"></a>
-<span class="sourceLineNo">149</span><a name="line.149"></a>
-<span class="sourceLineNo">150</span>  @Deprecated<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  @Override<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    return filterCell(c);<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  }<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>  @Override<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  public ReturnCode filterCell(final Cell c) {<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    final int startIndex = lastFoundIndex &gt;= 0 ? lastFoundIndex : 0;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    final int size = fuzzyKeysData.size();<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    for (int i = startIndex; i &lt; size + startIndex; i++) {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      final int index = i % size;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>      Pair&lt;byte[], byte[]&gt; fuzzyData = fuzzyKeysData.get(index);<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      // This shift is idempotent - always end up with 0 and -1 as mask values.<a name="line.163"></a>
-<span class="sourceLineNo">164</span>      for (int j = 0; j &lt; fuzzyData.getSecond().length; j++) {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        fuzzyData.getSecond()[j] &gt;&gt;= 2;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      }<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      SatisfiesCode satisfiesCode =<a name="line.167"></a>
-<span class="sourceLineNo">168</span>          satisfies(isReversed(), c.getRowArray(), c.getRowOffset(), c.getRowLength(),<a name="line.168"></a>
-<span class="sourceLineNo">169</span>            fuzzyData.getFirst(), fuzzyData.getSecond());<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      if (satisfiesCode == SatisfiesCode.YES) {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        lastFoundIndex = index;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>        return ReturnCode.INCLUDE;<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>    // NOT FOUND -&gt; seek next using hint<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    lastFoundIndex = -1;<a name="line.176"></a>
-<span class="sourceLineNo">177</span><a name="line.177"></a>
-<span class="sourceLineNo">178</span>    return ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span>  }<a name="line.180"></a>
-<span class="sourceLineNo">181</span><a name="line.181"></a>
-<span class="sourceLineNo">182</span>  @Override<a name="line.182"></a>
-<span class="sourceLineNo">183</span>  public Cell getNextCellHint(Cell currentCell) {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    boolean result = tracker.updateTracker(currentCell);<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    if (result == false) {<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      done = true;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      return null;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    }<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    byte[] nextRowKey = tracker.nextRow();<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    return PrivateCellUtil.createFirstOnRow(nextRowKey, 0, (short) nextRowKey.length);<a name="line.190"></a>
-<span class="sourceLineNo">191</span>  }<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span>  /**<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   * If we have multiple fuzzy keys, row tracker should improve overall performance. It calculates<a name="line.194"></a>
-<span class="sourceLineNo">195</span>   * all next rows (one per every fuzzy key) and put them (the fuzzy key is bundled) into a priority<a name="line.195"></a>
-<span class="sourceLineNo">196</span>   * queue so that the smallest row key always appears at queue head, which helps to decide the<a name="line.196"></a>
-<span class="sourceLineNo">197</span>   * "Next Cell Hint". As scanning going on, the number of candidate rows in the RowTracker will<a name="line.197"></a>
-<span class="sourceLineNo">198</span>   * remain the size of fuzzy keys until some of the fuzzy keys won't possibly have matches any<a name="line.198"></a>
-<span class="sourceLineNo">199</span>   * more.<a name="line.199"></a>
-<span class="sourceLineNo">200</span>   */<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  private class RowTracker {<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    private final PriorityQueue&lt;Pair&lt;byte[], Pair&lt;byte[], byte[]&gt;&gt;&gt; nextRows;<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    private boolean initialized = false;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>    RowTracker() {<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      nextRows = new PriorityQueue&lt;&gt;(fuzzyKeysData.size(),<a name="line.206"></a>
-<span class="sourceLineNo">207</span>              new Comparator&lt;Pair&lt;byte[], Pair&lt;byte[], byte[]&gt;&gt;&gt;() {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>                @Override<a name="line.208"></a>
-<span class="sourceLineNo">209</span>                public int compare(Pair&lt;byte[], Pair&lt;byte[], byte[]&gt;&gt; o1,<a name="line.209"></a>
-<span class="sourceLineNo">210</span>                    Pair&lt;byte[], Pair&lt;byte[], byte[]&gt;&gt; o2) {<a name="line.210"></a>
-<span class="sourceLineNo">211</span>                  return isReversed()? Bytes.compareTo(o2.getFirst(), o1.getFirst()):<a name="line.211"></a>
-<span class="sourceLineNo">212</span>                    Bytes.compareTo(o1.getFirst(), o2.getFirst());<a name="line.212"></a>
-<span class="sourceLineNo">213</span>                }<a name="line.213"></a>
-<span class="sourceLineNo">214</span>              });<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    }<a name="line.215"></a>
-<span class="sourceLineNo">216</span><a name="line.216"></a>
-<span class="sourceLineNo">217</span>    byte[] nextRow() {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      if (nextRows.isEmpty()) {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>        throw new IllegalStateException(<a name="line.219"></a>
-<span class="sourceLineNo">220</span>            "NextRows should not be empty, make sure to call nextRow() after updateTracker() return true");<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      } else {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>        return nextRows.peek().getFirst();<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      }<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>    boolean updateTracker(Cell currentCell) {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      if (!initialized) {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        for (Pair&lt;byte[], byte[]&gt; fuzzyData : fuzzyKeysData) {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>          updateWith(currentCell, fuzzyData);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        }<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        initialized = true;<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      } else {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>        while (!nextRows.isEmpty() &amp;&amp; !lessThan(currentCell, nextRows.peek().getFirst())) {<a name="line.233"></a>
-<span class="sourceLineNo">234</span>          Pair&lt;byte[], Pair&lt;byte[], byte[]&gt;&gt; head = nextRows.poll();<a name="line.234"></a>
-<span class="sourceLineNo">235</span>          Pair&lt;byte[], byte[]&gt; fuzzyData = head.getSecond();<a name="line.235"></a>
-<span class="sourceLineNo">236</span>          updateWith(currentCell, fuzzyData);<a name="line.236"></a>
-<span class="sourceLineNo">237</span>        }<a name="line.237"></a>
-<span class="sourceLineNo">238</span>      }<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      return !nextRows.isEmpty();<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    }<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>    boolean lessThan(Cell currentCell, byte[] nextRowKey) {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>      int compareResult = CellComparator.getInstance().compareRows(currentCell, nextRowKey, 0, nextRowKey.length);<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      return (!isReversed() &amp;&amp; compareResult &lt; 0) || (isReversed() &amp;&amp; compareResult &gt; 0);<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    }<a name="line.245"></a>
-<span class="sourceLineNo">246</span><a name="line.246"></a>
-<span class="sourceLineNo">247</span>    void updateWith(Cell currentCell, Pair&lt;byte[], byte[]&gt; fuzzyData) {<a name="line.247"></a>
-<span class="sourceLineNo">248</span>      byte[] nextRowKeyCandidate =<a name="line.248"></a>
-<span class="sourceLineNo">249</span>          getNextForFuzzyRule(isReversed(), currentCell.getRowArray(), currentCell.getRowOffset(),<a name="line.249"></a>
-<span class="sourceLineNo">250</span>            currentCell.getRowLength(), fuzzyData.getFirst(), fuzzyData.getSecond());<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      if (nextRowKeyCandidate != null) {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>        nextRows.add(new Pair&lt;&gt;(nextRowKeyCandidate, fuzzyData));<a name="line.252"></a>
-<span class="sourceLineNo">253</span>      }<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    }<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>  }<a name="line.256"></a>
-<span class="sourceLineNo">257</span><a name="line.257"></a>
-<span class="sourceLineNo">258</span>  @Override<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  public boolean filterAllRemaining() {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    return done;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  /**<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   * @return The filter serialized using pb<a name="line.264"></a>
-<span class="sourceLineNo">265</span>   */<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  @Override<a name="line.266"></a>
-<span class="sourceLineNo">267</span>  public byte[] toByteArray() {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    FilterProtos.FuzzyRowFilter.Builder builder = FilterProtos.FuzzyRowFilter.newBuilder();<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    for (Pair&lt;byte[], byte[]&gt; fuzzyData : fuzzyKeysData) {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      BytesBytesPair.Builder bbpBuilder = BytesBytesPair.newBuilder();<a name="line.270"></a>
-<span class="sourceLineNo">271</span>      bbpBuilder.setFirst(UnsafeByteOperations.unsafeWrap(fuzzyData.getFirst()));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      bbpBuilder.setSecond(UnsafeByteOperations.unsafeWrap(fuzzyData.getSecond()));<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      builder.addFuzzyKeysData(bbpBuilder);<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    }<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    return builder.build().toByteArray();<a name="line.275"></a>
-<span class="sourceLineNo">276</span>  }<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span>  /**<a name="line.278"></a>
-<span class="sourceLineNo">279</span>   * @param pbBytes A pb serialized {@link FuzzyRowFilter} instance<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   * @return An instance of {@link FuzzyRowFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   * @throws DeserializationException<a name="line.281"></a>
-<span class="sourceLineNo">282</span>   * @see #toByteArray<a name="line.282"></a>
-<span class="sourceLineNo">283</span>   */<a name="line.283"></a>
-<span class="sourceLineNo">284</span>  public static FuzzyRowFilter parseFrom(final byte[] pbBytes) throws DeserializationException {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    FilterProtos.FuzzyRowFilter proto;<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    try {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>      proto = FilterProtos.FuzzyRowFilter.parseFrom(pbBytes);<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    } catch (InvalidProtocolBufferException e) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      throw new DeserializationException(e);<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    }<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    int count = proto.getFuzzyKeysDataCount();<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    ArrayList&lt;Pair&lt;byte[], byte[]&gt;&gt; fuzzyKeysData = new ArrayList&lt;&gt;(count);<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    for (int i = 0; i &lt; count; ++i) {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      BytesBytesPair current = proto.getFuzzyKeysData(i);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>      byte[] keyBytes = current.getFirst().toByteArray();<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      byte[] keyMeta = current.getSecond().toByteArray();<a name="line.296"></a>
-<span class="sourceLineNo">297</span>      fuzzyKeysData.add(new Pair&lt;&gt;(keyBytes, keyMeta));<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    return new FuzzyRowFilter(fuzzyKeysData);<a name="line.299"></a>
-<span class="sourceLineNo">300</span>  }<a name="line.300"></a>
-<span class="sourceLineNo">301</span><a name="line.301"></a>
-<span class="sourceLineNo">302</span>  @Override<a name="line.302"></a>
-<span class="sourceLineNo">303</span>  public String toString() {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    final StringBuilder sb = new StringBuilder();<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    sb.append("FuzzyRowFilter");<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    sb.append("{fuzzyKeysData=");<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    for (Pair&lt;byte[], byte[]&gt; fuzzyData : fuzzyKeysData) {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      sb.append('{').append(Bytes.toStringBinary(fuzzyData.getFirst())).append(":");<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      sb.append(Bytes.toStringBinary(fuzzyData.getSecond())).append('}');<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    }<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    sb.append("}, ");<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    return sb.toString();<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  }<a name="line.313"></a>
-<span class="sourceLineNo">314</span><a name="line.314"></a>
-<span class="sourceLineNo">315</span>  // Utility methods<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>  static enum SatisfiesCode {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    /** row satisfies fuzzy rule */<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    YES,<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    /** row doesn't satisfy fuzzy rule, but there's possible greater row that does */<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    NEXT_EXISTS,<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    /** row doesn't satisfy fuzzy rule and there's no greater row that does */<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    NO_NEXT<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  }<a name="line.324"></a>
-<span class="sourceLineNo">325</span><a name="line.325"></a>
-<span class="sourceLineNo">326</span>  @VisibleForTesting<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  static SatisfiesCode satisfies(byte[] row, byte[] fuzzyKeyBytes, byte[] fuzzyKeyMeta) {<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    return satisfies(false, row, 0, row.length, fuzzyKeyBytes, fuzzyKeyMeta);<a name="line.328"></a>
-<span class="sourceLineNo">329</span>  }<a name="line.329"></a>
-<span class="sourceLineNo">330</span><a name="line.330"></a>
-<span class="sourceLineNo">331</span>  @VisibleForTesting<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  static SatisfiesCode satisfies(boolean reverse, byte[] row, byte[] fuzzyKeyBytes,<a name="line.332"></a>
-<span class="sourceLineNo">333</span>      byte[] fuzzyKeyMeta) {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    return satisfies(reverse, row, 0, row.length, fuzzyKeyBytes, fuzzyKeyMeta);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>  }<a name="line.335"></a>
-<span class="sourceLineNo">336</span><a name="line.336"></a>
-<span class="sourceLineNo">337</span>  static SatisfiesCode satisfies(boolean reverse, byte[] row, int offset, int length,<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      byte[] fuzzyKeyBytes, byte[] fuzzyKeyMeta) {<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>    if (!UNSAFE_UNALIGNED) {<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      return satisfiesNoUnsafe(reverse, row, offset, length, fuzzyKeyBytes, fuzzyKeyMeta);<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    }<a name="line.342"></a>
-<span class="sourceLineNo">343</span><a name="line.343"></a>
-<span class="sourceLineNo">344</span>    if (row == null) {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      // do nothing, let scan to proceed<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      return SatisfiesCode.YES;<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    }<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    length = Math.min(length, fuzzyKeyBytes.length);<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    int numWords = length / Bytes.SIZEOF_LONG;<a name="line.349"></a>
-<span class="sourceLineNo">350</span><a name="line.350"></a>
-<span class="sourceLineNo">351</span>    int j = numWords &lt;&lt; 3; // numWords * SIZEOF_LONG;<a name="line.351"></a>
-<span class="sourceLineNo">352</span><a name="line.352"></a>
-<span class="sourceLineNo">353</span>    for (int i = 0; i &lt; j; i += Bytes.SIZEOF_LONG) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      long fuzzyBytes = UnsafeAccess.toLong(fuzzyKeyBytes, i);<a name="line.354"></a>
-<span class="sourceLineNo">355</span>      long fuzzyMeta = UnsafeAccess.toLong(fuzzyKeyMeta, i);<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      long rowValue = UnsafeAccess.toLong(row, offset + i);<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      if ((rowValue &amp; fuzzyMeta) != (fuzzyBytes)) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>        // We always return NEXT_EXISTS<a name="line.358"></a>
-<span class="sourceLineNo">359</span>        return SatisfiesCode.NEXT_EXISTS;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      }<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>    int off = j;<a name="line.363"></a>
-<span class="sourceLineNo">364</span><a name="line.364"></a>
-<span class="sourceLineNo">365</span>    if (length - off &gt;= Bytes.SIZEOF_INT) {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>      int fuzzyBytes = UnsafeAccess.toInt(fuzzyKeyBytes, off);<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      int fuzzyMeta = UnsafeAccess.toInt(fuzzyKeyMeta, off);<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      int rowValue = UnsafeAccess.toInt(row, offset + off);<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      if ((rowValue &amp; fuzzyMeta) != (fuzzyBytes)) {<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        // We always return NEXT_EXISTS<a name="line.370"></a>
-<span class="sourceLineNo">371</span>        return SatisfiesCode.NEXT_EXISTS;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>      }<a name="line.372"></a>
-<span class="sourceLineNo">373</span>      off += Bytes.SIZEOF_INT;<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    }<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>    if (length - off &gt;= Bytes.SIZEOF_SHORT) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      short fuzzyBytes = UnsafeAccess.toShort(fuzzyKeyBytes, off);<a name="line.377"></a>
-<span class="sourceLineNo">378</span>      short fuzzyMeta = UnsafeAccess.toShort(fuzzyKeyMeta, off);<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      short rowValue = UnsafeAccess.toShort(row, offset + off);<a name="line.379"></a>
-<span class="sourceLineNo">380</span>      if ((rowValue &amp; fuzzyMeta) != (fuzzyBytes)) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>        // We always return NEXT_EXISTS<a name="line.381"></a>
-<span class="sourceLineNo">382</span>        // even if it does not (in this case getNextForFuzzyRule<a name="line.382"></a>
-<span class="sourceLineNo">383</span>        // will return null)<a name="line.383"></a>
-<span class="sourceLineNo">384</span>        return SatisfiesCode.NEXT_EXISTS;<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      }<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      off += Bytes.SIZEOF_SHORT;<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    }<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>    if (length - off &gt;= Bytes.SIZEOF_BYTE) {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      int fuzzyBytes = fuzzyKeyBytes[off] &amp; 0xff;<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      int fuzzyMeta = fuzzyKeyMeta[off] &amp; 0xff;<a name="line.391"></a>
-<span class="sourceLineNo">392</span>      int rowValue = row[offset + off] &amp; 0xff;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>      if ((rowValue &amp; fuzzyMeta) != (fuzzyBytes)) {<a name="line.393"></a>
-<span class="sourceLineNo">394</span>        // We always return NEXT_EXISTS<a name="line.394"></a>
-<span class="sourceLineNo">395</span>        return SatisfiesCode.NEXT_EXISTS;<a name="line.395"></a>
-<span class="sourceLineNo">396</span>      }<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    }<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    return SatisfiesCode.YES;<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  }<a name="line.399"></a>
-<span class="sourceLineNo">400</span><a name="line.400"></a>
-<span class="sourceLineNo">401</span>  static SatisfiesCode satisfiesNoUnsafe(boolean reverse, byte[] row, int offset, int length,<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      byte[] fuzzyKeyBytes, byte[] fuzzyKeyMeta) {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    if (row == null) {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      // do nothing, let scan to proceed<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      return SatisfiesCode.YES;<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    }<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>    Order order = Order.orderFor(reverse);<a name="line.408"></a>
-<span class="sourceLineNo">409</span>    boolean nextRowKeyCandidateExists = false;<a name="line.409"></a>
-<span class="sourceLineNo">410</span><a name="line.410"></a>
-<span class="sourceLineNo">411</span>    for (int i = 0; i &lt; fuzzyKeyMeta.length &amp;&amp; i &lt; length; i++) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      // First, checking if this position is fixed and not equals the given one<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      boolean byteAtPositionFixed = fuzzyKeyMeta[i] == 0;<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      boolean fixedByteIncorrect = byteAtPositionFixed &amp;&amp; fuzzyKeyBytes[i] != row[i + offset];<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      if (fixedByteIncorrect) {<a name="line.415"></a>
-<span class="sourceLineNo">416</span>        // in this case there's another row that satisfies fuzzy rule and bigger than this row<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        if (nextRowKeyCandidateExists) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>          return SatisfiesCode.NEXT_EXISTS;<a name="line.418"></a>
-<span class="sourceLineNo">419</span>        }<a name="line.419"></a>
-<span class="sourceLineNo">420</span><a name="line.420"></a>
-<span class="sourceLineNo">421</span>        // If this row byte is less than fixed then there's a byte array bigger than<a name="line.421"></a>
-<span class="sourceLineNo">422</span>        // this row and which satisfies the fuzzy rule. Otherwise there's no such byte array:<a name="line.422"></a>
-<span class="sourceLineNo">423</span>        // this row is simply bigger than any byte array that satisfies the fuzzy rule<a name="line.423"></a>
-<span class="sourceLineNo">424</span>        boolean rowByteLessThanFixed = (row[i + offset] &amp; 0xFF) &lt; (fuzzyKeyBytes[i] &amp; 0xFF);<a name="line.424"></a>
-<span class="sourceLineNo">425</span>        if (rowByteLessThanFixed &amp;&amp; !reverse) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span>          return SatisfiesCode.NEXT_EXISTS;<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        } else if (!rowByteLessThanFixed &amp;&amp; reverse) {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>          return SatisfiesCode.NEXT_EXISTS;<a name="line.428"></a>
-<span class="sourceLineNo">429</span>        } else {<a name="line.429"></a>
-<span class="sourceLineNo">430</span>          return SatisfiesCode.NO_NEXT;<a name="line.430"></a>
-<span class="sourceLineNo">431</span>        }<a name="line.431"></a>
-<span class="sourceLineNo">432</span>      }<a name="line.432"></a>
-<span class="sourceLineNo">433</span><a name="line.433"></a>
-<span class="sourceLineNo">434</span>      // Second, checking if this position is not fixed and byte value is not the biggest. In this<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      // case there's a byte array bigger than this row and which satisfies the fuzzy rule. To get<a name="line.435"></a>
-<span class="sourceLineNo">436</span>      // bigger byte array that satisfies the rule we need to just increase this byte<a name="line.436"></a>
-<span class="sourceLineNo">437</span>      // (see the code of getNextForFuzzyRule below) by one.<a name="line.437"></a>
-<span class="sourceLineNo">438</span>      // Note: if non-fixed byte is already at biggest value, this doesn't allow us to say there's<a name="line.438"></a>
-<span class="sourceLineNo">439</span>      // bigger one that satisfies the rule as it can't be increased.<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      if (fuzzyKeyMeta[i] == 1 &amp;&amp; !order.isMax(fuzzyKeyBytes[i])) {<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        nextRowKeyCandidateExists = true;<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      }<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    }<a name="line.443"></a>
-<span class="sourceLineNo">444</span>    return SatisfiesCode.YES;<a name="line.444"></a>
-<span class="sourceLineNo">445</span>  }<a name="line.445"></a>
-<span class="sourceLineNo">446</span><a name="line.446"></a>
-<span class="sourceLineNo">447</span>  @VisibleForTesting<a name="line.447"></a>
-<span class="sourceLineNo">448</span>  static byte[] getNextForFuzzyRule(byte[] row, byte[] fuzzyKeyBytes, byte[] fuzzyKeyMeta) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    return getNextForFuzzyRule(false, row, 0, row.length, fuzzyKeyBytes, fuzzyKeyMeta);<a name="line.449"></a>
-<span class="sourceLineNo">450</span>  }<a name="line.450"></a>
-<span class="sourceLineNo">451</span><a name="line.451"></a>
-<span class="sourceLineNo">452</span>  @VisibleForTesting<a name="line.452"></a>
-<span class="sourceLineNo">453</span>  static byte[] getNextForFuzzyRule(boolean reverse, byte[] row, byte[] fuzzyKeyBytes,<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      byte[] fuzzyKeyMeta) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    return getNextForFuzzyRule(reverse, row, 0, row.length, fuzzyKeyBytes, fuzzyKeyMeta);<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  }<a name="line.456"></a>
-<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span>  /** Abstracts directional comparisons based on scan direction. */<a name="line.458"></a>
-<span class="sourceLineNo">459</span>  private enum Order {<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    ASC {<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      @Override<a name="line.461"></a>
-<span class="sourceLineNo">462</span>      public boolean lt(int lhs, int rhs) {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>        return lhs &lt; rhs;<a name="line.463"></a>
-<span class="sourceLineNo">464</span>      }<a name="line.464"></a>
-<span class="sourceLineNo">465</span><a name="line.465"></a>
-<span class="sourceLineNo">466</span>      @Override<a name="line.466"></a>
-<span class="sourceLineNo">467</span>      public boolean gt(int lhs, int rhs) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>        return lhs &gt; rhs;<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      }<a name="line.469"></a>
-<span class="sourceLineNo">470</span><a name="line.470"></a>
-<span class="sourceLineNo">471</span>      @Override<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      public byte inc(byte val) {<a name="line.472"></a>
-<span class="sourceLineNo">473</span>        // TODO: what about over/underflow?<a name="line.473"></a>
-<span class="sourceLineNo">474</span>        return (byte) (val + 1);<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      }<a name="line.475"></a>
-<span class="sourceLineNo">476</span><a name="line.476"></a>
-<span class="sourceLineNo">477</span>      @Override<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      public boolean isMax(byte val) {<a name="line.478"></a>
-<span class="sourceLineNo">479</span>        return val == (byte) 0xff;<a name="line.479"></a>
-<span class="sourceLineNo">480</span>      }<a name="line.480"></a>
-<span class="sourceLineNo">481</span><a name="line.481"></a>
-<span class="sourceLineNo">482</span>      @Override<a name="line.482"></a>
-<span class="sourceLineNo">483</span>      public byte min() {<a name="line.483"></a>
-<span class="sourceLineNo">484</span>        return 0;<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      }<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    },<a name="line.486"></a>
-<span class="sourceLineNo">487</span>    DESC {<a name="line.487"></a>
-<span class="sourceLineNo">488</span>      @Override<a name="line.488"></a>
-<span class="sourceLineNo">489</span>      public boolean lt(int lhs, int rhs) {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>        return lhs &gt; rhs;<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      }<a name="line.491"></a>
-<span class="sourceLineNo">492</span><a name="line.492"></a>
-<span class="sourceLineNo">493</span>      @Override<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      public boolean gt(int lhs, int rhs) {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>        return lhs &lt; rhs;<a name="line.495"></a>
-<span class="sourceLineNo">496</span>      }<a name="line.496"></a>
-<span class="sourceLineNo">497</span><a name="line.497"></a>
-<span class="sourceLineNo">498</span>      @Override<a name="line.498"></a>
-<span class="sourceLineNo">499</span>      public byte inc(byte val) {<a name="line.499"></a>
-<span class="sourceLineNo">500</span>        // TODO: what about over/underflow?<a name="line.500"></a>
-<span class="sourceLineNo">501</span>        return (byte) (val - 1);<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      }<a name="line.502"></a>
-<span class="sourceLineNo">503</span><a name="line.503"></a>
-<span class="sourceLineNo">504</span>      @Override<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      public boolean isMax(byte val) {<a name="line.505"></a>
-<span class="sourceLineNo">506</span>        return val == 0;<a name="line.506"></a>
-<span class="sourceLineNo">507</span>      }<a name="line.507"></a>
-<span class="sourceLineNo">508</span><a name="line.508"></a>
-<span class="sourceLineNo">509</span>      @Override<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      public byte min() {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>        return (byte) 0xFF;<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      }<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    };<a name="line.513"></a>
-<span class="sourceLineNo">514</span><a name="line.514"></a>
-<span class="sourceLineNo">515</span>    public static Order orderFor(boolean reverse) {<a name="line.515"></a>
-<span class="sourceLineNo">516</span>      return reverse ? DESC : ASC;<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    }<a name="line.517"></a>
-<span class="sourceLineNo">518</span><a name="line.518"></a>
-<span class="sourceLineNo">519</span>    /** Returns true when {@code lhs &lt; rhs}. */<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    public abstract boolean lt(int lhs, int rhs);<a name="line.520"></a>
-<span class="sourceLineNo">521</span><a name="line.521"></a>
-<span class="sourceLineNo">522</span>    /** Returns true when {@code lhs &gt; rhs}. */<a name="line.522"></a>
-<span class="sourceLineNo">523</span>    public abstract boolean gt(int lhs, int rhs);<a name="line.523"></a>
-<span class="sourceLineNo">524</span><a name="line.524"></a>
-<span class="sourceLineNo">525</span>    /** Returns {@code val} incremented by 1. */<a name="line.525"></a>
-<span class="sourceLineNo">526</span>    public abstract byte inc(byte val);<a name="line.526"></a>
-<span class="sourceLineNo">527</span><a name="line.527"></a>
-<span class="sourceLineNo">528</span>    /** Return true when {@code val} is the maximum value */<a name="line.528"></a>
-<span class="sourceLineNo">529</span>    public abstract boolean isMax(byte val);<a name="line.529"></a>
-<span class="sourceLineNo">530</span><a name="line.530"></a>
-<span class="sourceLineNo">531</span>    /** Return the minimum value according to this ordering scheme. */<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    public abstract byte min();<a name="line.532"></a>
-<span class="sourceLineNo">533</span>  }<a name="line.533"></a>
-<span class="sourceLineNo">534</span><a name="line.534"></a>
-<span class="sourceLineNo">535</span>  /**<a name="line.535"></a>
-<span class="sourceLineNo">536</span>   * @return greater byte array than given (row) which satisfies the fuzzy rule if it exists, null<a name="line.536"></a>
-<span class="sourceLineNo">537</span>   *         otherwise<a name="line.537"></a>
-<span class="sourceLineNo">538</span>   */<a name="line.538"></a>
-<span class="sourceLineNo">539</span>  @VisibleForTesting<a name="line.539"></a>
-<span class="sourceLineNo">540</span>  static byte[] getNextForFuzzyRule(boolean reverse, byte[] row, int offset, int length,<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      byte[] fuzzyKeyBytes, byte[] fuzzyKeyMeta) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>    // To find out the next "smallest" byte array that satisfies fuzzy rule and "greater" than<a name="line.542"></a>
-<span class="sourceLineNo">543</span>    // the given one we do the following:<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    // 1. setting values on all "fixed" positions to the values from fuzzyKeyBytes<a name="line.544"></a>
-<span class="sourceLineNo">545</span>    // 2. if during the first step given row did not increase, then we increase the value at<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    // the first "non-fixed" position (where it is not maximum already)<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>    // It is easier to perform this by using fuzzyKeyBytes copy and setting "non-fixed" position<a name="line.548"></a>
-<span class="sourceLineNo">549</span>    // values than otherwise.<a name="line.549"></a>
-<span class="sourceLineNo">550</span>    byte[] result =<a name="line.550"></a>
-<span class="sourceLineNo">551</span>        Arrays.copyOf(fuzzyKeyBytes, length &gt; fuzzyKeyBytes.length ? length : fuzzyKeyBytes.length);<a name="line.551"></a>
-<span class="sourceLineNo">552</span>    if (reverse &amp;&amp; length &gt; fuzzyKeyBytes.length) {<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      // we need trailing 0xff's instead of trailing 0x00's<a name="line.553"></a>
-<span class="sourceLineNo">554</span>      for (int i = fuzzyKeyBytes.length; i &lt; result.length; i++) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span>        result[i] = (byte) 0xFF;<a name="line.555"></a>
-<span class="sourceLineNo">556</span>      }<a name="line.556"></a>
-<span class="sourceLineNo">557</span>    }<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    int toInc = -1;<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    final Order order = Order.orderFor(reverse);<a name="line.559"></a>
-<span class="sourceLineNo">560</span><a name="line.560"></a>
-<span class="sourceLineNo">561</span>    boolean increased = false;<a name="line.561"></a>
-<span class="sourceLineNo">562</span>    for (int i = 0; i &lt; result.length; i++) {<a name="line.562"></a>
-<span class="sourceLineNo">563</span>      if (i &gt;= fuzzyKeyMeta.length || fuzzyKeyMeta[i] == 0 /* non-fixed */) {<a name="line.563"></a>
-<span class="sourceLineNo">564</span>        result[i] = row[offset + i];<a name="line.564"></a>
-<span class="sourceLineNo">565</span>        if (!order.isMax(row[offset + i])) {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>          // this is "non-fixed" position and is not at max value, hence we can increase it<a name="line.566"></a>
-<span class="sourceLineNo">567</span>          toInc = i;<a name="line.567"></a>
-<span class="sourceLineNo">568</span>        }<a name="line.568"></a>
-<span class="sourceLineNo">569</span>      } else if (i &lt; fuzzyKeyMeta.length &amp;&amp; fuzzyKeyMeta[i] == -1 /* fixed */) {<a name="line.569"></a>
-<span class="sourceLineNo">570</span>        if (order.lt((row[i + offset] &amp; 0xFF), (fuzzyKeyBytes[i] &amp; 0xFF))) {<a name="line.570"></a>
-<span class="sourceLineNo">571</span>          // if setting value for any fixed position increased the original array,<a name="line.571"></a>
-<span class="sourceLineNo">572</span>          // we are OK<a name="line.572"></a>
-<span class="sourceLineNo">573</span>          increased = true;<a name="line.573"></a>
-<span class="sourceLineNo">574</span>          break;<a name="line.574"></a>
-<span class="sourceLineNo">575</span>        }<a name="line.575"></a>
-<span class="sourceLineNo">576</span><a name="line.576"></a>
-<span class="sourceLineNo">577</span>        if (order.gt((row[i + offset] &amp; 0xFF), (fuzzyKeyBytes[i] &amp; 0xFF))) {<a name="line.577"></a>
-<span class="sourceLineNo">578</span>          // if setting value for any fixed position makes array "smaller", then just stop:<a name="line.578"></a>
-<span class="sourceLineNo">579</span>          // in case we found some non-fixed position to increase we will do it, otherwise<a name="line.579"></a>
-<span class="sourceLineNo">580</span>          // there's no "next" row key that satisfies fuzzy rule and "greater" than given row<a name="line.580"></a>
-<span class="sourceLineNo">581</span>          break;<a name="line.581"></a>
-<span class="sourceLineNo">582</span>        }<a name="line.582"></a>
-<span class="sourceLineNo">583</span>      }<a name="line.583"></a>
-<span class="sourceLineNo">584</span>    }<a name="line.584"></a>
-<span class="sourceLineNo">585</span><a name="line.585"></a>
-<span class="sourceLineNo">586</span>    if (!increased) {<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      if (toInc &lt; 0) {<a name="line.587"></a>
-<span class="sourceLineNo">588</span>        return null;<a name="line.588"></a>
-<span class="sourceLineNo">589</span>      }<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      result[toInc] = order.inc(result[toInc]);<a name="line.590"></a>
-<span class="sourceLineNo">591</span><a name="line.591"></a>
-<span class="sourceLineNo">592</span>      // Setting all "non-fixed" positions to zeroes to the right of the one we increased so<a name="line.592"></a>
-<span class="sourceLineNo">593</span>      // that found "next" row key is the smallest possible<a name="line.593"></a>
-<span class="sourceLineNo">594</span>      for (int i = toInc + 1; i &lt; result.length; i++) {<a name="line.594"></a>
-<span class="sourceLineNo">595</span>        if (i &gt;= fuzzyKeyMeta.length || fuzzyKeyMeta[i] == 0 /* non-fixed */) {<a name="line.595"></a>
-<span class="sourceLineNo">596</span>          result[i] = order.min();<a name="line.596"></a>
-<span class="sourceLineNo">597</span>        }<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      }<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    }<a name="line.599"></a>
-<span class="sourceLineNo">600</span><a name="line.600"></a>
-<span class="sourceLineNo">601</span>    return reverse? result: trimTrailingZeroes(result, fuzzyKeyMeta, toInc);<a name="line.601"></a>
-<span class="sourceLineNo">602</span>  }<a name="line.602"></a>
-<span class="sourceLineNo">603</span><a name="line.603"></a>
-<span class="sourceLineNo">604</span>  /**<a name="line.604"></a>
-<span class="sourceLineNo">605</span>   * For forward scanner, next cell hint should  not contain any trailing zeroes<a name="line.605"></a>
-<span class="sourceLineNo">606</span>   * unless they are part of fuzzyKeyMeta<a name="line.606"></a>
-<span class="sourceLineNo">607</span>   * hint = '\x01\x01\x01\x00\x00'<a name="line.607"></a>
-<span class="sourceLineNo">608</span>   * will skip valid row '\x01\x01\x01'<a name="line.608"></a>
-<span class="sourceLineNo">609</span>   * <a name="line.609"></a>
-<span class="sourceLineNo">610</span>   * @param result<a name="line.610"></a>
-<span class="sourceLineNo">611</span>   * @param fuzzyKeyMeta<a name="line.611"></a>
-<span class="sourceLineNo">612</span>   * @param toInc - position of incremented byte<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   * @return trimmed version of result<a name="line.613"></a>
-<span class="sourceLineNo">614</span>   */<a name="line.614"></a>
-<span class="sourceLineNo">615</span>  <a name="line.615"></a>
-<span class="sourceLineNo">616</span>  private static byte[] trimTrailingZeroes(byte[] result, byte[] fuzzyKeyMeta, int toInc) {<a name="line.616"></a>
-<span class="sourceLineNo">617</span>    int off = fuzzyKeyMeta.length &gt;= result.length? result.length -1:<a name="line.617"></a>
-<span class="sourceLineNo">618</span>           fuzzyKeyMeta.length -1;  <a name="line.618"></a>
-<span class="sourceLineNo">619</span>    for( ; off &gt;= 0; off--){<a name="line.619"></a>
-<span class="sourceLineNo">620</span>      if(fuzzyKeyMeta[off] != 0) break;<a name="line.620"></a>
-<span class="sourceLineNo">621</span>    }<a name="line.621"></a>
-<span class="sourceLineNo">622</span>    if (off &lt; toInc)  off = toInc;<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    byte[] retValue = new byte[off+1];<a name="line.623"></a>
-<span class="sourceLineNo">624</span>    System.arraycopy(result, 0, retValue, 0, retValue.length);<a name="line.624"></a>
-<span class="sourceLineNo">625</span>    return retValue;<a name="line.625"></a>
-<span class="sourceLineNo">626</span>  }<a name="line.626"></a>
-<span class="sourceLineNo">627</span><a name="line.627"></a>
-<span class="sourceLineNo">628</span>  /**<a name="line.628"></a>
-<span class="sourceLineNo">629</span>   * @return true if and only if the fields of the filter that are serialized are equal to the<a name="line.629"></a>
-<span class="sourceLineNo">630</span>   *         corresponding fields in other. Used for testing.<a name="line.630"></a>
-<span class="sourceLineNo">631</span>   */<a name="line.631"></a>
-<span class="sourceLineNo">632</span>  @Override<a name="line.632"></a>
-<span class="sourceLineNo">633</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.633"></a>
-<span class="sourceLineNo">634</span>    if (o == this) return true;<a name="line.634"></a>
-<span class="sourceLineNo">635</span>    if (!(o instanceof FuzzyRowFilter)) return false;<a name="line.635"></a>
-<span class="sourceLineNo">636</span><a name="line.636"></a>
-<span class="sourceLineNo">637</span>    FuzzyRowFilter other = (FuzzyRowFilter) o;<a name="line.637"></a>
-<span class="sourceLineNo">638</span>    if (this.fuzzyKeysData.size() != other.fuzzyKeysData.size()) return false;<a name="line.638"></a>
-<span class="sourceLineNo">639</span>    for (int i = 0; i &lt; fuzzyKeysData.size(); ++i) {<a name="line.639"></a>
-<span class="sourceLineNo">640</span>      Pair&lt;byte[], byte[]&gt; thisData = this.fuzzyKeysData.get(i);<a name="line.640"></a>
-<span class="sourceLineNo">641</span>      Pair&lt;byte[], byte[]&gt; otherData = other.fuzzyKeysData.get(i);<a name="line.641"></a>
-<span class="sourceLineNo">642</span>      if (!(Bytes.equals(thisData.getFirst(), otherData.getFirst()) &amp;&amp; Bytes.equals(<a name="line.642"></a>
-<span class="sourceLineNo">643</span>        thisData.getSecond(), otherData.getSecond()))) {<a name="line.643"></a>
-<span class="sourceLineNo">644</span>        return false;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>      }<a name="line.645"></a>
-<span class="sourceLineNo">646</span>    }<a name="line.646"></a>
-<span class="sourceLineNo">647</span>    return true;<a name="line.647"></a>
-<span class="sourceLineNo">648</span>  }<a name="line.648"></a>
-<span class="sourceLineNo">649</span>}<a name="line.649"></a>
+<span class="sourceLineNo">104</span><a name="line.104"></a>
+<span class="sourceLineNo">105</span>  private void preprocessSearchKey(Pair&lt;byte[], byte[]&gt; p) {<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    if (!UNSAFE_UNALIGNED) {<a name="line.106"></a>
+<span class="sourceLineNo">107</span>      // do nothing<a name="line.107"></a>
+<span class="sourceLineNo">108</span>      return;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    }<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    byte[] key = p.getFirst();<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    byte[] mask = p.getSecond();<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    for (int i = 0; i &lt; mask.length; i++) {<a name="line.112"></a>
+<span class="sourceLineNo">113</span>      // set non-fixed part of a search key to 0.<a name="line.113"></a>
+<span class="sourceLineNo">114</span>      if (mask[i] == 2) {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>        key[i] = 0;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      }<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    }<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  }<a name="line.118"></a>
+<span class="sourceLineNo">119</span><a name="line.119"></a>
+<span class="sourceLineNo">120</span>  /**<a name="line.120"></a>
+<span class="sourceLineNo">121</span>   * We need to preprocess mask array, as since we treat 2's as unfixed positions and -1 (0xff) as<a name="line.121"></a>
+<span class="sourceLineNo">122</span>   * fixed positions<a name="line.122"></a>
+<span class="sourceLineNo">123</span>   * @param mask<a name="line.123"></a>
+<span class="sourceLineNo">124</span>   * @return mask array<a name="line.124"></a>
+<span class="sourceLineNo">125</span>   */<a name="line.125"></a>
+<span class="sourceLineNo">126</span>  private byte[] preprocessMask(byte[] mask) {<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    if (!UNSAFE_UNALIGNED) {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      // do nothing<a name="line.128"></a>
+<span class="sourceLineNo">129</span>      return mask;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    }<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    if (isPreprocessedMask(mask)) return mask;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    for (int i = 0; i &lt; mask.length; i++) {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      if (mask[i] == 0) {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>        mask[i] = -1; // 0 -&gt; -1<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      } else if (mask[i] == 1) {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>        mask[i] = 2;// 1 -&gt; 2<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>    return mask;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>  }<a name="line.140"></a>
+<span class="sourceLineNo">141</span><a name="line.141"></a>
+<span class="sourceLineNo">142</span>  private boolean isPreprocessedMask(byte[] mask) {<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    for (int i = 0; i &lt; mask.length; i++) {<a name="line.143"></a>
+<span class="sourceLineNo">144</span>      if (mask[i] != -1 &amp;&amp; mask[i] != 2) {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>        return false;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>      }<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    }<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    return true;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>  }<a name="line.149"></a>
+<span class="sourceLineNo">150</span><a name="line.150"></a>
+<span class="sourceLineNo">151</span>  @Deprecated<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  @Override<a name="line.152"></a>
+<span class="sourceLineNo">153</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    return filterCell(c);<a name="line.154"></a>
+<span class="sourceLineNo">155</span>  }<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>  @Override<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  public ReturnCode filterCell(final Cell c) {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    final int startIndex = lastFoundIndex &gt;= 0 ? lastFoundIndex : 0;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    final int size = fuzzyKeysData.size();<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    for (int i = startIndex; i &lt; size + startIndex; i++) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>      final int index = i % size;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>      Pair&lt;byte[], byte[]&gt; fuzzyData = fuzzyKeysData.get(index);<a name="line.163"></a>
+<span class="sourceLineNo">164</span>      // This shift is idempotent - always end up with 0 and -1 as mask values.<a name="line.164"></a>
+<span class="sourceLineNo">165</span>      for (int j = 0; j &lt; fuzzyData.getSecond().length; j++) {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>        fuzzyData.getSecond()[j] &gt;&gt;= 2;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      }<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      SatisfiesCode satisfiesCode =<a name="line.168"></a>
+<span class="sourceLineNo">169</span>          satisfies(isReversed(), c.getRowArray(), c.getRowOffset(), c.getRowLength(),<a name="line.169"></a>
+<span class="sourceLineNo">170</span>            fuzzyData.getFirst(), fuzzyData.getSecond());<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      if (satisfiesCode == SatisfiesCode.YES) {<a name="line.171"></a>
+<span class="sourceLineNo">172</span>        lastFoundIndex = index;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>        return ReturnCode.INCLUDE;<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>    // NOT FOUND -&gt; seek next using hint<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    lastFoundIndex = -1;<a name="line.177"></a>
+<span class="sourceLineNo">178</span><a name="line.178"></a>
+<span class="sourceLineNo">179</span>    return ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.179"></a>
+<span class="sourceLineNo">180</span><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">183</span>  @Override<a name="line.183"></a>
+<span class="sourceLineNo">184</span>  public Cell getNextCellHint(Cell currentCell) {<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    boolean result = tracker.updateTracker(currentCell);<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    if (result == false) {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>      done = true;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>      return null;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    }<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    byte[] nextRowKey = tracker.nextRow();<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    return PrivateCellUtil.createFirstOnRow(nextRowKey, 0, (short) nextRowKey.length);<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  }<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>  /**<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   * If we have multiple fuzzy keys, row tracker should improve overall performance. It calculates<a name="line.195"></a>
+<span class="sourceLineNo">196</span>   * all next rows (one per every fuzzy key) and put them (the fuzzy key is bundled) into a priority<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   * queue so that the smallest row key always appears at queue head, which helps to decide the<a name="line.197"></a>
+<span class="sourceLineNo">198</span>   * "Next Cell Hint". As scanning going on, the number of candidate rows in the RowTracker will<a name="line.198"></a>
+<span class="sourceLineNo">199</span>   * remain the size of fuzzy keys until some of the fuzzy keys won't possibly have matches any<a name="line.199"></a>
+<span class="sourceLineNo">200</span>   * more.<a name="line.200"></a>
+<span class="sourceLineNo">201</span>   */<a name="line.201"></a>
+<span class="sourceLineNo">202</span>  private class RowTracker {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    private final PriorityQueue&lt;Pair&lt;byte[], Pair&lt;byte[], byte[]&gt;&gt;&gt; nextRows;<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    private boolean initialized = false;<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>    RowTracker() {<a name="line.206"></a>
+<span class="sourceLineNo">207</span>      nextRows = new PriorityQueue&lt;&gt;(fuzzyKeysData.size(),<a name="line.207"></a>
+<span class="sourceLineNo">208</span>              new Comparator&lt;Pair&lt;byte[], Pair&lt;byte[], byte[]&gt;&gt;&gt;() {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>                @Override<a name="line.209"></a>
+<span class="sourceLineNo">210</span>                public int compare(Pair&lt;byte[], Pair&lt;byte[], byte[]&gt;&gt; o1,<a name="line.210"></a>
+<span class="sourceLineNo">211</span>                    Pair&lt;byte[], Pair&lt;byte[], byte[]&gt;&gt; o2) {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>                  return isReversed()? Bytes.compareTo(o2.getFirst(), o1.getFirst()):<a name="line.212"></a>
+<span class="sourceLineNo">213</span>                    Bytes.compareTo(o1.getFirst(), o2.getFirst());<a name="line.213"></a>
+<span class="sourceLineNo">214</span>                }<a name="line.214"></a>
+<span class="sourceLineNo">215</span>              });<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    }<a name="line.216"></a>
+<span class="sourceLineNo">217</span><a name="line.217"></a>
+<span class="sourceLineNo">218</span>    byte[] nextRow() {<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      if (nextRows.isEmpty()) {<a name="line.219"></a>
+<span class="sourceLineNo">220</span>        throw new IllegalStateException(<a name="line.220"></a>
+<span class="sourceLineNo">221</span>            "NextRows should not be empty, make sure to call nextRow() after updateTracker() return true");<a name="line.221"></a>
+<span class="sourceLineNo">222</span>      } else {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>        return nextRows.peek().getFirst();<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      }<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    }<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>    boolean updateTracker(Cell currentCell) {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>      if (!initialized) {<a name="line.228"></a>
+<span class="sourceLineNo">229</span>        for (Pair&lt;byte[], byte[]&gt; fuzzyData : fuzzyKeysData) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>          updateWith(currentCell, fuzzyData);<a name="line.230"></a>
+<span class="sourceLineNo">231</span>        }<a name="line.231"></a>
+<span class="sourceLineNo">232</span>        initialized = true;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>      } else {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>        while (!nextRows.isEmpty() &amp;&amp; !lessThan(currentCell, nextRows.peek().getFirst())) {<a name="line.234"></a>
+<span class="sourceLineNo">235</span>          Pair&lt;byte[], Pair&lt;byte[], byte[]&gt;&gt; head = nextRows.poll();<a name="line.235"></a>
+<span class="sourceLineNo">236</span>          Pair&lt;byte[], byte[]&gt; fuzzyData = head.getSecond();<a name="line.236"></a>
+<span class="sourceLineNo">237</span>          updateWith(currentCell, fuzzyData);<a name="line.237"></a>
+<span class="sourceLineNo">238</span>        }<a name="line.238"></a>
+<span class="sourceLineNo">239</span>      }<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      return !nextRows.isEmpty();<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    }<a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span>    boolean lessThan(Cell currentCell, byte[] nextRowKey) {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>      int compareResult = CellComparator.getInstance().compareRows(currentCell, nextRowKey, 0, nextRowKey.length);<a name="line.244"></a>
+<span class="sourceLineNo">245</span>      return (!isReversed() &amp;&amp; compareResult &lt; 0) || (isReversed() &amp;&amp; compareResult &gt; 0);<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    }<a name="line.246"></a>
+<span class="sourceLineNo">247</span><a name="line.247"></a>
+<span class="sourceLineNo">248</span>    void updateWith(Cell currentCell, Pair&lt;byte[], byte[]&gt; fuzzyData) {<a name="line.248"></a>
+<span class="sourceLineNo">249</span>      byte[] nextRowKeyCandidate =<a name="line.249"></a>
+<span class="sourceLineNo">250</span>          getNextForFuzzyRule(isReversed(), currentCell.getRowArray(), currentCell.getRowOffset(),<a name="line.250"></a>
+<span class="sourceLineNo">251</span>            currentCell.getRowLength(), fuzzyData.getFirst(), fuzzyData.getSecond());<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      if (nextRowKeyCandidate != null) {<a name="line.252"></a>
+<span class="sourceLineNo">253</span>        nextRows.add(new Pair&lt;&gt;(nextRowKeyCandidate, fuzzyData));<a name="line.253"></a>
+<span class="sourceLineNo">254</span>      }<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    }<a name="line.255"></a>
+<span class="sourceLineNo">256</span><a name="line.256"></a>
+<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
+<span class="sourceLineNo">258</span><a name="line.258"></a>
+<span class="sourceLineNo">259</span>  @Override<a name="line.259"></a>
+<span class="sourceLineNo">260</span>  public boolean filterAllRemaining() {<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    return done;<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  }<a name="line.262"></a>
+<span class="sourceLineNo">263</span><a name="line.263"></a>
+<span class="sourceLineNo">264</span>  /**<a name="line.264"></a>
+<span class="sourceLineNo">265</span>   * @return The filter serialized using pb<a name="line.265"></a>
+<span class="sourceLineNo">266</span>   */<a name="line.266"></a>
+<span class="sourceLineNo">267</span>  @Override<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  public byte[] toByteArray() {<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    FilterProtos.FuzzyRowFilter.Builder builder = FilterProtos.FuzzyRowFilter.newBuilder();<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    for (Pair&lt;byte[], byte[]&gt; fuzzyData : fuzzyKeysData) {<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      BytesBytesPair.Builder bbpBuilder = BytesBytesPair.newBuilder();<a name="line.271"></a>
+<span class="sourceLineNo">272</span>      bbpBuilder.setFirst(UnsafeByteOperations.unsafeWrap(fuzzyData.getFirst()));<a name="line.272"></a>
+<span class="sourceLineNo">273</span>      bbpBuilder.setSecond(UnsafeByteOperations.unsafeWrap(fuzzyData.getSecond()));<a name="line.273"></a>
+<span class="sourceLineNo">274</span>      builder.addFuzzyKeysData(bbpBuilder);<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    }<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    return builder.build().toByteArray();<a name="line.276"></a>
+<span class="sourceLineNo">277</span>  }<a name="line.277"></a>
+<span class="sourceLineNo">278</span><a name="line.278"></a>
+<span class="sourceLineNo">279</span>  /**<a name="line.279"></a>
+<span class="sourceLineNo">280</span>   * @param pbBytes A pb serialized {@link FuzzyRowFilter} instance<a name="line.280"></a>
+<span class="sourceLineNo">281</span>   * @return An instance of {@link FuzzyRowFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.281"></a>
+<span class="sourceLineNo">282</span>   * @throws DeserializationException<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * @see #toByteArray<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   */<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  public static FuzzyRowFilter parseFrom(final byte[] pbBytes) throws DeserializationException {<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    FilterProtos.FuzzyRowFilter proto;<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    try {<a name="line.287"></a>
+<span class="sourceLineNo">288</span>      proto = FilterProtos.FuzzyRowFilter.parseFrom(pbBytes);<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    } catch (InvalidProtocolBufferException e) {<a name="line.289"></a>
+<span class="sourceLineNo">290</span>      throw new DeserializationException(e);<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    }<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    int count = proto.getFuzzyKeysDataCount();<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    ArrayList&lt;Pair&lt;byte[], byte[]&gt;&gt; fuzzyKeysData = new ArrayList&lt;&gt;(count);<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    for (int i = 0; i &lt; count; ++i) {<a name="line.294"></a>
+<span class="sourceLineNo">295</span>      BytesBytesPair current = proto.getFuzzyKeysData(i);<a na

<TRUNCATED>

[15/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html b/devapidocs/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html
index b91abdd..96c4516 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.250">KeyOnlyFilter.KeyOnlyByteBufferExtendedCell</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.266">KeyOnlyFilter.KeyOnlyByteBufferExtendedCell</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.html" title="class in org.apache.hadoop.hbase">ByteBufferExtendedCell</a></pre>
 </li>
 </ul>
@@ -425,7 +425,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>FIXED_OVERHEAD</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.251">FIXED_OVERHEAD</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.267">FIXED_OVERHEAD</a></pre>
 </li>
 </ul>
 <a name="cell">
@@ -434,7 +434,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>cell</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.html" title="class in org.apache.hadoop.hbase">ByteBufferExtendedCell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.253">cell</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.html" title="class in org.apache.hadoop.hbase">ByteBufferExtendedCell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.269">cell</a></pre>
 </li>
 </ul>
 <a name="lenAsVal">
@@ -443,7 +443,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockListLast">
 <li class="blockList">
 <h4>lenAsVal</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.254">lenAsVal</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.270">lenAsVal</a></pre>
 </li>
 </ul>
 </li>
@@ -460,7 +460,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockListLast">
 <li class="blockList">
 <h4>KeyOnlyByteBufferExtendedCell</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.256">KeyOnlyByteBufferExtendedCell</a>(<a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.html" title="class in org.apache.hadoop.hbase">ByteBufferExtendedCell</a>&nbsp;c,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.272">KeyOnlyByteBufferExtendedCell</a>(<a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.html" title="class in org.apache.hadoop.hbase">ByteBufferExtendedCell</a>&nbsp;c,
                                      boolean&nbsp;lenAsVal)</pre>
 </li>
 </ul>
@@ -478,7 +478,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getRowArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.262">getRowArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.278">getRowArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Cell.html#getRowArray--">Cell</a></code></span></div>
 <div class="block">Contiguous raw bytes that may start at any index in the containing array. Max length is
  Short.MAX_VALUE which is 32,767 bytes.</div>
@@ -494,7 +494,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getRowOffset</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.267">getRowOffset</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.283">getRowOffset</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Array index of first row byte</dd>
@@ -507,7 +507,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getRowLength</h4>
-<pre>public&nbsp;short&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.272">getRowLength</a>()</pre>
+<pre>public&nbsp;short&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.288">getRowLength</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Number of row bytes. Must be &lt; rowArray.length - offset.</dd>
@@ -520,7 +520,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamilyArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.277">getFamilyArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.293">getFamilyArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Cell.html#getFamilyArray--">Cell</a></code></span></div>
 <div class="block">Contiguous bytes composed of legal HDFS filename characters which may start at any index in the
  containing array. Max length is Byte.MAX_VALUE, which is 127 bytes.</div>
@@ -536,7 +536,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamilyOffset</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.282">getFamilyOffset</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.298">getFamilyOffset</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Array index of first family byte</dd>
@@ -549,7 +549,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamilyLength</h4>
-<pre>public&nbsp;byte&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.287">getFamilyLength</a>()</pre>
+<pre>public&nbsp;byte&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.303">getFamilyLength</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Number of family bytes.  Must be &lt; familyArray.length - offset.</dd>
@@ -562,7 +562,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getQualifierArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.292">getQualifierArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.308">getQualifierArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Cell.html#getQualifierArray--">Cell</a></code></span></div>
 <div class="block">Contiguous raw bytes that may start at any index in the containing array.</div>
 <dl>
@@ -577,7 +577,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getQualifierOffset</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.297">getQualifierOffset</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.313">getQualifierOffset</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Array index of first qualifier byte</dd>
@@ -590,7 +590,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getQualifierLength</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.302">getQualifierLength</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.318">getQualifierLength</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Number of qualifier bytes.  Must be &lt; qualifierArray.length - offset.</dd>
@@ -603,7 +603,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getTimestamp</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.307">getTimestamp</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.323">getTimestamp</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Long value representing time at which this cell was "Put" into the row.  Typically
@@ -617,7 +617,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getTypeByte</h4>
-<pre>public&nbsp;byte&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.312">getTypeByte</a>()</pre>
+<pre>public&nbsp;byte&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.328">getTypeByte</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>The byte representation of the KeyValue.TYPE of this cell: one of Put, Delete, etc</dd>
@@ -630,7 +630,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>setSequenceId</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.317">setSequenceId</a>(long&nbsp;seqId)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.333">setSequenceId</a>(long&nbsp;seqId)
                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ExtendedCell.html#setSequenceId-long-">ExtendedCell</a></code></span></div>
 <div class="block">Sets with the given seqId.</div>
@@ -648,7 +648,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>setTimestamp</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.322">setTimestamp</a>(long&nbsp;ts)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.338">setTimestamp</a>(long&nbsp;ts)
                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ExtendedCell.html#setTimestamp-long-">ExtendedCell</a></code></span></div>
 <div class="block">Sets with the given timestamp.</div>
@@ -666,7 +666,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>setTimestamp</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.327">setTimestamp</a>(byte[]&nbsp;ts)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.343">setTimestamp</a>(byte[]&nbsp;ts)
                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ExtendedCell.html#setTimestamp-byte:A-">ExtendedCell</a></code></span></div>
 <div class="block">Sets with the given timestamp.</div>
@@ -684,7 +684,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getSequenceId</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.332">getSequenceId</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.348">getSequenceId</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ExtendedCell.html#getSequenceId--">ExtendedCell</a></code></span></div>
 <div class="block">A region-specific unique monotonically increasing sequence ID given to each Cell. It always
  exists for cells in the memstore but is not retained forever. It will be kept for
@@ -702,7 +702,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getType</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.Type.html" title="enum in org.apache.hadoop.hbase">Cell.Type</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.337">getType</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.Type.html" title="enum in org.apache.hadoop.hbase">Cell.Type</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.353">getType</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Cell.html#getType--">Cell</a></code></span></div>
 <div class="block">Returns the type of cell in a human readable format using <a href="../../../../../org/apache/hadoop/hbase/Cell.Type.html" title="enum in org.apache.hadoop.hbase"><code>Cell.Type</code></a>.
  Note : This does not expose the internal types of Cells like <a href="../../../../../org/apache/hadoop/hbase/KeyValue.Type.html#Maximum"><code>KeyValue.Type.Maximum</code></a> and
@@ -719,7 +719,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getValueArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.342">getValueArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.358">getValueArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Cell.html#getValueArray--">Cell</a></code></span></div>
 <div class="block">Contiguous raw bytes that may start at any index in the containing array. Max length is
  Integer.MAX_VALUE which is 2,147,483,647 bytes.</div>
@@ -735,7 +735,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getValueOffset</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.351">getValueOffset</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.367">getValueOffset</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Array index of first value byte</dd>
@@ -748,7 +748,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getValueLength</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.356">getValueLength</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.372">getValueLength</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Number of value bytes.  Must be &lt; valueArray.length - offset.</dd>
@@ -761,7 +761,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getTagsArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.365">getTagsArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.381">getTagsArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ExtendedCell.html#getTagsArray--">ExtendedCell</a></code></span></div>
 <div class="block">Contiguous raw bytes representing tags that may start at any index in the containing array.</div>
 <dl>
@@ -776,7 +776,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getTagsOffset</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.370">getTagsOffset</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.386">getTagsOffset</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the first offset where the tags start in the Cell</dd>
@@ -789,7 +789,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getTagsLength</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.375">getTagsLength</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.391">getTagsLength</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ExtendedCell.html#getTagsLength--">ExtendedCell</a></code></span></div>
 <div class="block">HBase internally uses 2 bytes to store tags length in Cell. As the tags length is always a
  non-negative number, to make good use of the sign bit, the max of tags length is defined 2 *
@@ -808,7 +808,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getRowByteBuffer</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.380">getRowByteBuffer</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.396">getRowByteBuffer</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.html#getRowByteBuffer--">getRowByteBuffer</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.html" title="class in org.apache.hadoop.hbase">ByteBufferExtendedCell</a></code></dd>
@@ -823,7 +823,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getRowPosition</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.385">getRowPosition</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.401">getRowPosition</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.html#getRowPosition--">getRowPosition</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.html" title="class in org.apache.hadoop.hbase">ByteBufferExtendedCell</a></code></dd>
@@ -838,7 +838,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamilyByteBuffer</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.390">getFamilyByteBuffer</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.406">getFamilyByteBuffer</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.html#getFamilyByteBuffer--">getFamilyByteBuffer</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.html" title="class in org.apache.hadoop.hbase">ByteBufferExtendedCell</a></code></dd>
@@ -853,7 +853,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamilyPosition</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.395">getFamilyPosition</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.411">getFamilyPosition</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.html#getFamilyPosition--">getFamilyPosition</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.html" title="class in org.apache.hadoop.hbase">ByteBufferExtendedCell</a></code></dd>
@@ -868,7 +868,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getQualifierByteBuffer</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.400">getQualifierByteBuffer</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.416">getQualifierByteBuffer</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.html#getQualifierByteBuffer--">getQualifierByteBuffer</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.html" title="class in org.apache.hadoop.hbase">ByteBufferExtendedCell</a></code></dd>
@@ -883,7 +883,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getQualifierPosition</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.405">getQualifierPosition</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.421">getQualifierPosition</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.html#getQualifierPosition--">getQualifierPosition</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.html" title="class in org.apache.hadoop.hbase">ByteBufferExtendedCell</a></code></dd>
@@ -898,7 +898,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getValueByteBuffer</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.410">getValueByteBuffer</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.426">getValueByteBuffer</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.html#getValueByteBuffer--">getValueByteBuffer</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.html" title="class in org.apache.hadoop.hbase">ByteBufferExtendedCell</a></code></dd>
@@ -913,7 +913,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getValuePosition</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.419">getValuePosition</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.435">getValuePosition</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.html#getValuePosition--">getValuePosition</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.html" title="class in org.apache.hadoop.hbase">ByteBufferExtendedCell</a></code></dd>
@@ -928,7 +928,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getTagsByteBuffer</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.424">getTagsByteBuffer</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.440">getTagsByteBuffer</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.html#getTagsByteBuffer--">getTagsByteBuffer</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.html" title="class in org.apache.hadoop.hbase">ByteBufferExtendedCell</a></code></dd>
@@ -943,7 +943,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getTagsPosition</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.429">getTagsPosition</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.445">getTagsPosition</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.html#getTagsPosition--">getTagsPosition</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.html" title="class in org.apache.hadoop.hbase">ByteBufferExtendedCell</a></code></dd>
@@ -958,7 +958,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getTags</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.434">getTags</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.450">getTags</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/RawCell.html#getTags--">RawCell</a></code></span></div>
 <div class="block">Creates a list of tags in the current cell</div>
 <dl>
@@ -973,7 +973,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getTag</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.439">getTag</a>(byte&nbsp;type)</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Tag.html" title="interface in org.apache.hadoop.hbase">Tag</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.455">getTag</a>(byte&nbsp;type)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/RawCell.html#getTag-byte-">RawCell</a></code></span></div>
 <div class="block">Returns the specific tag of the given type</div>
 <dl>
@@ -990,7 +990,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ByteBufferExtendedCell.h
 <ul class="blockListLast">
 <li class="blockList">
 <h4>heapSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.444">heapSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyByteBufferExtendedCell.html#line.460">heapSize</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Approximate 'exclusive deep size' of implementing object.  Includes

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html b/devapidocs/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html
index fc4d057..4663272 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.136">KeyOnlyFilter.KeyOnlyCell</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.152">KeyOnlyFilter.KeyOnlyCell</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>
 implements <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></pre>
 </li>
@@ -315,7 +315,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="int
 <ul class="blockList">
 <li class="blockList">
 <h4>cell</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.137">cell</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.153">cell</a></pre>
 </li>
 </ul>
 <a name="lenAsVal">
@@ -324,7 +324,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="int
 <ul class="blockListLast">
 <li class="blockList">
 <h4>lenAsVal</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.138">lenAsVal</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.154">lenAsVal</a></pre>
 </li>
 </ul>
 </li>
@@ -341,7 +341,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="int
 <ul class="blockListLast">
 <li class="blockList">
 <h4>KeyOnlyCell</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.140">KeyOnlyCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.156">KeyOnlyCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c,
                    boolean&nbsp;lenAsVal)</pre>
 </li>
 </ul>
@@ -359,7 +359,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="int
 <ul class="blockList">
 <li class="blockList">
 <h4>getRowArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.146">getRowArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.162">getRowArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Cell.html#getRowArray--">Cell</a></code></span></div>
 <div class="block">Contiguous raw bytes that may start at any index in the containing array. Max length is
  Short.MAX_VALUE which is 32,767 bytes.</div>
@@ -377,7 +377,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="int
 <ul class="blockList">
 <li class="blockList">
 <h4>getRowOffset</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.151">getRowOffset</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.167">getRowOffset</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html#getRowOffset--">getRowOffset</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></dd>
@@ -392,7 +392,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="int
 <ul class="blockList">
 <li class="blockList">
 <h4>getRowLength</h4>
-<pre>public&nbsp;short&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.156">getRowLength</a>()</pre>
+<pre>public&nbsp;short&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.172">getRowLength</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html#getRowLength--">getRowLength</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></dd>
@@ -407,7 +407,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="int
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamilyArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.161">getFamilyArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.177">getFamilyArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Cell.html#getFamilyArray--">Cell</a></code></span></div>
 <div class="block">Contiguous bytes composed of legal HDFS filename characters which may start at any index in the
  containing array. Max length is Byte.MAX_VALUE, which is 127 bytes.</div>
@@ -425,7 +425,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="int
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamilyOffset</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.166">getFamilyOffset</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.182">getFamilyOffset</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html#getFamilyOffset--">getFamilyOffset</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></dd>
@@ -440,7 +440,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="int
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamilyLength</h4>
-<pre>public&nbsp;byte&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.171">getFamilyLength</a>()</pre>
+<pre>public&nbsp;byte&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.187">getFamilyLength</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html#getFamilyLength--">getFamilyLength</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></dd>
@@ -455,7 +455,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="int
 <ul class="blockList">
 <li class="blockList">
 <h4>getQualifierArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.176">getQualifierArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.192">getQualifierArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Cell.html#getQualifierArray--">Cell</a></code></span></div>
 <div class="block">Contiguous raw bytes that may start at any index in the containing array.</div>
 <dl>
@@ -472,7 +472,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="int
 <ul class="blockList">
 <li class="blockList">
 <h4>getQualifierOffset</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.181">getQualifierOffset</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.197">getQualifierOffset</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html#getQualifierOffset--">getQualifierOffset</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></dd>
@@ -487,7 +487,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="int
 <ul class="blockList">
 <li class="blockList">
 <h4>getQualifierLength</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.186">getQualifierLength</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.202">getQualifierLength</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html#getQualifierLength--">getQualifierLength</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></dd>
@@ -502,7 +502,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="int
 <ul class="blockList">
 <li class="blockList">
 <h4>getTimestamp</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.191">getTimestamp</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.207">getTimestamp</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html#getTimestamp--">getTimestamp</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></dd>
@@ -518,7 +518,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="int
 <ul class="blockList">
 <li class="blockList">
 <h4>getTypeByte</h4>
-<pre>public&nbsp;byte&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.196">getTypeByte</a>()</pre>
+<pre>public&nbsp;byte&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.212">getTypeByte</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html#getTypeByte--">getTypeByte</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></dd>
@@ -533,7 +533,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="int
 <ul class="blockList">
 <li class="blockList">
 <h4>getType</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.Type.html" title="enum in org.apache.hadoop.hbase">Cell.Type</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.201">getType</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.Type.html" title="enum in org.apache.hadoop.hbase">Cell.Type</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.217">getType</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Cell.html#getType--">Cell</a></code></span></div>
 <div class="block">Returns the type of cell in a human readable format using <a href="../../../../../org/apache/hadoop/hbase/Cell.Type.html" title="enum in org.apache.hadoop.hbase"><code>Cell.Type</code></a>.
  Note : This does not expose the internal types of Cells like <a href="../../../../../org/apache/hadoop/hbase/KeyValue.Type.html#Maximum"><code>KeyValue.Type.Maximum</code></a> and
@@ -552,7 +552,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="int
 <ul class="blockList">
 <li class="blockList">
 <h4>getSequenceId</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.207">getSequenceId</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.223">getSequenceId</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Cell.html#getSequenceId--">Cell</a></code></span></div>
 <div class="block">A region-specific unique monotonically increasing sequence ID given to each Cell. It always
  exists for cells in the memstore but is not retained forever. It will be kept for
@@ -572,7 +572,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="int
 <ul class="blockList">
 <li class="blockList">
 <h4>getValueArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.212">getValueArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.228">getValueArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Cell.html#getValueArray--">Cell</a></code></span></div>
 <div class="block">Contiguous raw bytes that may start at any index in the containing array. Max length is
  Integer.MAX_VALUE which is 2,147,483,647 bytes.</div>
@@ -590,7 +590,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="int
 <ul class="blockList">
 <li class="blockList">
 <h4>getValueOffset</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.221">getValueOffset</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.237">getValueOffset</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html#getValueOffset--">getValueOffset</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></dd>
@@ -605,7 +605,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="int
 <ul class="blockList">
 <li class="blockList">
 <h4>getValueLength</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.226">getValueLength</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.242">getValueLength</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html#getValueLength--">getValueLength</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></dd>
@@ -620,7 +620,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="int
 <ul class="blockList">
 <li class="blockList">
 <h4>getTagsArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.235">getTagsArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.251">getTagsArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Cell.html#getTagsArray--">Cell</a></code></span></div>
 <div class="block">Contiguous raw bytes representing tags that may start at any index in the containing array.</div>
 <dl>
@@ -637,7 +637,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="int
 <ul class="blockList">
 <li class="blockList">
 <h4>getTagsOffset</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.240">getTagsOffset</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.256">getTagsOffset</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html#getTagsOffset--">getTagsOffset</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></dd>
@@ -652,7 +652,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="int
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getTagsLength</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.245">getTagsLength</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.KeyOnlyCell.html#line.261">getTagsLength</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Cell.html#getTagsLength--">Cell</a></code></span></div>
 <div class="block">HBase internally uses 2 bytes to store tags length in Cell.
  As the tags length is always a non-negative number, to make good use of the sign bit,

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html b/devapidocs/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html
index 1ae5f87..91682cb 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":42,"i5":10,"i6":9,"i7":10,"i8":10};
+var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":10,"i5":42,"i6":10,"i7":10,"i8":9,"i9":10,"i10":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.48">KeyOnlyFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.50">KeyOnlyFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></pre>
 <div class="block">A filter that will only return the key component of each KV (the value will
  be rewritten as empty).
@@ -236,34 +236,42 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#createKeyOnlyCell-org.apache.hadoop.hbase.Cell-">createKeyOnlyCell</a></span>(<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="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html" title="class in org.apache.hadoop.hbase.filter">KeyOnlyFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">By default no transformation takes place
@@ -291,7 +299,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -313,7 +321,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>lenAsVal</h4>
-<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.50">lenAsVal</a></pre>
+<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.52">lenAsVal</a></pre>
 </li>
 </ul>
 </li>
@@ -330,7 +338,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>KeyOnlyFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.51">KeyOnlyFilter</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.53">KeyOnlyFilter</a>()</pre>
 </li>
 </ul>
 <a name="KeyOnlyFilter-boolean-">
@@ -339,7 +347,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>KeyOnlyFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.52">KeyOnlyFilter</a>(boolean&nbsp;lenAsVal)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.54">KeyOnlyFilter</a>(boolean&nbsp;lenAsVal)</pre>
 </li>
 </ul>
 </li>
@@ -356,7 +364,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.55">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.57">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -384,7 +392,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>transformCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.61">transformCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.63">transformCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#transformCell-org.apache.hadoop.hbase.Cell-">FilterBase</a></code></span></div>
 <div class="block">By default no transformation takes place
 
@@ -414,7 +422,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>createKeyOnlyCell</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.65">createKeyOnlyCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.67">createKeyOnlyCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 </li>
 </ul>
 <a name="filterKeyValue-org.apache.hadoop.hbase.Cell-">
@@ -424,7 +432,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.75">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.77">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)
                                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
@@ -462,7 +470,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.80">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.82">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)
                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -499,7 +507,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.84">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.86">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -508,7 +516,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.98">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.100">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toByteArray--">FilterBase</a></code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -525,7 +533,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html" title="class in org.apache.hadoop.hbase.filter">KeyOnlyFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.111">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html" title="class in org.apache.hadoop.hbase.filter">KeyOnlyFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.113">parseFrom</a>(byte[]&nbsp;pbBytes)
                                throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -542,10 +550,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>areSerializedFieldsEqual</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.128">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.130">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">FilterBase</a></code></span></div>
 <div class="block">Default implementation so that writers of custom filters aren't forced to implement.</div>
 <dl>
@@ -559,6 +567,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.139">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.148">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>


[14/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html b/devapidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html
index 745b957..c69ff75 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.423">MultiRowRangeFilter.RowRange</a>
+public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.424">MultiRowRangeFilter.RowRange</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>
 implements <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;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;</pre>
 </li>
@@ -217,22 +217,30 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
         int&nbsp;length)</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#getStartRow--">getStartRow</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#getStopRow--">getStopRow</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#isStartRowInclusive--">isStartRowInclusive</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#isStopRowInclusive--">isStopRowInclusive</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#isValid--">isValid</a></span>()</code>&nbsp;</td>
 </tr>
@@ -242,7 +250,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <!--   -->
 </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/ja
 va/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>
+<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#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#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/Ob
 ject.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>
@@ -264,7 +272,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockList">
 <li class="blockList">
 <h4>startRow</h4>
-<pre>private&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.424">startRow</a></pre>
+<pre>private&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.425">startRow</a></pre>
 </li>
 </ul>
 <a name="startRowInclusive">
@@ -273,7 +281,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockList">
 <li class="blockList">
 <h4>startRowInclusive</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.425">startRowInclusive</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.426">startRowInclusive</a></pre>
 </li>
 </ul>
 <a name="stopRow">
@@ -282,7 +290,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockList">
 <li class="blockList">
 <h4>stopRow</h4>
-<pre>private&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.426">stopRow</a></pre>
+<pre>private&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.427">stopRow</a></pre>
 </li>
 </ul>
 <a name="stopRowInclusive">
@@ -291,7 +299,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockListLast">
 <li class="blockList">
 <h4>stopRowInclusive</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.427">stopRowInclusive</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.428">stopRowInclusive</a></pre>
 </li>
 </ul>
 </li>
@@ -308,7 +316,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockList">
 <li class="blockList">
 <h4>RowRange</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.429">RowRange</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.430">RowRange</a>()</pre>
 </li>
 </ul>
 <a name="RowRange-java.lang.String-boolean-java.lang.String-boolean-">
@@ -317,7 +325,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockList">
 <li class="blockList">
 <h4>RowRange</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.436">RowRange</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;startRow,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.437">RowRange</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;startRow,
                 boolean&nbsp;startRowInclusive,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;stopRow,
                 boolean&nbsp;stopRowInclusive)</pre>
@@ -332,7 +340,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RowRange</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.444">RowRange</a>(byte[]&nbsp;startRow,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.445">RowRange</a>(byte[]&nbsp;startRow,
                 boolean&nbsp;startRowInclusive,
                 byte[]&nbsp;stopRow,
                 boolean&nbsp;stopRowInclusive)</pre>
@@ -352,7 +360,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockList">
 <li class="blockList">
 <h4>getStartRow</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.452">getStartRow</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.453">getStartRow</a>()</pre>
 </li>
 </ul>
 <a name="getStopRow--">
@@ -361,7 +369,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockList">
 <li class="blockList">
 <h4>getStopRow</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.456">getStopRow</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.457">getStopRow</a>()</pre>
 </li>
 </ul>
 <a name="isStartRowInclusive--">
@@ -370,7 +378,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockList">
 <li class="blockList">
 <h4>isStartRowInclusive</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.463">isStartRowInclusive</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.464">isStartRowInclusive</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>if start row is inclusive.</dd>
@@ -383,7 +391,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockList">
 <li class="blockList">
 <h4>isStopRowInclusive</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.470">isStopRowInclusive</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.471">isStopRowInclusive</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>if stop row is inclusive.</dd>
@@ -396,7 +404,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockList">
 <li class="blockList">
 <h4>contains</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.474">contains</a>(byte[]&nbsp;row)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.475">contains</a>(byte[]&nbsp;row)</pre>
 </li>
 </ul>
 <a name="contains-byte:A-int-int-">
@@ -405,7 +413,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockList">
 <li class="blockList">
 <h4>contains</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.478">contains</a>(byte[]&nbsp;buffer,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.479">contains</a>(byte[]&nbsp;buffer,
                         int&nbsp;offset,
                         int&nbsp;length)</pre>
 </li>
@@ -416,7 +424,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockList">
 <li class="blockList">
 <h4>compareTo</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.505">compareTo</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&nbsp;other)</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.506">compareTo</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&nbsp;other)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true#compareTo-T-" title="class or interface in java.lang">compareTo</a></code>&nbsp;in interface&nbsp;<code><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;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;</code></dd>
@@ -426,10 +434,36 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <a name="isValid--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>isValid</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.509">isValid</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.510">isValid</a>()</pre>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.518">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.533">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html b/devapidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html
index 98fc269..2060870 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":42,"i4":10,"i5":10,"i6":10,"i7":10,"i8":9,"i9":9,"i10":9,"i11":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":42,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":9,"i11":9,"i12":9,"i13":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.51">MultiRowRangeFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.52">MultiRowRangeFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></pre>
 <div class="block">Filter to support scan multiple row key ranges. It can construct the row key ranges from the
  passed list which can be accessed by each region server.
@@ -258,62 +258,70 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#filterAllRemaining--">filterAllRemaining</a></span>()</code>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentKV)</code>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#getNextRangeIndex-byte:A-">getNextRangeIndex</a></span>(byte[]&nbsp;rowKey)</code>
 <div class="block">calculate the position where the row key in the ranges list.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><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="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#getRowRanges--">getRowRanges</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>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="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#sortAndMerge-java.util.List-">sortAndMerge</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;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;ranges)</code>
 <div class="block">sort the ranges and if the ranges with overlap, then merge them.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>private static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#throwExceptionForInvalidRanges-java.util.List-boolean-">throwExceptionForInvalidRanges</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;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;invalidRanges,
                               boolean&nbsp;details)</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
@@ -339,7 +347,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -361,7 +369,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>rangeList</h4>
-<pre>private&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="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.53">rangeList</a></pre>
+<pre>private&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="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.54">rangeList</a></pre>
 </li>
 </ul>
 <a name="ROW_BEFORE_FIRST_RANGE">
@@ -370,7 +378,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>ROW_BEFORE_FIRST_RANGE</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.55">ROW_BEFORE_FIRST_RANGE</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.56">ROW_BEFORE_FIRST_RANGE</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.filter.MultiRowRangeFilter.ROW_BEFORE_FIRST_RANGE">Constant Field Values</a></dd>
@@ -383,7 +391,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>EXCLUSIVE</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.56">EXCLUSIVE</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.57">EXCLUSIVE</a></pre>
 </li>
 </ul>
 <a name="done">
@@ -392,7 +400,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>done</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.57">done</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.58">done</a></pre>
 </li>
 </ul>
 <a name="initialized">
@@ -401,7 +409,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>initialized</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.58">initialized</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.59">initialized</a></pre>
 </li>
 </ul>
 <a name="index">
@@ -410,7 +418,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>index</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.59">index</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.60">index</a></pre>
 </li>
 </ul>
 <a name="range">
@@ -419,7 +427,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>range</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.60">range</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.61">range</a></pre>
 </li>
 </ul>
 <a name="currentReturnCode">
@@ -428,7 +436,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>currentReturnCode</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.61">currentReturnCode</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.62">currentReturnCode</a></pre>
 </li>
 </ul>
 </li>
@@ -445,7 +453,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MultiRowRangeFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.66">MultiRowRangeFilter</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;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;list)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.67">MultiRowRangeFilter</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;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;list)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>list</code> - A list of <code>RowRange</code></dd>
@@ -466,7 +474,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>filterAllRemaining</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.71">filterAllRemaining</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.72">filterAllRemaining</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterAllRemaining--">FilterBase</a></code></span></div>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.
@@ -489,7 +497,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getRowRanges</h4>
-<pre>public&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="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.75">getRowRanges</a>()</pre>
+<pre>public&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="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.76">getRowRanges</a>()</pre>
 </li>
 </ul>
 <a name="filterRowKey-org.apache.hadoop.hbase.Cell-">
@@ -498,7 +506,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.80">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.81">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
  false, each KeyValue in the row will be passed to <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-"><code>Filter.filterCell(Cell)</code></a> below.
@@ -524,7 +532,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.130">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.131">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -559,7 +567,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.135">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.136">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -593,7 +601,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>getNextCellHint</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.140">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentKV)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.141">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentKV)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">FilterBase</a></code></span></div>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.
@@ -619,7 +627,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.150">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.151">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toByteArray--">FilterBase</a></code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -636,7 +644,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.173">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.174">parseFrom</a>(byte[]&nbsp;pbBytes)
                                      throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -654,7 +662,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>areSerializedFieldsEqual</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.199">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.200">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">FilterBase</a></code></span></div>
 <div class="block">Default implementation so that writers of custom filters aren't forced to implement.</div>
 <dl>
@@ -674,7 +682,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>getNextRangeIndex</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.227">getNextRangeIndex</a>(byte[]&nbsp;rowKey)</pre>
+<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.228">getNextRangeIndex</a>(byte[]&nbsp;rowKey)</pre>
 <div class="block">calculate the position where the row key in the ranges list.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -690,7 +698,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>sortAndMerge</h4>
-<pre>public static&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="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.258">sortAndMerge</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;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;ranges)</pre>
+<pre>public static&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="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.259">sortAndMerge</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;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;ranges)</pre>
 <div class="block">sort the ranges and if the ranges with overlap, then merge them.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -703,13 +711,39 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="throwExceptionForInvalidRanges-java.util.List-boolean-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>throwExceptionForInvalidRanges</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.408">throwExceptionForInvalidRanges</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;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;invalidRanges,
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.409">throwExceptionForInvalidRanges</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;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;invalidRanges,
                                                    boolean&nbsp;details)</pre>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.542">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.551">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html b/devapidocs/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html
index 306a187..03af28e 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":10,"i5":42,"i6":10,"i7":10,"i8":10,"i9":9,"i10":10,"i11":10,"i12":10};
+var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":10,"i5":10,"i6":42,"i7":10,"i8":10,"i9":10,"i10":10,"i11":9,"i12":10,"i13":10,"i14":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.41">MultipleColumnPrefixFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.43">MultipleColumnPrefixFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></pre>
 <div class="block">This filter is used for selecting only those keys with columns that matches
  a particular prefix. For example, if prefix is 'an', it will pass keys will
@@ -224,55 +224,63 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#createTreeSet--">createTreeSet</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#filterColumn-org.apache.hadoop.hbase.Cell-">filterColumn</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>byte[][]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#getPrefix--">getPrefix</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">MultipleColumnPrefixFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#toString-int-">toString</a></span>(int&nbsp;maxPrefixes)</code>&nbsp;</td>
 </tr>
@@ -296,7 +304,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -318,7 +326,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>hint</h4>
-<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.42">hint</a></pre>
+<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.44">hint</a></pre>
 </li>
 </ul>
 <a name="sortedPrefixes">
@@ -327,7 +335,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>sortedPrefixes</h4>
-<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/TreeSet.html?is-external=true" title="class or interface in java.util">TreeSet</a>&lt;byte[]&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.43">sortedPrefixes</a></pre>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/TreeSet.html?is-external=true" title="class or interface in java.util">TreeSet</a>&lt;byte[]&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.45">sortedPrefixes</a></pre>
 </li>
 </ul>
 <a name="MAX_LOG_PREFIXES">
@@ -336,7 +344,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MAX_LOG_PREFIXES</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.44">MAX_LOG_PREFIXES</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.46">MAX_LOG_PREFIXES</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.filter.MultipleColumnPrefixFilter.MAX_LOG_PREFIXES">Constant Field Values</a></dd>
@@ -357,7 +365,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MultipleColumnPrefixFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.46">MultipleColumnPrefixFilter</a>(byte[][]&nbsp;prefixes)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.48">MultipleColumnPrefixFilter</a>(byte[][]&nbsp;prefixes)</pre>
 </li>
 </ul>
 </li>
@@ -374,7 +382,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getPrefix</h4>
-<pre>public&nbsp;byte[][]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.55">getPrefix</a>()</pre>
+<pre>public&nbsp;byte[][]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.57">getPrefix</a>()</pre>
 </li>
 </ul>
 <a name="filterRowKey-org.apache.hadoop.hbase.Cell-">
@@ -383,7 +391,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.65">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.67">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -412,7 +420,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.72">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.74">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -447,7 +455,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.77">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.79">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -481,7 +489,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterColumn</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.85">filterColumn</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.87">filterColumn</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 </li>
 </ul>
 <a name="createFilterFromArguments-java.util.ArrayList-">
@@ -490,7 +498,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.109">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.111">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -499,7 +507,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.122">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.124">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toByteArray--">FilterBase</a></code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -516,7 +524,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">MultipleColumnPrefixFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.137">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">MultipleColumnPrefixFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.139">parseFrom</a>(byte[]&nbsp;pbBytes)
                                             throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -536,7 +544,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>areSerializedFieldsEqual</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.160">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.162">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">FilterBase</a></code></span></div>
 <div class="block">Default implementation so that writers of custom filters aren't forced to implement.</div>
 <dl>
@@ -556,7 +564,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>getNextCellHint</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.169">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.171">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">FilterBase</a></code></span></div>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.
@@ -582,7 +590,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createTreeSet</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/TreeSet.html?is-external=true" title="class or interface in java.util">TreeSet</a>&lt;byte[]&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.173">createTreeSet</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/TreeSet.html?is-external=true" title="class or interface in java.util">TreeSet</a>&lt;byte[]&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.175">createTreeSet</a>()</pre>
 </li>
 </ul>
 <a name="toString--">
@@ -591,7 +599,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.188">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.190">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toString--">FilterBase</a></code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -603,10 +611,36 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString-int-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.192">toString</a>(int&nbsp;maxPrefixes)</pre>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.194">toString</a>(int&nbsp;maxPrefixes)</pre>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.214">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.223">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
 </li>
 </ul>
 </li>


[33/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html
index 9b9c648..c5cb1c7 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html
@@ -28,118 +28,133 @@
 <span class="sourceLineNo">020</span>package org.apache.hadoop.hbase.filter;<a name="line.20"></a>
 <span class="sourceLineNo">021</span><a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.util.ArrayList;<a name="line.22"></a>
-<span class="sourceLineNo">023</span><a name="line.23"></a>
-<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.Cell;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.CellComparator;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.31"></a>
-<span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.33"></a>
-<span class="sourceLineNo">034</span><a name="line.34"></a>
-<span class="sourceLineNo">035</span>/**<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * A Filter that stops after the given row.  There is no "RowStopFilter" because<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * the Scan spec allows you to specify a stop row.<a name="line.37"></a>
-<span class="sourceLineNo">038</span> *<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * Use this filter to include the stop row, eg: [A,Z].<a name="line.39"></a>
-<span class="sourceLineNo">040</span> */<a name="line.40"></a>
-<span class="sourceLineNo">041</span>@InterfaceAudience.Public<a name="line.41"></a>
-<span class="sourceLineNo">042</span>public class InclusiveStopFilter extends FilterBase {<a name="line.42"></a>
-<span class="sourceLineNo">043</span>  private byte [] stopRowKey;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>  private boolean done = false;<a name="line.44"></a>
-<span class="sourceLineNo">045</span><a name="line.45"></a>
-<span class="sourceLineNo">046</span>  public InclusiveStopFilter(final byte [] stopRowKey) {<a name="line.46"></a>
-<span class="sourceLineNo">047</span>    this.stopRowKey = stopRowKey;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>  }<a name="line.48"></a>
-<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span>  public byte[] getStopRowKey() {<a name="line.50"></a>
-<span class="sourceLineNo">051</span>    return this.stopRowKey;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>  }<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>  @Deprecated<a name="line.54"></a>
-<span class="sourceLineNo">055</span>  @Override<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.56"></a>
-<span class="sourceLineNo">057</span>    return filterCell(c);<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  }<a name="line.58"></a>
-<span class="sourceLineNo">059</span><a name="line.59"></a>
-<span class="sourceLineNo">060</span>  @Override<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  public ReturnCode filterCell(final Cell c) {<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    if (done) return ReturnCode.NEXT_ROW;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>    return ReturnCode.INCLUDE;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  }<a name="line.64"></a>
-<span class="sourceLineNo">065</span><a name="line.65"></a>
-<span class="sourceLineNo">066</span>  @Override<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  public boolean filterRowKey(Cell firstRowCell) {<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    // if stopRowKey is &lt;= buffer, then true, filter row.<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    if (filterAllRemaining()) return true;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    int cmp = CellComparator.getInstance().compareRows(firstRowCell, stopRowKey, 0, stopRowKey.length);<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    done = reversed ? cmp &lt; 0 : cmp &gt; 0;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    return done;<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>  @Override<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  public boolean filterAllRemaining() {<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    return done;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  }<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>  public static Filter createFilterFromArguments (ArrayList&lt;byte []&gt; filterArguments) {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    Preconditions.checkArgument(filterArguments.size() == 1,<a name="line.81"></a>
-<span class="sourceLineNo">082</span>                                "Expected 1 but got: %s", filterArguments.size());<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    byte [] stopRowKey = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    return new InclusiveStopFilter(stopRowKey);<a name="line.84"></a>
-<span class="sourceLineNo">085</span>  }<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>   * @return The filter serialized using pb<a name="line.88"></a>
-<span class="sourceLineNo">089</span>   */<a name="line.89"></a>
-<span class="sourceLineNo">090</span>  @Override<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  public byte [] toByteArray() {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    FilterProtos.InclusiveStopFilter.Builder builder =<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      FilterProtos.InclusiveStopFilter.newBuilder();<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    if (this.stopRowKey != null) builder.setStopRowKey(<a name="line.94"></a>
-<span class="sourceLineNo">095</span>        UnsafeByteOperations.unsafeWrap(this.stopRowKey));<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    return builder.build().toByteArray();<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  }<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>   * @param pbBytes A pb serialized {@link InclusiveStopFilter} instance<a name="line.100"></a>
-<span class="sourceLineNo">101</span>   * @return An instance of {@link InclusiveStopFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>   * @throws DeserializationException<a name="line.102"></a>
-<span class="sourceLineNo">103</span>   * @see #toByteArray<a name="line.103"></a>
-<span class="sourceLineNo">104</span>   */<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  public static InclusiveStopFilter parseFrom(final byte [] pbBytes)<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  throws DeserializationException {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    FilterProtos.InclusiveStopFilter proto;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    try {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      proto = FilterProtos.InclusiveStopFilter.parseFrom(pbBytes);<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    } catch (InvalidProtocolBufferException e) {<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      throw new DeserializationException(e);<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    }<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    return new InclusiveStopFilter(proto.hasStopRowKey()?proto.getStopRowKey().toByteArray():null);<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  }<a name="line.114"></a>
-<span class="sourceLineNo">115</span><a name="line.115"></a>
-<span class="sourceLineNo">116</span>  /**<a name="line.116"></a>
-<span class="sourceLineNo">117</span>   * @param o the other filter to compare with<a name="line.117"></a>
-<span class="sourceLineNo">118</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.118"></a>
-<span class="sourceLineNo">119</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.119"></a>
-<span class="sourceLineNo">120</span>   */<a name="line.120"></a>
-<span class="sourceLineNo">121</span>  @Override<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    if (o == this) return true;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    if (!(o instanceof InclusiveStopFilter)) return false;<a name="line.124"></a>
-<span class="sourceLineNo">125</span><a name="line.125"></a>
-<span class="sourceLineNo">126</span>    InclusiveStopFilter other = (InclusiveStopFilter)o;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    return Bytes.equals(this.getStopRowKey(), other.getStopRowKey());<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>  @Override<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  public String toString() {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    return this.getClass().getSimpleName() + " " + Bytes.toStringBinary(this.stopRowKey);<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  }<a name="line.133"></a>
-<span class="sourceLineNo">134</span>}<a name="line.134"></a>
+<span class="sourceLineNo">023</span>import java.util.Objects;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.CellComparator;<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>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.34"></a>
+<span class="sourceLineNo">035</span><a name="line.35"></a>
+<span class="sourceLineNo">036</span>/**<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * A Filter that stops after the given row.  There is no "RowStopFilter" because<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * the Scan spec allows you to specify a stop row.<a name="line.38"></a>
+<span class="sourceLineNo">039</span> *<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * Use this filter to include the stop row, eg: [A,Z].<a name="line.40"></a>
+<span class="sourceLineNo">041</span> */<a name="line.41"></a>
+<span class="sourceLineNo">042</span>@InterfaceAudience.Public<a name="line.42"></a>
+<span class="sourceLineNo">043</span>public class InclusiveStopFilter extends FilterBase {<a name="line.43"></a>
+<span class="sourceLineNo">044</span>  private byte [] stopRowKey;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>  private boolean done = false;<a name="line.45"></a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span>  public InclusiveStopFilter(final byte [] stopRowKey) {<a name="line.47"></a>
+<span class="sourceLineNo">048</span>    this.stopRowKey = stopRowKey;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>  }<a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>  public byte[] getStopRowKey() {<a name="line.51"></a>
+<span class="sourceLineNo">052</span>    return this.stopRowKey;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>  }<a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span>  @Deprecated<a name="line.55"></a>
+<span class="sourceLineNo">056</span>  @Override<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    return filterCell(c);<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  }<a name="line.59"></a>
+<span class="sourceLineNo">060</span><a name="line.60"></a>
+<span class="sourceLineNo">061</span>  @Override<a name="line.61"></a>
+<span class="sourceLineNo">062</span>  public ReturnCode filterCell(final Cell c) {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    if (done) return ReturnCode.NEXT_ROW;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    return ReturnCode.INCLUDE;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>  }<a name="line.65"></a>
+<span class="sourceLineNo">066</span><a name="line.66"></a>
+<span class="sourceLineNo">067</span>  @Override<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  public boolean filterRowKey(Cell firstRowCell) {<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    // if stopRowKey is &lt;= buffer, then true, filter row.<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    if (filterAllRemaining()) return true;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    int cmp = CellComparator.getInstance().compareRows(firstRowCell, stopRowKey, 0, stopRowKey.length);<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    done = reversed ? cmp &lt; 0 : cmp &gt; 0;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    return done;<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>  @Override<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  public boolean filterAllRemaining() {<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    return done;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  }<a name="line.79"></a>
+<span class="sourceLineNo">080</span><a name="line.80"></a>
+<span class="sourceLineNo">081</span>  public static Filter createFilterFromArguments (ArrayList&lt;byte []&gt; filterArguments) {<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    Preconditions.checkArgument(filterArguments.size() == 1,<a name="line.82"></a>
+<span class="sourceLineNo">083</span>                                "Expected 1 but got: %s", filterArguments.size());<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    byte [] stopRowKey = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    return new InclusiveStopFilter(stopRowKey);<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>   * @return The filter serialized using pb<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   */<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  @Override<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  public byte [] toByteArray() {<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    FilterProtos.InclusiveStopFilter.Builder builder =<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      FilterProtos.InclusiveStopFilter.newBuilder();<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    if (this.stopRowKey != null) builder.setStopRowKey(<a name="line.95"></a>
+<span class="sourceLineNo">096</span>        UnsafeByteOperations.unsafeWrap(this.stopRowKey));<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    return builder.build().toByteArray();<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>   * @param pbBytes A pb serialized {@link InclusiveStopFilter} instance<a name="line.101"></a>
+<span class="sourceLineNo">102</span>   * @return An instance of {@link InclusiveStopFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>   * @throws DeserializationException<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   * @see #toByteArray<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   */<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  public static InclusiveStopFilter parseFrom(final byte [] pbBytes)<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  throws DeserializationException {<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    FilterProtos.InclusiveStopFilter proto;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    try {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      proto = FilterProtos.InclusiveStopFilter.parseFrom(pbBytes);<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    } catch (InvalidProtocolBufferException e) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>      throw new DeserializationException(e);<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    }<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    return new InclusiveStopFilter(proto.hasStopRowKey()?proto.getStopRowKey().toByteArray():null);<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  }<a name="line.115"></a>
+<span class="sourceLineNo">116</span><a name="line.116"></a>
+<span class="sourceLineNo">117</span>  /**<a name="line.117"></a>
+<span class="sourceLineNo">118</span>   * @param o the other filter to compare with<a name="line.118"></a>
+<span class="sourceLineNo">119</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.119"></a>
+<span class="sourceLineNo">120</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.120"></a>
+<span class="sourceLineNo">121</span>   */<a name="line.121"></a>
+<span class="sourceLineNo">122</span>  @Override<a name="line.122"></a>
+<span class="sourceLineNo">123</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    if (o == this) return true;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    if (!(o instanceof InclusiveStopFilter)) return false;<a name="line.125"></a>
+<span class="sourceLineNo">126</span><a name="line.126"></a>
+<span class="sourceLineNo">127</span>    InclusiveStopFilter other = (InclusiveStopFilter)o;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    return Bytes.equals(this.getStopRowKey(), other.getStopRowKey());<a name="line.128"></a>
+<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span>  @Override<a name="line.131"></a>
+<span class="sourceLineNo">132</span>  public String toString() {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    return this.getClass().getSimpleName() + " " + Bytes.toStringBinary(this.stopRowKey);<a name="line.133"></a>
+<span class="sourceLineNo">134</span>  }<a name="line.134"></a>
+<span class="sourceLineNo">135</span><a name="line.135"></a>
+<span class="sourceLineNo">136</span>  @Override<a name="line.136"></a>
+<span class="sourceLineNo">137</span>  public boolean equals(Object obj) {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    if (obj == null || (!(obj instanceof InclusiveStopFilter))) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      return false;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    }<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    InclusiveStopFilter f = (InclusiveStopFilter) obj;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    return this.areSerializedFieldsEqual(f);<a name="line.142"></a>
+<span class="sourceLineNo">143</span>  }<a name="line.143"></a>
+<span class="sourceLineNo">144</span><a name="line.144"></a>
+<span class="sourceLineNo">145</span>  @Override<a name="line.145"></a>
+<span class="sourceLineNo">146</span>  public int hashCode() {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    return Objects.hash(Bytes.hashCode(this.stopRowKey));<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  }<a name="line.148"></a>
+<span class="sourceLineNo">149</span>}<a name="line.149"></a>
 
 
 


[07/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/security/access/AccessControlFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/access/AccessControlFilter.html b/devapidocs/org/apache/hadoop/hbase/security/access/AccessControlFilter.html
index 37027c0..4e28610 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/access/AccessControlFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/access/AccessControlFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":9,"i3":10,"i4":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":9,"i5":10,"i6":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-class <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.51">AccessControlFilter</a>
+class <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.52">AccessControlFilter</a>
 extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></pre>
 <div class="block"><strong>NOTE: for internal use only by AccessController implementation</strong>
 
@@ -268,29 +268,37 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.html" title="class in org.apache.hadoop.hbase.security.access">AccessControlFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.html#reset--">reset</a></span>()</code>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
@@ -316,7 +324,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -338,7 +346,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>authManager</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/security/access/TableAuthManager.html" title="class in org.apache.hadoop.hbase.security.access">TableAuthManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.60">authManager</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/security/access/TableAuthManager.html" title="class in org.apache.hadoop.hbase.security.access">TableAuthManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.61">authManager</a></pre>
 </li>
 </ul>
 <a name="table">
@@ -347,7 +355,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>table</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.61">table</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.62">table</a></pre>
 </li>
 </ul>
 <a name="user">
@@ -356,7 +364,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>user</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.62">user</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.63">user</a></pre>
 </li>
 </ul>
 <a name="isSystemTable">
@@ -365,7 +373,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>isSystemTable</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.63">isSystemTable</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.64">isSystemTable</a></pre>
 </li>
 </ul>
 <a name="strategy">
@@ -374,7 +382,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>strategy</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html" title="enum in org.apache.hadoop.hbase.security.access">AccessControlFilter.Strategy</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.64">strategy</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html" title="enum in org.apache.hadoop.hbase.security.access">AccessControlFilter.Strategy</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.65">strategy</a></pre>
 </li>
 </ul>
 <a name="cfVsMaxVersions">
@@ -383,7 +391,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>cfVsMaxVersions</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.65">cfVsMaxVersions</a></pre>
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.66">cfVsMaxVersions</a></pre>
 </li>
 </ul>
 <a name="familyMaxVersions">
@@ -392,7 +400,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>familyMaxVersions</h4>
-<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.66">familyMaxVersions</a></pre>
+<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.67">familyMaxVersions</a></pre>
 </li>
 </ul>
 <a name="currentVersions">
@@ -401,7 +409,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>currentVersions</h4>
-<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.67">currentVersions</a></pre>
+<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.68">currentVersions</a></pre>
 </li>
 </ul>
 <a name="prevFam">
@@ -410,7 +418,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>prevFam</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.68">prevFam</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.69">prevFam</a></pre>
 </li>
 </ul>
 <a name="prevQual">
@@ -419,7 +427,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <ul class="blockListLast">
 <li class="blockList">
 <h4>prevQual</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.69">prevQual</a></pre>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.70">prevQual</a></pre>
 </li>
 </ul>
 </li>
@@ -436,7 +444,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>AccessControlFilter</h4>
-<pre><a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.74">AccessControlFilter</a>()</pre>
+<pre><a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.75">AccessControlFilter</a>()</pre>
 <div class="block">For Writable</div>
 </li>
 </ul>
@@ -446,7 +454,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AccessControlFilter</h4>
-<pre><a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.77">AccessControlFilter</a>(<a href="../../../../../../org/apache/hadoop/hbase/security/access/TableAuthManager.html" title="class in org.apache.hadoop.hbase.security.access">TableAuthManager</a>&nbsp;mgr,
+<pre><a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.78">AccessControlFilter</a>(<a href="../../../../../../org/apache/hadoop/hbase/security/access/TableAuthManager.html" title="class in org.apache.hadoop.hbase.security.access">TableAuthManager</a>&nbsp;mgr,
                     <a href="../../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;ugi,
                     <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                     <a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html" title="enum in org.apache.hadoop.hbase.security.access">AccessControlFilter.Strategy</a>&nbsp;strategy,
@@ -467,7 +475,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.90">filterRowKey</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.91">filterRowKey</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -495,7 +503,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.96">filterCell</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.97">filterCell</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -529,7 +537,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.147">reset</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.148">reset</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#reset--">FilterBase</a></code></span></div>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
@@ -553,7 +561,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.158">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.159">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toByteArray--">FilterBase</a></code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -567,10 +575,10 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <a name="parseFrom-byte:A-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.html" title="class in org.apache.hadoop.hbase.security.access">AccessControlFilter</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.170">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.html" title="class in org.apache.hadoop.hbase.security.access">AccessControlFilter</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.171">parseFrom</a>(byte[]&nbsp;pbBytes)
                                      throws <a href="../../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -584,6 +592,32 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.179">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.195">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html b/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
index 8a2815f..f594c43 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
@@ -142,9 +142,9 @@
 <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.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/Permission.Action.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">Permission.Action</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessControlFilter.Strategy</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.OpType.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessController.OpType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/Permission.Action.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">Permission.Action</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/package-tree.html b/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
index 13f949c..dfa02b5 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
@@ -191,9 +191,9 @@
 <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.security.<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">SaslUtil.QualityOfProtection</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">AuthMethod</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/SaslStatus.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">SaslStatus</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">AuthMethod</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">SaslUtil.QualityOfProtection</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityController.DeleteVersionVisibilityExpressionFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityController.DeleteVersionVisibilityExpressionFilter.html b/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityController.DeleteVersionVisibilityExpressionFilter.html
index ae8b38c..1868a81 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityController.DeleteVersionVisibilityExpressionFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityController.DeleteVersionVisibilityExpressionFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -207,17 +207,25 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityController.DeleteVersionVisibilityExpressionFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityController.DeleteVersionVisibilityExpressionFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityController.DeleteVersionVisibilityExpressionFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityController.DeleteVersionVisibilityExpressionFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.filter.FilterBase">
@@ -238,7 +246,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -329,7 +337,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <a name="filterCell-org.apache.hadoop.hbase.Cell-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityController.DeleteVersionVisibilityExpressionFilter.html#line.1028">filterCell</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
@@ -363,6 +371,32 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityController.DeleteVersionVisibilityExpressionFilter.html#line.1042">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityController.DeleteVersionVisibilityExpressionFilter.html#line.1055">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityController.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityController.html b/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityController.html
index d54f8dd..0dedc8b 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityController.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityController.html
@@ -1500,7 +1500,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/coprocessor/Master
 <ul class="blockListLast">
 <li class="blockList">
 <h4>buildException</h4>
-<pre>private static&nbsp;org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.NameBytesPair&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityController.html#line.1048">buildException</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;t)</pre>
+<pre>private static&nbsp;org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.NameBytesPair&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityController.html#line.1065">buildException</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;t)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>t</code> - </dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html b/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html
index 59b3258..35007fe 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-class <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#line.36">VisibilityLabelFilter</a>
+class <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#line.37">VisibilityLabelFilter</a>
 extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></pre>
 <div class="block">This Filter checks the visibility expression with each KV against visibility labels associated
  with the scan. Based on the check the KV is included in the scan result or gets filtered out.</div>
@@ -222,18 +222,26 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#reset--">reset</a></span>()</code>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
@@ -260,7 +268,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -282,7 +290,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>expEvaluator</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityExpEvaluator.html" title="interface in org.apache.hadoop.hbase.security.visibility">VisibilityExpEvaluator</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#line.38">expEvaluator</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityExpEvaluator.html" title="interface in org.apache.hadoop.hbase.security.visibility">VisibilityExpEvaluator</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#line.39">expEvaluator</a></pre>
 </li>
 </ul>
 <a name="cfVsMaxVersions">
@@ -291,7 +299,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>cfVsMaxVersions</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#line.39">cfVsMaxVersions</a></pre>
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#line.40">cfVsMaxVersions</a></pre>
 </li>
 </ul>
 <a name="curFamily">
@@ -300,7 +308,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>curFamily</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#line.40">curFamily</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#line.41">curFamily</a></pre>
 </li>
 </ul>
 <a name="curQualifier">
@@ -309,7 +317,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>curQualifier</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#line.41">curQualifier</a></pre>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#line.42">curQualifier</a></pre>
 </li>
 </ul>
 <a name="curFamilyMaxVersions">
@@ -318,7 +326,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>curFamilyMaxVersions</h4>
-<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#line.42">curFamilyMaxVersions</a></pre>
+<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#line.43">curFamilyMaxVersions</a></pre>
 </li>
 </ul>
 <a name="curQualMetVersions">
@@ -327,7 +335,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <ul class="blockListLast">
 <li class="blockList">
 <h4>curQualMetVersions</h4>
-<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#line.43">curQualMetVersions</a></pre>
+<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#line.44">curQualMetVersions</a></pre>
 </li>
 </ul>
 </li>
@@ -344,7 +352,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <ul class="blockListLast">
 <li class="blockList">
 <h4>VisibilityLabelFilter</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#line.45">VisibilityLabelFilter</a>(<a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityExpEvaluator.html" title="interface in org.apache.hadoop.hbase.security.visibility">VisibilityExpEvaluator</a>&nbsp;expEvaluator,
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#line.46">VisibilityLabelFilter</a>(<a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityExpEvaluator.html" title="interface in org.apache.hadoop.hbase.security.visibility">VisibilityExpEvaluator</a>&nbsp;expEvaluator,
                              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/util/ByteRange.html" title="interface in org.apache.hadoop.hbase.util">ByteRange</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;cfVsMaxVersions)</pre>
 </li>
 </ul>
@@ -362,7 +370,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#line.54">filterRowKey</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#line.55">filterRowKey</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -390,7 +398,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#line.60">filterCell</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#line.61">filterCell</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -424,10 +432,10 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 <a name="reset--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#line.87">reset</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#line.88">reset</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#reset--">FilterBase</a></code></span></div>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
@@ -445,6 +453,32 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/filter/FilterBase.htm
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#line.95">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#line.108">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html b/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
index 81a90a9..2923faf 100644
--- a/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
@@ -199,8 +199,8 @@
 <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.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">MetricsThriftServerSourceFactoryImpl.FactoryStorage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/ThriftServerRunner.ImplType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ThriftServerRunner.ImplType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">MetricsThriftServerSourceFactoryImpl.FactoryStorage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/ThriftMetrics.ThriftServerType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ThriftMetrics.ThriftServerType</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/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 df0a9b2..d611005 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
@@ -515,14 +515,14 @@
 <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/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/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/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/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/ChecksumType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">ChecksumType</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/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/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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
index c6caa9b..bcb1724 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -191,8 +191,8 @@
 <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.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALFactory.Providers</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.Strategies.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">RegionGroupingProvider.Strategies</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALFactory.Providers</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/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 7de38f1..445ef00 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 = "6a5b4f2a5c188f8eef4f2250b8b7db7dd1e750e4";<a name="line.11"></a>
+<span class="sourceLineNo">011</span>  public static final String revision = "a452487a9b82bfd33bc10683c3f8b8ae74d58883";<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 = "Thu Aug 23 14:38:46 UTC 2018";<a name="line.13"></a>
+<span class="sourceLineNo">013</span>  public static final String date = "Fri Aug 24 14:38:46 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 = "1e08aed9fad639e572ab4a3a705f2a05";<a name="line.15"></a>
+<span class="sourceLineNo">015</span>  public static final String srcChecksum = "6a771691f343c60ea56a144f9db58ab5";<a name="line.15"></a>
 <span class="sourceLineNo">016</span>}<a name="line.16"></a>
 
 


[39/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html
index ad7c82a..1dfa7b8 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html
@@ -29,307 +29,322 @@
 <span class="sourceLineNo">021</span><a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
 <span class="sourceLineNo">023</span>import java.util.ArrayList;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.CompareOperator;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.29"></a>
-<span class="sourceLineNo">030</span><a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.31"></a>
-<span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.CompareType;<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>/**<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * This is a generic filter to be used to filter by comparison.  It takes an<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * operator (equal, greater, not equal, etc) and a byte [] comparator.<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * &lt;p&gt;<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * To filter by row key, use {@link RowFilter}.<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * &lt;p&gt;<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * To filter by column family, use {@link FamilyFilter}.<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * &lt;p&gt;<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * To filter by column qualifier, use {@link QualifierFilter}.<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * &lt;p&gt;<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * To filter by value, use {@link ValueFilter}.<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * &lt;p&gt;<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * These filters can be wrapped with {@link SkipFilter} and {@link WhileMatchFilter}<a name="line.50"></a>
-<span class="sourceLineNo">051</span> * to add more control.<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * &lt;p&gt;<a name="line.52"></a>
-<span class="sourceLineNo">053</span> * Multiple filters can be combined using {@link FilterList}.<a name="line.53"></a>
-<span class="sourceLineNo">054</span> */<a name="line.54"></a>
-<span class="sourceLineNo">055</span>@InterfaceAudience.Public<a name="line.55"></a>
-<span class="sourceLineNo">056</span>public abstract class CompareFilter extends FilterBase {<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  /**<a name="line.57"></a>
-<span class="sourceLineNo">058</span>   * Comparison operators. For filters only!<a name="line.58"></a>
-<span class="sourceLineNo">059</span>   * Use {@link CompareOperator} otherwise.<a name="line.59"></a>
-<span class="sourceLineNo">060</span>   * It (intentionally) has at least the below enums with same names.<a name="line.60"></a>
-<span class="sourceLineNo">061</span>   * @deprecated  since 2.0.0. Will be removed in 3.0.0. Use {@link CompareOperator} instead.<a name="line.61"></a>
-<span class="sourceLineNo">062</span>   */<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  @Deprecated<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  @InterfaceAudience.Public<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  public enum CompareOp {<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    /** less than */<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    LESS,<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    /** less than or equal to */<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    LESS_OR_EQUAL,<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    /** equals */<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    EQUAL,<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    /** not equal */<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    NOT_EQUAL,<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    /** greater than or equal to */<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    GREATER_OR_EQUAL,<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    /** greater than */<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    GREATER,<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    /** no operation */<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    NO_OP,<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  }<a name="line.80"></a>
-<span class="sourceLineNo">081</span><a name="line.81"></a>
-<span class="sourceLineNo">082</span>  protected CompareOperator op;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  protected ByteArrayComparable comparator;<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  /**<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   * Constructor.<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   * @param compareOp the compare op for row matching<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   * @param comparator the comparator for row matching<a name="line.88"></a>
-<span class="sourceLineNo">089</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0. Use other constructor.<a name="line.89"></a>
-<span class="sourceLineNo">090</span>   */<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  @Deprecated<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  public CompareFilter(final CompareOp compareOp,<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      final ByteArrayComparable comparator) {<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    this(CompareOperator.valueOf(compareOp.name()), comparator);<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  }<a name="line.95"></a>
-<span class="sourceLineNo">096</span><a name="line.96"></a>
-<span class="sourceLineNo">097</span>  /**<a name="line.97"></a>
-<span class="sourceLineNo">098</span>   * Constructor.<a name="line.98"></a>
-<span class="sourceLineNo">099</span>   * @param op the compare op for row matching<a name="line.99"></a>
-<span class="sourceLineNo">100</span>   * @param comparator the comparator for row matching<a name="line.100"></a>
-<span class="sourceLineNo">101</span>   */<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  public CompareFilter(final CompareOperator op,<a name="line.102"></a>
-<span class="sourceLineNo">103</span>                       final ByteArrayComparable comparator) {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    this.op = op;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    this.comparator = comparator;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  }<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  /**<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   * @return operator<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   * @deprecated  since 2.0.0. Will be removed in 3.0.0. Use {@link #getCompareOperator()} instead.<a name="line.110"></a>
-<span class="sourceLineNo">111</span>   */<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  @Deprecated<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public CompareOp getOperator() {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    return CompareOp.valueOf(op.name());<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  }<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  public CompareOperator getCompareOperator() {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    return op;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  }<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>  /**<a name="line.121"></a>
-<span class="sourceLineNo">122</span>   * @return the comparator<a name="line.122"></a>
-<span class="sourceLineNo">123</span>   */<a name="line.123"></a>
-<span class="sourceLineNo">124</span>  public ByteArrayComparable getComparator() {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    return comparator;<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>  @Override<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    return false;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  }<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>  /**<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * Use {@link #compareRow(CompareOperator, ByteArrayComparable, Cell)}<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   */<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  @Deprecated<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  protected boolean compareRow(final CompareOp compareOp, final ByteArrayComparable comparator,<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      final Cell cell) {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      return true;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    }<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    int compareResult = PrivateCellUtil.compareRow(cell, comparator);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    return compare(compareOp, compareResult);<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  }<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  protected boolean compareRow(final CompareOperator op, final ByteArrayComparable comparator,<a name="line.148"></a>
-<span class="sourceLineNo">149</span>                               final Cell cell) {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    if (op == CompareOperator.NO_OP) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      return true;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    int compareResult = PrivateCellUtil.compareRow(cell, comparator);<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    return compare(op, compareResult);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  }<a name="line.155"></a>
-<span class="sourceLineNo">156</span><a name="line.156"></a>
-<span class="sourceLineNo">157</span>  /**<a name="line.157"></a>
-<span class="sourceLineNo">158</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.158"></a>
-<span class="sourceLineNo">159</span>   * Use {@link #compareFamily(CompareOperator, ByteArrayComparable, Cell)}<a name="line.159"></a>
-<span class="sourceLineNo">160</span>   */<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  @Deprecated<a name="line.161"></a>
-<span class="sourceLineNo">162</span>  protected boolean compareFamily(final CompareOp compareOp, final ByteArrayComparable comparator,<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      final Cell cell) {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      return true;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    }<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    int compareResult = PrivateCellUtil.compareFamily(cell, comparator);<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    return compare(compareOp, compareResult);<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  }<a name="line.169"></a>
-<span class="sourceLineNo">170</span><a name="line.170"></a>
-<span class="sourceLineNo">171</span>  protected boolean compareFamily(final CompareOperator op, final ByteArrayComparable comparator,<a name="line.171"></a>
-<span class="sourceLineNo">172</span>                                  final Cell cell) {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    if (op == CompareOperator.NO_OP) {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      return true;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    }<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    int compareResult = PrivateCellUtil.compareFamily(cell, comparator);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    return compare(op, compareResult);<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  }<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span>  /**<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   * Use {@link #compareQualifier(CompareOperator, ByteArrayComparable, Cell)}<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   */<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  @Deprecated<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  protected boolean compareQualifier(final CompareOp compareOp,<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      final ByteArrayComparable comparator, final Cell cell) {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    // We do not call through to the non-deprecated method for perf reasons.<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      return true;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    }<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    int compareResult = PrivateCellUtil.compareQualifier(cell, comparator);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    return compare(compareOp, compareResult);<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  }<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span>  protected boolean compareQualifier(final CompareOperator op,<a name="line.195"></a>
-<span class="sourceLineNo">196</span>                                     final ByteArrayComparable comparator, final Cell cell) {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    // We do not call through to the non-deprecated method for perf reasons.<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    if (op == CompareOperator.NO_OP) {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      return true;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    }<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    int compareResult = PrivateCellUtil.compareQualifier(cell, comparator);<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    return compare(op, compareResult);<a name="line.202"></a>
-<span class="sourceLineNo">203</span>  }<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  /**<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.206"></a>
-<span class="sourceLineNo">207</span>   * Use {@link #compareValue(CompareOperator, ByteArrayComparable, Cell)}<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   */<a name="line.208"></a>
-<span class="sourceLineNo">209</span>  @Deprecated<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  protected boolean compareValue(final CompareOp compareOp, final ByteArrayComparable comparator,<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      final Cell cell) {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    // We do not call through to the non-deprecated method for perf reasons.<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      return true;<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    }<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    int compareResult = PrivateCellUtil.compareValue(cell, comparator);<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    return compare(compareOp, compareResult);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  }<a name="line.218"></a>
-<span class="sourceLineNo">219</span><a name="line.219"></a>
-<span class="sourceLineNo">220</span>  protected boolean compareValue(final CompareOperator op, final ByteArrayComparable comparator,<a name="line.220"></a>
-<span class="sourceLineNo">221</span>                                 final Cell cell) {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    if (op == CompareOperator.NO_OP) {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      return true;<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    }<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    int compareResult = PrivateCellUtil.compareValue(cell, comparator);<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    return compare(op, compareResult);<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  }<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  static boolean compare(final CompareOp op, int compareResult) {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    switch (op) {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    case LESS:<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      return compareResult &lt;= 0;<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    case LESS_OR_EQUAL:<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      return compareResult &lt; 0;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    case EQUAL:<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      return compareResult != 0;<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    case NOT_EQUAL:<a name="line.237"></a>
-<span class="sourceLineNo">238</span>      return compareResult == 0;<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    case GREATER_OR_EQUAL:<a name="line.239"></a>
-<span class="sourceLineNo">240</span>      return compareResult &gt; 0;<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    case GREATER:<a name="line.241"></a>
-<span class="sourceLineNo">242</span>      return compareResult &gt;= 0;<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    default:<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      throw new RuntimeException("Unknown Compare op " + op.name());<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    }<a name="line.245"></a>
-<span class="sourceLineNo">246</span>  }<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  static boolean compare(final CompareOperator op, int compareResult) {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    switch (op) {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      case LESS:<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        return compareResult &lt;= 0;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      case LESS_OR_EQUAL:<a name="line.252"></a>
-<span class="sourceLineNo">253</span>        return compareResult &lt; 0;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      case EQUAL:<a name="line.254"></a>
-<span class="sourceLineNo">255</span>        return compareResult != 0;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      case NOT_EQUAL:<a name="line.256"></a>
-<span class="sourceLineNo">257</span>        return compareResult == 0;<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      case GREATER_OR_EQUAL:<a name="line.258"></a>
-<span class="sourceLineNo">259</span>        return compareResult &gt; 0;<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      case GREATER:<a name="line.260"></a>
-<span class="sourceLineNo">261</span>        return compareResult &gt;= 0;<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      default:<a name="line.262"></a>
-<span class="sourceLineNo">263</span>        throw new RuntimeException("Unknown Compare op " + op.name());<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    }<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  }<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>  // returns an array of heterogeneous objects<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  public static ArrayList&lt;Object&gt; extractArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    Preconditions.checkArgument(filterArguments.size() == 2,<a name="line.269"></a>
-<span class="sourceLineNo">270</span>                                "Expected 2 but got: %s", filterArguments.size());<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    CompareOperator op = ParseFilter.createCompareOperator(filterArguments.get(0));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    ByteArrayComparable comparator = ParseFilter.createComparator(<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      ParseFilter.removeQuotesFromByteArray(filterArguments.get(1)));<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>    if (comparator instanceof RegexStringComparator ||<a name="line.275"></a>
-<span class="sourceLineNo">276</span>        comparator instanceof SubstringComparator) {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      if (op != CompareOperator.EQUAL &amp;&amp;<a name="line.277"></a>
-<span class="sourceLineNo">278</span>          op != CompareOperator.NOT_EQUAL) {<a name="line.278"></a>
-<span class="sourceLineNo">279</span>        throw new IllegalArgumentException ("A regexstring comparator and substring comparator" +<a name="line.279"></a>
-<span class="sourceLineNo">280</span>                                            " can only be used with EQUAL and NOT_EQUAL");<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      }<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    }<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    ArrayList&lt;Object&gt; arguments = new ArrayList&lt;&gt;(2);<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    arguments.add(op);<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    arguments.add(comparator);<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    return arguments;<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  }<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  /**<a name="line.289"></a>
-<span class="sourceLineNo">290</span>   * @return A pb instance to represent this instance.<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   */<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  FilterProtos.CompareFilter convert() {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    FilterProtos.CompareFilter.Builder builder =<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      FilterProtos.CompareFilter.newBuilder();<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    HBaseProtos.CompareType compareOp = CompareType.valueOf(this.op.name());<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    builder.setCompareOp(compareOp);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    if (this.comparator != null) builder.setComparator(ProtobufUtil.toComparator(this.comparator));<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    return builder.build();<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  }<a name="line.299"></a>
-<span class="sourceLineNo">300</span><a name="line.300"></a>
-<span class="sourceLineNo">301</span>  /**<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   *<a name="line.302"></a>
-<span class="sourceLineNo">303</span>   * @param o<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.305"></a>
-<span class="sourceLineNo">306</span>   */<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  @Override<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    if (o == this) return true;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    if (!(o instanceof CompareFilter)) return false;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    CompareFilter other = (CompareFilter)o;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    return this.getCompareOperator().equals(other.getCompareOperator()) &amp;&amp;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      (this.getComparator() == other.getComparator()<a name="line.313"></a>
-<span class="sourceLineNo">314</span>        || this.getComparator().areSerializedFieldsEqual(other.getComparator()));<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  }<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>  @Override<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  public String toString() {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    return String.format("%s (%s, %s)",<a name="line.319"></a>
-<span class="sourceLineNo">320</span>        this.getClass().getSimpleName(),<a name="line.320"></a>
-<span class="sourceLineNo">321</span>        this.op.name(),<a name="line.321"></a>
-<span class="sourceLineNo">322</span>        Bytes.toStringBinary(this.comparator.getValue()));<a name="line.322"></a>
-<span class="sourceLineNo">323</span>  }<a name="line.323"></a>
-<span class="sourceLineNo">324</span>}<a name="line.324"></a>
+<span class="sourceLineNo">024</span>import java.util.Objects;<a name="line.24"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.Cell;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.CompareOperator;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.30"></a>
+<span class="sourceLineNo">031</span><a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.CompareType;<a name="line.37"></a>
+<span class="sourceLineNo">038</span><a name="line.38"></a>
+<span class="sourceLineNo">039</span>/**<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * This is a generic filter to be used to filter by comparison.  It takes an<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * operator (equal, greater, not equal, etc) and a byte [] comparator.<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * &lt;p&gt;<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * To filter by row key, use {@link RowFilter}.<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * &lt;p&gt;<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * To filter by column family, use {@link FamilyFilter}.<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * &lt;p&gt;<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * To filter by column qualifier, use {@link QualifierFilter}.<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * &lt;p&gt;<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * To filter by value, use {@link ValueFilter}.<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * &lt;p&gt;<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * These filters can be wrapped with {@link SkipFilter} and {@link WhileMatchFilter}<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * to add more control.<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * &lt;p&gt;<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * Multiple filters can be combined using {@link FilterList}.<a name="line.54"></a>
+<span class="sourceLineNo">055</span> */<a name="line.55"></a>
+<span class="sourceLineNo">056</span>@InterfaceAudience.Public<a name="line.56"></a>
+<span class="sourceLineNo">057</span>public abstract class CompareFilter extends FilterBase {<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  /**<a name="line.58"></a>
+<span class="sourceLineNo">059</span>   * Comparison operators. For filters only!<a name="line.59"></a>
+<span class="sourceLineNo">060</span>   * Use {@link CompareOperator} otherwise.<a name="line.60"></a>
+<span class="sourceLineNo">061</span>   * It (intentionally) has at least the below enums with same names.<a name="line.61"></a>
+<span class="sourceLineNo">062</span>   * @deprecated  since 2.0.0. Will be removed in 3.0.0. Use {@link CompareOperator} instead.<a name="line.62"></a>
+<span class="sourceLineNo">063</span>   */<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  @Deprecated<a name="line.64"></a>
+<span class="sourceLineNo">065</span>  @InterfaceAudience.Public<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  public enum CompareOp {<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    /** less than */<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    LESS,<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    /** less than or equal to */<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    LESS_OR_EQUAL,<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    /** equals */<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    EQUAL,<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    /** not equal */<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    NOT_EQUAL,<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    /** greater than or equal to */<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    GREATER_OR_EQUAL,<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    /** greater than */<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    GREATER,<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    /** no operation */<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    NO_OP,<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  }<a name="line.81"></a>
+<span class="sourceLineNo">082</span><a name="line.82"></a>
+<span class="sourceLineNo">083</span>  protected CompareOperator op;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  protected ByteArrayComparable comparator;<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>  /**<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   * Constructor.<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   * @param compareOp the compare op for row matching<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   * @param comparator the comparator for row matching<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0. Use other constructor.<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   */<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  @Deprecated<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  public CompareFilter(final CompareOp compareOp,<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      final ByteArrayComparable comparator) {<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    this(CompareOperator.valueOf(compareOp.name()), comparator);<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  }<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>  /**<a name="line.98"></a>
+<span class="sourceLineNo">099</span>   * Constructor.<a name="line.99"></a>
+<span class="sourceLineNo">100</span>   * @param op the compare op for row matching<a name="line.100"></a>
+<span class="sourceLineNo">101</span>   * @param comparator the comparator for row matching<a name="line.101"></a>
+<span class="sourceLineNo">102</span>   */<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  public CompareFilter(final CompareOperator op,<a name="line.103"></a>
+<span class="sourceLineNo">104</span>                       final ByteArrayComparable comparator) {<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    this.op = op;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    this.comparator = comparator;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  }<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>   * @return operator<a name="line.110"></a>
+<span class="sourceLineNo">111</span>   * @deprecated  since 2.0.0. Will be removed in 3.0.0. Use {@link #getCompareOperator()} instead.<a name="line.111"></a>
+<span class="sourceLineNo">112</span>   */<a name="line.112"></a>
+<span class="sourceLineNo">113</span>  @Deprecated<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  public CompareOp getOperator() {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    return CompareOp.valueOf(op.name());<a name="line.115"></a>
+<span class="sourceLineNo">116</span>  }<a name="line.116"></a>
+<span class="sourceLineNo">117</span><a name="line.117"></a>
+<span class="sourceLineNo">118</span>  public CompareOperator getCompareOperator() {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    return op;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  }<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>  /**<a name="line.122"></a>
+<span class="sourceLineNo">123</span>   * @return the comparator<a name="line.123"></a>
+<span class="sourceLineNo">124</span>   */<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  public ByteArrayComparable getComparator() {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    return comparator;<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>  @Override<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    return false;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>  }<a name="line.133"></a>
+<span class="sourceLineNo">134</span><a name="line.134"></a>
+<span class="sourceLineNo">135</span>  /**<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   * Use {@link #compareRow(CompareOperator, ByteArrayComparable, Cell)}<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   */<a name="line.138"></a>
+<span class="sourceLineNo">139</span>  @Deprecated<a name="line.139"></a>
+<span class="sourceLineNo">140</span>  protected boolean compareRow(final CompareOp compareOp, final ByteArrayComparable comparator,<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      final Cell cell) {<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.142"></a>
+<span class="sourceLineNo">143</span>      return true;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    }<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    int compareResult = PrivateCellUtil.compareRow(cell, comparator);<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    return compare(compareOp, compareResult);<a name="line.146"></a>
+<span class="sourceLineNo">147</span>  }<a name="line.147"></a>
+<span class="sourceLineNo">148</span><a name="line.148"></a>
+<span class="sourceLineNo">149</span>  protected boolean compareRow(final CompareOperator op, final ByteArrayComparable comparator,<a name="line.149"></a>
+<span class="sourceLineNo">150</span>                               final Cell cell) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    if (op == CompareOperator.NO_OP) {<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      return true;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    }<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    int compareResult = PrivateCellUtil.compareRow(cell, comparator);<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    return compare(op, compareResult);<a name="line.155"></a>
+<span class="sourceLineNo">156</span>  }<a name="line.156"></a>
+<span class="sourceLineNo">157</span><a name="line.157"></a>
+<span class="sourceLineNo">158</span>  /**<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   * Use {@link #compareFamily(CompareOperator, ByteArrayComparable, Cell)}<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   */<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  @Deprecated<a name="line.162"></a>
+<span class="sourceLineNo">163</span>  protected boolean compareFamily(final CompareOp compareOp, final ByteArrayComparable comparator,<a name="line.163"></a>
+<span class="sourceLineNo">164</span>      final Cell cell) {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      return true;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    }<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    int compareResult = PrivateCellUtil.compareFamily(cell, comparator);<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    return compare(compareOp, compareResult);<a name="line.169"></a>
+<span class="sourceLineNo">170</span>  }<a name="line.170"></a>
+<span class="sourceLineNo">171</span><a name="line.171"></a>
+<span class="sourceLineNo">172</span>  protected boolean compareFamily(final CompareOperator op, final ByteArrayComparable comparator,<a name="line.172"></a>
+<span class="sourceLineNo">173</span>                                  final Cell cell) {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    if (op == CompareOperator.NO_OP) {<a name="line.174"></a>
+<span class="sourceLineNo">175</span>      return true;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    }<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    int compareResult = PrivateCellUtil.compareFamily(cell, comparator);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    return compare(op, compareResult);<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  }<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span>  /**<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   * Use {@link #compareQualifier(CompareOperator, ByteArrayComparable, Cell)}<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   */<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  @Deprecated<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  protected boolean compareQualifier(final CompareOp compareOp,<a name="line.186"></a>
+<span class="sourceLineNo">187</span>      final ByteArrayComparable comparator, final Cell cell) {<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    // We do not call through to the non-deprecated method for perf reasons.<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      return true;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    }<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    int compareResult = PrivateCellUtil.compareQualifier(cell, comparator);<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    return compare(compareOp, compareResult);<a name="line.193"></a>
+<span class="sourceLineNo">194</span>  }<a name="line.194"></a>
+<span class="sourceLineNo">195</span><a name="line.195"></a>
+<span class="sourceLineNo">196</span>  protected boolean compareQualifier(final CompareOperator op,<a name="line.196"></a>
+<span class="sourceLineNo">197</span>                                     final ByteArrayComparable comparator, final Cell cell) {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    // We do not call through to the non-deprecated method for perf reasons.<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    if (op == CompareOperator.NO_OP) {<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      return true;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    }<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    int compareResult = PrivateCellUtil.compareQualifier(cell, comparator);<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    return compare(op, compareResult);<a name="line.203"></a>
+<span class="sourceLineNo">204</span>  }<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>  /**<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * Use {@link #compareValue(CompareOperator, ByteArrayComparable, Cell)}<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   */<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  @Deprecated<a name="line.210"></a>
+<span class="sourceLineNo">211</span>  protected boolean compareValue(final CompareOp compareOp, final ByteArrayComparable comparator,<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      final Cell cell) {<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    // We do not call through to the non-deprecated method for perf reasons.<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      return true;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    }<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    int compareResult = PrivateCellUtil.compareValue(cell, comparator);<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    return compare(compareOp, compareResult);<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  }<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  protected boolean compareValue(final CompareOperator op, final ByteArrayComparable comparator,<a name="line.221"></a>
+<span class="sourceLineNo">222</span>                                 final Cell cell) {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    if (op == CompareOperator.NO_OP) {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      return true;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    }<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    int compareResult = PrivateCellUtil.compareValue(cell, comparator);<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    return compare(op, compareResult);<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  }<a name="line.228"></a>
+<span class="sourceLineNo">229</span><a name="line.229"></a>
+<span class="sourceLineNo">230</span>  static boolean compare(final CompareOp op, int compareResult) {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    switch (op) {<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    case LESS:<a name="line.232"></a>
+<span class="sourceLineNo">233</span>      return compareResult &lt;= 0;<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    case LESS_OR_EQUAL:<a name="line.234"></a>
+<span class="sourceLineNo">235</span>      return compareResult &lt; 0;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    case EQUAL:<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      return compareResult != 0;<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    case NOT_EQUAL:<a name="line.238"></a>
+<span class="sourceLineNo">239</span>      return compareResult == 0;<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    case GREATER_OR_EQUAL:<a name="line.240"></a>
+<span class="sourceLineNo">241</span>      return compareResult &gt; 0;<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    case GREATER:<a name="line.242"></a>
+<span class="sourceLineNo">243</span>      return compareResult &gt;= 0;<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    default:<a name="line.244"></a>
+<span class="sourceLineNo">245</span>      throw new RuntimeException("Unknown Compare op " + op.name());<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    }<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  }<a name="line.247"></a>
+<span class="sourceLineNo">248</span><a name="line.248"></a>
+<span class="sourceLineNo">249</span>  static boolean compare(final CompareOperator op, int compareResult) {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    switch (op) {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>      case LESS:<a name="line.251"></a>
+<span class="sourceLineNo">252</span>        return compareResult &lt;= 0;<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      case LESS_OR_EQUAL:<a name="line.253"></a>
+<span class="sourceLineNo">254</span>        return compareResult &lt; 0;<a name="line.254"></a>
+<span class="sourceLineNo">255</span>      case EQUAL:<a name="line.255"></a>
+<span class="sourceLineNo">256</span>        return compareResult != 0;<a name="line.256"></a>
+<span class="sourceLineNo">257</span>      case NOT_EQUAL:<a name="line.257"></a>
+<span class="sourceLineNo">258</span>        return compareResult == 0;<a name="line.258"></a>
+<span class="sourceLineNo">259</span>      case GREATER_OR_EQUAL:<a name="line.259"></a>
+<span class="sourceLineNo">260</span>        return compareResult &gt; 0;<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      case GREATER:<a name="line.261"></a>
+<span class="sourceLineNo">262</span>        return compareResult &gt;= 0;<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      default:<a name="line.263"></a>
+<span class="sourceLineNo">264</span>        throw new RuntimeException("Unknown Compare op " + op.name());<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    }<a name="line.265"></a>
+<span class="sourceLineNo">266</span>  }<a name="line.266"></a>
+<span class="sourceLineNo">267</span><a name="line.267"></a>
+<span class="sourceLineNo">268</span>  // returns an array of heterogeneous objects<a name="line.268"></a>
+<span class="sourceLineNo">269</span>  public static ArrayList&lt;Object&gt; extractArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    Preconditions.checkArgument(filterArguments.size() == 2,<a name="line.270"></a>
+<span class="sourceLineNo">271</span>                                "Expected 2 but got: %s", filterArguments.size());<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    CompareOperator op = ParseFilter.createCompareOperator(filterArguments.get(0));<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    ByteArrayComparable comparator = ParseFilter.createComparator(<a name="line.273"></a>
+<span class="sourceLineNo">274</span>      ParseFilter.removeQuotesFromByteArray(filterArguments.get(1)));<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>    if (comparator instanceof RegexStringComparator ||<a name="line.276"></a>
+<span class="sourceLineNo">277</span>        comparator instanceof SubstringComparator) {<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      if (op != CompareOperator.EQUAL &amp;&amp;<a name="line.278"></a>
+<span class="sourceLineNo">279</span>          op != CompareOperator.NOT_EQUAL) {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>        throw new IllegalArgumentException ("A regexstring comparator and substring comparator" +<a name="line.280"></a>
+<span class="sourceLineNo">281</span>                                            " can only be used with EQUAL and NOT_EQUAL");<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      }<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    }<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    ArrayList&lt;Object&gt; arguments = new ArrayList&lt;&gt;(2);<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    arguments.add(op);<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    arguments.add(comparator);<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    return arguments;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>  }<a name="line.288"></a>
+<span class="sourceLineNo">289</span><a name="line.289"></a>
+<span class="sourceLineNo">290</span>  /**<a name="line.290"></a>
+<span class="sourceLineNo">291</span>   * @return A pb instance to represent this instance.<a name="line.291"></a>
+<span class="sourceLineNo">292</span>   */<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  FilterProtos.CompareFilter convert() {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    FilterProtos.CompareFilter.Builder builder =<a name="line.294"></a>
+<span class="sourceLineNo">295</span>      FilterProtos.CompareFilter.newBuilder();<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    HBaseProtos.CompareType compareOp = CompareType.valueOf(this.op.name());<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    builder.setCompareOp(compareOp);<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    if (this.comparator != null) builder.setComparator(ProtobufUtil.toComparator(this.comparator));<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    return builder.build();<a name="line.299"></a>
+<span class="sourceLineNo">300</span>  }<a name="line.300"></a>
+<span class="sourceLineNo">301</span><a name="line.301"></a>
+<span class="sourceLineNo">302</span>  /**<a name="line.302"></a>
+<span class="sourceLineNo">303</span>   *<a name="line.303"></a>
+<span class="sourceLineNo">304</span>   * @param o<a name="line.304"></a>
+<span class="sourceLineNo">305</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.305"></a>
+<span class="sourceLineNo">306</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.306"></a>
+<span class="sourceLineNo">307</span>   */<a name="line.307"></a>
+<span class="sourceLineNo">308</span>  @Override<a name="line.308"></a>
+<span class="sourceLineNo">309</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    if (o == this) return true;<a name="line.310"></a>
+<span class="sourceLineNo">311</span>    if (!(o instanceof CompareFilter)) return false;<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    CompareFilter other = (CompareFilter)o;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    return this.getCompareOperator().equals(other.getCompareOperator()) &amp;&amp;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      (this.getComparator() == other.getComparator()<a name="line.314"></a>
+<span class="sourceLineNo">315</span>        || this.getComparator().areSerializedFieldsEqual(other.getComparator()));<a name="line.315"></a>
+<span class="sourceLineNo">316</span>  }<a name="line.316"></a>
+<span class="sourceLineNo">317</span><a name="line.317"></a>
+<span class="sourceLineNo">318</span>  @Override<a name="line.318"></a>
+<span class="sourceLineNo">319</span>  public String toString() {<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    return String.format("%s (%s, %s)",<a name="line.320"></a>
+<span class="sourceLineNo">321</span>        this.getClass().getSimpleName(),<a name="line.321"></a>
+<span class="sourceLineNo">322</span>        this.op.name(),<a name="line.322"></a>
+<span class="sourceLineNo">323</span>        Bytes.toStringBinary(this.comparator.getValue()));<a name="line.323"></a>
+<span class="sourceLineNo">324</span>  }<a name="line.324"></a>
+<span class="sourceLineNo">325</span><a name="line.325"></a>
+<span class="sourceLineNo">326</span>  @Override<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  public boolean equals(Object obj) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    if (obj == null || (!(obj instanceof CompareFilter))) {<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      return false;<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    }<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    CompareFilter f = (CompareFilter) obj;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>    return this.areSerializedFieldsEqual(f);<a name="line.332"></a>
+<span class="sourceLineNo">333</span>  }<a name="line.333"></a>
+<span class="sourceLineNo">334</span><a name="line.334"></a>
+<span class="sourceLineNo">335</span>  @Override<a name="line.335"></a>
+<span class="sourceLineNo">336</span>  public int hashCode() {<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    return Objects.hash(this.getComparator(), this.getCompareOperator());<a name="line.337"></a>
+<span class="sourceLineNo">338</span>  }<a name="line.338"></a>
+<span class="sourceLineNo">339</span>}<a name="line.339"></a>
 
 
 


[22/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/coc.html
----------------------------------------------------------------------
diff --git a/coc.html b/coc.html
index 0348c50..e294239 100644
--- a/coc.html
+++ b/coc.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180823" />
+    <meta name="Date-Revision-yyyymmdd" content="20180824" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Code of Conduct Policy
@@ -375,7 +375,7 @@ email to <a class="externalLink" href="mailto:private@hbase.apache.org">the priv
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-08-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-08-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/dependencies.html
----------------------------------------------------------------------
diff --git a/dependencies.html b/dependencies.html
index 1d56516..89c744b 100644
--- a/dependencies.html
+++ b/dependencies.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180823" />
+    <meta name="Date-Revision-yyyymmdd" content="20180824" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -440,7 +440,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-08-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-08-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/dependency-convergence.html b/dependency-convergence.html
index 70dce3f..bb4d10e 100644
--- a/dependency-convergence.html
+++ b/dependency-convergence.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180823" />
+    <meta name="Date-Revision-yyyymmdd" content="20180824" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -890,7 +890,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-08-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-08-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/dependency-info.html
----------------------------------------------------------------------
diff --git a/dependency-info.html b/dependency-info.html
index 5161863..334c8d2 100644
--- a/dependency-info.html
+++ b/dependency-info.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180823" />
+    <meta name="Date-Revision-yyyymmdd" content="20180824" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -313,7 +313,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-08-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-08-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/dependency-management.html
----------------------------------------------------------------------
diff --git a/dependency-management.html b/dependency-management.html
index bdd6a56..3302203 100644
--- a/dependency-management.html
+++ b/dependency-management.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180823" />
+    <meta name="Date-Revision-yyyymmdd" content="20180824" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Dependency Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -1005,7 +1005,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-08-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-08-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index 61492ef..c99b5c4 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -3817,21 +3817,21 @@
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#date">date</a></code></td>
-<td class="colLast"><code>"Thu Aug 23 14:38:46 UTC 2018"</code></td>
+<td class="colLast"><code>"Fri Aug 24 14:38:46 UTC 2018"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.revision">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#revision">revision</a></code></td>
-<td class="colLast"><code>"6a5b4f2a5c188f8eef4f2250b8b7db7dd1e750e4"</code></td>
+<td class="colLast"><code>"a452487a9b82bfd33bc10683c3f8b8ae74d58883"</code></td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.srcChecksum">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#srcChecksum">srcChecksum</a></code></td>
-<td class="colLast"><code>"1e08aed9fad639e572ab4a3a705f2a05"</code></td>
+<td class="colLast"><code>"6a771691f343c60ea56a144f9db58ab5"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.url">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index ef0e429..0797571 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -28367,8 +28367,66 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/BigDecimalComparator.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/BigDecimalComparator.html" title="class in org.apache.hadoop.hbase.filter">BigDecimalComparator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnCountGetFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnPaginationFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnPrefixFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/ColumnRangeFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnRangeFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/ColumnValueFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/ColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnValueFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/CompareFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/DependentColumnFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/DependentColumnFilter.html" title="class in org.apache.hadoop.hbase.filter">DependentColumnFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/FamilyFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/FamilyFilter.html" title="class in org.apache.hadoop.hbase.filter">FamilyFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/FilterList.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/FilterList.html" title="class in org.apache.hadoop.hbase.filter">FilterList</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/FilterListWithAND.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/FilterListWithAND.html" title="class in org.apache.hadoop.hbase.filter">FilterListWithAND</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/FilterListWithOR.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/FilterListWithOR.html" title="class in org.apache.hadoop.hbase.filter">FilterListWithOR</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html" title="class in org.apache.hadoop.hbase.filter">FirstKeyValueMatchingQualifiersFilter</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/FuzzyRowFilter.html" title="class in org.apache.hadoop.hbase.filter">FuzzyRowFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/InclusiveStopFilter.html" title="class in org.apache.hadoop.hbase.filter">InclusiveStopFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/KeyOnlyFilter.html" title="class in org.apache.hadoop.hbase.filter">KeyOnlyFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">MultipleColumnPrefixFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/NullComparator.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/NullComparator.html" title="class in org.apache.hadoop.hbase.filter">NullComparator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/PageFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/PageFilter.html" title="class in org.apache.hadoop.hbase.filter">PageFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/PrefixFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/PrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">PrefixFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/QualifierFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/QualifierFilter.html" title="class in org.apache.hadoop.hbase.filter">QualifierFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/RandomRowFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/RandomRowFilter.html" title="class in org.apache.hadoop.hbase.filter">RandomRowFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/RowFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/RowFilter.html" title="class in org.apache.hadoop.hbase.filter">RowFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter">SingleColumnValueFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/SkipFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/SkipFilter.html" title="class in org.apache.hadoop.hbase.filter">SkipFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/TimestampsFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/TimestampsFilter.html" title="class in org.apache.hadoop.hbase.filter">TimestampsFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/ValueFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/ValueFilter.html" title="class in org.apache.hadoop.hbase.filter">ValueFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/WhileMatchFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/WhileMatchFilter.html" title="class in org.apache.hadoop.hbase.filter">WhileMatchFilter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HColumnDescriptor.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
@@ -28494,6 +28552,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.rsgroup.<a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/AccessControlFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/AccessControlFilter.html" title="class in org.apache.hadoop.hbase.security.access">AccessControlFilter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/Permission.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/Permission.html" title="class in org.apache.hadoop.hbase.security.access">Permission</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/TablePermission.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/TablePermission.html" title="class in org.apache.hadoop.hbase.security.access">TablePermission</a></dt>
@@ -28508,6 +28568,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/visibility/expression/LeafExpressionNode.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.security.visibility.expression.<a href="org/apache/hadoop/hbase/security/visibility/expression/LeafExpressionNode.html" title="class in org.apache.hadoop.hbase.security.visibility.expression">LeafExpressionNode</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/visibility/VisibilityController.DeleteVersionVisibilityExpressionFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.security.visibility.<a href="org/apache/hadoop/hbase/security/visibility/VisibilityController.DeleteVersionVisibilityExpressionFilter.html" title="class in org.apache.hadoop.hbase.security.visibility">VisibilityController.DeleteVersionVisibilityExpressionFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.security.visibility.<a href="org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html" title="class in org.apache.hadoop.hbase.security.visibility">VisibilityLabelFilter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ServerLoad.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ServerLoad.html" title="class in org.apache.hadoop.hbase">ServerLoad</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
@@ -55466,8 +55530,66 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/BigDecimalComparator.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/BigDecimalComparator.html" title="class in org.apache.hadoop.hbase.filter">BigDecimalComparator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnCountGetFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnPaginationFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnPrefixFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/ColumnRangeFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnRangeFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/ColumnValueFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/ColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnValueFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/CompareFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/DependentColumnFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/DependentColumnFilter.html" title="class in org.apache.hadoop.hbase.filter">DependentColumnFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/FamilyFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/FamilyFilter.html" title="class in org.apache.hadoop.hbase.filter">FamilyFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/FilterList.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/FilterList.html" title="class in org.apache.hadoop.hbase.filter">FilterList</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/FilterListWithAND.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/FilterListWithAND.html" title="class in org.apache.hadoop.hbase.filter">FilterListWithAND</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/FilterListWithOR.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/FilterListWithOR.html" title="class in org.apache.hadoop.hbase.filter">FilterListWithOR</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html" title="class in org.apache.hadoop.hbase.filter">FirstKeyValueMatchingQualifiersFilter</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/FuzzyRowFilter.html" title="class in org.apache.hadoop.hbase.filter">FuzzyRowFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/InclusiveStopFilter.html" title="class in org.apache.hadoop.hbase.filter">InclusiveStopFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/KeyOnlyFilter.html" title="class in org.apache.hadoop.hbase.filter">KeyOnlyFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">MultipleColumnPrefixFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/NullComparator.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/NullComparator.html" title="class in org.apache.hadoop.hbase.filter">NullComparator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/PageFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/PageFilter.html" title="class in org.apache.hadoop.hbase.filter">PageFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/PrefixFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/PrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">PrefixFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/QualifierFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/QualifierFilter.html" title="class in org.apache.hadoop.hbase.filter">QualifierFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/RandomRowFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/RandomRowFilter.html" title="class in org.apache.hadoop.hbase.filter">RandomRowFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/RowFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/RowFilter.html" title="class in org.apache.hadoop.hbase.filter">RowFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter">SingleColumnValueFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/SkipFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/SkipFilter.html" title="class in org.apache.hadoop.hbase.filter">SkipFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/TimestampsFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/TimestampsFilter.html" title="class in org.apache.hadoop.hbase.filter">TimestampsFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/ValueFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/ValueFilter.html" title="class in org.apache.hadoop.hbase.filter">ValueFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/WhileMatchFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/WhileMatchFilter.html" title="class in org.apache.hadoop.hbase.filter">WhileMatchFilter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HColumnDescriptor.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
@@ -55602,6 +55724,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.rsgroup.<a href="org/apache/hadoop/hbase/rsgroup/RSGroupInfo.html" title="class in org.apache.hadoop.hbase.rsgroup">RSGroupInfo</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/AccessControlFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/AccessControlFilter.html" title="class in org.apache.hadoop.hbase.security.access">AccessControlFilter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/Permission.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/Permission.html" title="class in org.apache.hadoop.hbase.security.access">Permission</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/TablePermission.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/TablePermission.html" title="class in org.apache.hadoop.hbase.security.access">TablePermission</a></dt>
@@ -55616,6 +55740,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/visibility/expression/LeafExpressionNode.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.security.visibility.expression.<a href="org/apache/hadoop/hbase/security/visibility/expression/LeafExpressionNode.html" title="class in org.apache.hadoop.hbase.security.visibility.expression">LeafExpressionNode</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/visibility/VisibilityController.DeleteVersionVisibilityExpressionFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.security.visibility.<a href="org/apache/hadoop/hbase/security/visibility/VisibilityController.DeleteVersionVisibilityExpressionFilter.html" title="class in org.apache.hadoop.hbase.security.visibility">VisibilityController.DeleteVersionVisibilityExpressionFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.security.visibility.<a href="org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.html" title="class in org.apache.hadoop.hbase.security.visibility">VisibilityLabelFilter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ServerLoad.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/ServerLoad.html" title="class in org.apache.hadoop.hbase">ServerLoad</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
@@ -116433,6 +116561,8 @@ service.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#transitReplicationPeerSyncReplicationStateAsync-java.lang.String-org.apache.hadoop.hbase.replication.SyncReplicationState-">transitReplicationPeerSyncReplicationStateAsync(String, SyncReplicationState)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/HBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">HBaseAdmin</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#transitStateAndUpdate-org.apache.hadoop.hbase.master.assignment.RegionStateNode-org.apache.hadoop.hbase.master.RegionState.State-org.apache.hadoop.hbase.master.RegionState.State...-">transitStateAndUpdate(RegionStateNode, RegionState.State, RegionState.State...)</a></span> - Method in class org.apache.hadoop.hbase.master.assignment.<a href="org/apache/hadoop/hbase/master/assignment/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignmentManager</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/PeerProcedureHandler.html#transitSyncReplicationPeerState-java.lang.String-int-org.apache.hadoop.hbase.regionserver.HRegionServer-">transitSyncReplicationPeerState(String, int, HRegionServer)</a></span> - Method in interface org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/PeerProcedureHandler.html" title="interface in org.apache.hadoop.hbase.replication.regionserver">PeerProcedureHandler</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/PeerProcedureHandlerImpl.html#transitSyncReplicationPeerState-java.lang.String-int-org.apache.hadoop.hbase.regionserver.HRegionServer-">transitSyncReplicationPeerState(String, int, HRegionServer)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/PeerProcedureHandlerImpl.html" title="class in org.apache.hadoop.hbase.replication.regionserver">PeerProcedureHandlerImpl</a></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html b/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
index a48899f..44aeebe 100644
--- a/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
@@ -167,8 +167,8 @@
 <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.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.BackupPhase.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupPhase</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupRestoreConstants.BackupCommand.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupRestoreConstants.BackupCommand</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.BackupPhase.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupPhase</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.BackupState.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupState</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupType.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupType</span></a></li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
index 32891c1..0aeed8f 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
@@ -552,24 +552,24 @@
 <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.client.<a href="../../../../../org/apache/hadoop/hbase/client/AbstractResponse.ResponseType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AbstractResponse.ResponseType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRequestFutureImpl.Retry.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncRequestFutureImpl.Retry</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Consistency</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Durability</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">TableState.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">IsolationLevel</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocateType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RegionLocateType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">SnapshotType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncProcessTask.SubmittedRows.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncProcessTask.SubmittedRows</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/ScannerCallable.MoreResults.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">ScannerCallable.MoreResults</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Scan.ReadType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MobCompactPartitionPolicy.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MobCompactPartitionPolicy</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactionState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocateType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RegionLocateType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MasterSwitchType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">IsolationLevel</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/ScannerCallable.MoreResults.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">ScannerCallable.MoreResults</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">TableState.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RequestController.ReturnCode.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RequestController.ReturnCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncProcessTask.SubmittedRows.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncProcessTask.SubmittedRows</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Durability</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AbstractResponse.ResponseType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AbstractResponse.ResponseType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Consistency</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRequestFutureImpl.Retry.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncRequestFutureImpl.Retry</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MobCompactPartitionPolicy.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MobCompactPartitionPolicy</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html b/devapidocs/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html
index 885731a..95c1443 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":42,"i5":10,"i6":10,"i7":9,"i8":10,"i9":10,"i10":10};
+var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":10,"i5":42,"i6":10,"i7":10,"i8":10,"i9":9,"i10":10,"i11":10,"i12":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.40">ColumnCountGetFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.41">ColumnCountGetFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></pre>
 <div class="block">Simple filter that returns first N columns on row only.
  This filter was written to test filters in Get and as soon as it gets
@@ -218,51 +218,59 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#filterAllRemaining--">filterAllRemaining</a></span>()</code>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#getLimit--">getLimit</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnCountGetFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#reset--">reset</a></span>()</code>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
@@ -288,7 +296,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -310,7 +318,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>limit</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.41">limit</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.42">limit</a></pre>
 </li>
 </ul>
 <a name="count">
@@ -319,7 +327,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>count</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.42">count</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.43">count</a></pre>
 </li>
 </ul>
 </li>
@@ -336,7 +344,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ColumnCountGetFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.44">ColumnCountGetFilter</a>(int&nbsp;n)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.45">ColumnCountGetFilter</a>(int&nbsp;n)</pre>
 </li>
 </ul>
 </li>
@@ -353,7 +361,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getLimit</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.49">getLimit</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.50">getLimit</a>()</pre>
 </li>
 </ul>
 <a name="filterRowKey-org.apache.hadoop.hbase.Cell-">
@@ -362,7 +370,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.54">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.55">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -390,7 +398,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>filterAllRemaining</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.61">filterAllRemaining</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.62">filterAllRemaining</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterAllRemaining--">FilterBase</a></code></span></div>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.
@@ -414,7 +422,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.67">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.68">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -449,7 +457,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.72">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.73">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -483,7 +491,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.78">reset</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.79">reset</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#reset--">FilterBase</a></code></span></div>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.
@@ -504,7 +512,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.82">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.83">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -513,7 +521,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.93">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.94">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toByteArray--">FilterBase</a></code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -530,7 +538,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnCountGetFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.106">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnCountGetFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.107">parseFrom</a>(byte[]&nbsp;pbBytes)
                                       throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -550,7 +558,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>areSerializedFieldsEqual</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.123">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.124">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">FilterBase</a></code></span></div>
 <div class="block">Default implementation so that writers of custom filters aren't forced to implement.</div>
 <dl>
@@ -567,10 +575,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.132">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.133">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toString--">FilterBase</a></code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -579,6 +587,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.138">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.147">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>


[48/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/FilterList.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/FilterList.html b/apidocs/org/apache/hadoop/hbase/filter/FilterList.html
index 6f6ebff..b026e64 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/FilterList.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/FilterList.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":42,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":9,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":42,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":9,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public final class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.46">FilterList</a>
+public final class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.47">FilterList</a>
 extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <div class="block">Implementation of <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter"><code>Filter</code></a> that represents an ordered List of Filters which will be
  evaluated with a specified boolean operator <a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html#MUST_PASS_ALL"><code>FilterList.Operator.MUST_PASS_ALL</code></a> (<code>AND</code>) or
@@ -244,24 +244,28 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#filterAllRemaining--">filterAllRemaining</a></span>()</code>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#filterRow--">filterRow</a></span>()</code>
 <div class="block">Filters that never filter by rows based on previously gathered state from
@@ -269,14 +273,14 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
  never filters a row.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#filterRowCells-java.util.List-">filterRowCells</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;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cells)</code>
 <div class="block">Filters that never filter by modifying the returned List of Cells can inherit this
  implementation that does nothing.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#filterRowKey-byte:A-int-int-">filterRowKey</a></span>(byte[]&nbsp;rowKey,
             int&nbsp;offset,
@@ -285,82 +289,86 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
  never filters anything.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><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="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#getFilters--">getFilters</a></span>()</code>
 <div class="block">Get the filters.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)</code>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#getOperator--">getOperator</a></span>()</code>
 <div class="block">Get the operator.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#hasFilterRow--">hasFilterRow</a></span>()</code>
 <div class="block">Fitlers that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#isFamilyEssential-byte:A-">isFamilyEssential</a></span>(byte[]&nbsp;name)</code>
 <div class="block">By default, we require all scan's column families to be present.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#isReversed--">isReversed</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html" title="class in org.apache.hadoop.hbase.filter">FilterList</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#reset--">reset</a></span>()</code>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#setReversed-boolean-">setReversed</a></span>(boolean&nbsp;reversed)</code>
 <div class="block">alter the reversed scan flag</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#size--">size</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 </td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">By default no transformation takes place
@@ -381,7 +389,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -403,7 +411,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>FilterList</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.65">FilterList</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a>&nbsp;operator,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.66">FilterList</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a>&nbsp;operator,
                   <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="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;filters)</pre>
 <div class="block">Constructor that takes a set of <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter"><code>Filter</code></a>s and an operator.</div>
 <dl>
@@ -419,7 +427,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>FilterList</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.81">FilterList</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;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;filters)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.82">FilterList</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;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;filters)</pre>
 <div class="block">Constructor that takes a set of <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter"><code>Filter</code></a>s. The default operator MUST_PASS_ALL is assumed.
  All filters are cloned to internal list.</div>
 <dl>
@@ -434,7 +442,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>FilterList</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.90">FilterList</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>...&nbsp;filters)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.91">FilterList</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>...&nbsp;filters)</pre>
 <div class="block">Constructor that takes a var arg number of <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter"><code>Filter</code></a>s. The default operator MUST_PASS_ALL
  is assumed.</div>
 <dl>
@@ -449,7 +457,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>FilterList</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.98">FilterList</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a>&nbsp;operator)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.99">FilterList</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a>&nbsp;operator)</pre>
 <div class="block">Constructor that takes an operator.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -463,7 +471,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FilterList</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.107">FilterList</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a>&nbsp;operator,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.108">FilterList</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a>&nbsp;operator,
                   <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>...&nbsp;filters)</pre>
 <div class="block">Constructor that takes a var arg number of <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter"><code>Filter</code></a>s and an operator.</div>
 <dl>
@@ -487,7 +495,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getOperator</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.115">getOperator</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.116">getOperator</a>()</pre>
 <div class="block">Get the operator.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -501,7 +509,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getFilters</h4>
-<pre>public&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="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.123">getFilters</a>()</pre>
+<pre>public&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="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.124">getFilters</a>()</pre>
 <div class="block">Get the filters.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -515,7 +523,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>size</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.127">size</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.128">size</a>()</pre>
 </li>
 </ul>
 <a name="addFilter-java.util.List-">
@@ -524,7 +532,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>addFilter</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.131">addFilter</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;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;filters)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.132">addFilter</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;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;filters)</pre>
 </li>
 </ul>
 <a name="addFilter-org.apache.hadoop.hbase.filter.Filter-">
@@ -533,7 +541,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>addFilter</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.139">addFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.140">addFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</pre>
 <div class="block">Add a filter.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -547,7 +555,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.144">reset</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.145">reset</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
@@ -571,7 +579,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.149">filterRowKey</a>(byte[]&nbsp;rowKey,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.150">filterRowKey</a>(byte[]&nbsp;rowKey,
                             int&nbsp;offset,
                             int&nbsp;length)
                      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>
@@ -604,7 +612,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.154">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.155">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -632,7 +640,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>filterAllRemaining</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.159">filterAllRemaining</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.160">filterAllRemaining</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
@@ -658,7 +666,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>transformCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.164">transformCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.165">transformCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">By default no transformation takes place
@@ -692,7 +700,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.170">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.171">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
                                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
@@ -730,7 +738,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.175">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.176">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -767,7 +775,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowCells</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.184">filterRowCells</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;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cells)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.185">filterRowCells</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;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cells)
                     throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Filters that never filter by modifying the returned List of Cells can inherit this
  implementation that does nothing. Filters that never filter by modifying the returned List of Cells can
@@ -793,7 +801,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>hasFilterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.189">hasFilterRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.190">hasFilterRow</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Fitlers that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.
@@ -814,7 +822,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.194">filterRow</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.195">filterRow</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that never filter by rows based on previously gathered state from
@@ -843,7 +851,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.202">toByteArray</a>()
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.203">toByteArray</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
@@ -863,7 +871,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html" title="class in org.apache.hadoop.hbase.filter">FilterList</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.218">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html" title="class in org.apache.hadoop.hbase.filter">FilterList</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.219">parseFrom</a>(byte[]&nbsp;pbBytes)
                             throws org.apache.hadoop.hbase.exceptions.DeserializationException</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -883,7 +891,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>getNextCellHint</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.254">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.255">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
@@ -912,7 +920,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>isFamilyEssential</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.259">isFamilyEssential</a>(byte[]&nbsp;name)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.260">isFamilyEssential</a>(byte[]&nbsp;name)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">By default, we require all scan's column families to be present. Our
@@ -939,7 +947,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>setReversed</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.264">setReversed</a>(boolean&nbsp;reversed)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.265">setReversed</a>(boolean&nbsp;reversed)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#setReversed-boolean-">Filter</a></code></span></div>
 <div class="block">alter the reversed scan flag</div>
 <dl>
@@ -956,7 +964,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>isReversed</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.270">isReversed</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.271">isReversed</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#isReversed--">isReversed</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></dd>
@@ -966,10 +974,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.276">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.277">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -978,6 +986,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.281">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.290">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html b/apidocs/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html
index 8a7e288..61b5c97 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":42,"i1":42,"i2":41,"i3":42};
+var methods = {"i0":42,"i1":42,"i2":42,"i3":42,"i4":41,"i5":42};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -129,7 +129,7 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre>@InterfaceAudience.Public
  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.49">FirstKeyValueMatchingQualifiersFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.50">FirstKeyValueMatchingQualifiersFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyOnlyFilter.html" title="class in org.apache.hadoop.hbase.filter">FirstKeyOnlyFilter</a></pre>
 <div class="block">The filter looks for the given columns in KeyValue. Once there is a match for
  any one of the columns, it returns ReturnCode.NEXT_ROW for remaining
@@ -209,25 +209,37 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyOnlyFilte
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#hashCode--">hashCode</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html" title="class in org.apache.hadoop.hbase.filter">FirstKeyValueMatchingQualifiersFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 &nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
@@ -261,7 +273,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyOnlyFilte
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -283,7 +295,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyOnlyFilte
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FirstKeyValueMatchingQualifiersFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.59">FirstKeyValueMatchingQualifiersFilter</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;byte[]&gt;&nbsp;qualifiers)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.60">FirstKeyValueMatchingQualifiersFilter</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;byte[]&gt;&nbsp;qualifiers)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Constructor which takes a set of columns. As soon as first KeyValue
  matching any of these columns is found, filter moves to next row.</div>
@@ -308,7 +320,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyOnlyFilte
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.65">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.66">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -343,7 +355,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.70">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.71">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -378,7 +390,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.92">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.93">toByteArray</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
@@ -393,10 +405,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="parseFrom-byte:A-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html" title="class in org.apache.hadoop.hbase.filter">FirstKeyValueMatchingQualifiersFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.107">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html" title="class in org.apache.hadoop.hbase.filter">FirstKeyValueMatchingQualifiersFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.108">parseFrom</a>(byte[]&nbsp;pbBytes)
                                                        throws org.apache.hadoop.hbase.exceptions.DeserializationException</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
@@ -411,6 +423,34 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.139">equals</a>(<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>&nbsp;obj)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.148">hashCode</a>()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html b/apidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html
index 2b6140a..2397cc0 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":42,"i3":10,"i4":9,"i5":10,"i6":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":42,"i4":10,"i5":10,"i6":9,"i7":10,"i8":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.61">FuzzyRowFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.62">FuzzyRowFilter</a>
 extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <div class="block">This is optimized version of a standard FuzzyRowFilter Filters data based on fuzzy row key.
  Performs fast-forwards during scanning. It takes pairs (row key, fuzzy info) to match row keys.
@@ -205,41 +205,49 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#filterAllRemaining--">filterAllRemaining</a></span>()</code>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)</code>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html" title="class in org.apache.hadoop.hbase.filter">FuzzyRowFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
@@ -265,7 +273,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -287,7 +295,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FuzzyRowFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.78">FuzzyRowFilter</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;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[],byte[]&gt;&gt;&nbsp;fuzzyKeysData)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.79">FuzzyRowFilter</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;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[],byte[]&gt;&gt;&nbsp;fuzzyKeysData)</pre>
 </li>
 </ul>
 </li>
@@ -305,7 +313,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.152">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.153">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -340,7 +348,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.157">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.158">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -374,7 +382,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>getNextCellHint</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.183">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.184">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.
@@ -400,7 +408,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterAllRemaining</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.259">filterAllRemaining</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.260">filterAllRemaining</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.
@@ -423,7 +431,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.267">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.268">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -440,7 +448,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html" title="class in org.apache.hadoop.hbase.filter">FuzzyRowFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.284">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.html" title="class in org.apache.hadoop.hbase.filter">FuzzyRowFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.285">parseFrom</a>(byte[]&nbsp;pbBytes)
                                 throws org.apache.hadoop.hbase.exceptions.DeserializationException</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -457,10 +465,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.303">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.304">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -469,6 +477,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.652">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.661">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>


[42/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html
index c6137d0..4ca69da 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html
@@ -29,118 +29,133 @@
 <span class="sourceLineNo">021</span><a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
 <span class="sourceLineNo">023</span>import java.util.ArrayList;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.28"></a>
-<span class="sourceLineNo">029</span><a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.31"></a>
-<span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>/**<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * Simple filter that returns first N columns on row only.<a name="line.34"></a>
-<span class="sourceLineNo">035</span> * This filter was written to test filters in Get and as soon as it gets<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * its quota of columns, {@link #filterAllRemaining()} returns true.  This<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * makes this filter unsuitable as a Scan filter.<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 ColumnCountGetFilter extends FilterBase {<a name="line.40"></a>
-<span class="sourceLineNo">041</span>  private int limit = 0;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>  private int count = 0;<a name="line.42"></a>
-<span class="sourceLineNo">043</span><a name="line.43"></a>
-<span class="sourceLineNo">044</span>  public ColumnCountGetFilter(final int n) {<a name="line.44"></a>
-<span class="sourceLineNo">045</span>    Preconditions.checkArgument(n &gt;= 0, "limit be positive %s", n);<a name="line.45"></a>
-<span class="sourceLineNo">046</span>    this.limit = n;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>  }<a name="line.47"></a>
-<span class="sourceLineNo">048</span><a name="line.48"></a>
-<span class="sourceLineNo">049</span>  public int getLimit() {<a name="line.49"></a>
-<span class="sourceLineNo">050</span>    return limit;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>  }<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>  @Override<a name="line.53"></a>
-<span class="sourceLineNo">054</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.54"></a>
-<span class="sourceLineNo">055</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.55"></a>
-<span class="sourceLineNo">056</span>    if (filterAllRemaining()) return true;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>    return false;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  }<a name="line.58"></a>
-<span class="sourceLineNo">059</span><a name="line.59"></a>
-<span class="sourceLineNo">060</span>  @Override<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  public boolean filterAllRemaining() {<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    return this.count &gt; this.limit;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  }<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span>  @Deprecated<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  @Override<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    return filterCell(c);<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  }<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>  @Override<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  public ReturnCode filterCell(final Cell c) {<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    this.count++;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    return filterAllRemaining() ? ReturnCode.NEXT_COL : ReturnCode.INCLUDE_AND_NEXT_COL;<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>  @Override<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  public void reset() {<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    this.count = 0;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  }<a name="line.80"></a>
-<span class="sourceLineNo">081</span><a name="line.81"></a>
-<span class="sourceLineNo">082</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    Preconditions.checkArgument(filterArguments.size() == 1,<a name="line.83"></a>
-<span class="sourceLineNo">084</span>                                "Expected 1 but got: %s", filterArguments.size());<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    int limit = ParseFilter.convertByteArrayToInt(filterArguments.get(0));<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    return new ColumnCountGetFilter(limit);<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>   * @return The filter serialized using pb<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   */<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  @Override<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  public byte [] toByteArray() {<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    FilterProtos.ColumnCountGetFilter.Builder builder =<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      FilterProtos.ColumnCountGetFilter.newBuilder();<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    builder.setLimit(this.limit);<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    return builder.build().toByteArray();<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>   * @param pbBytes A pb serialized {@link ColumnCountGetFilter} instance<a name="line.101"></a>
-<span class="sourceLineNo">102</span>   * @return An instance of {@link ColumnCountGetFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>   * @throws org.apache.hadoop.hbase.exceptions.DeserializationException<a name="line.103"></a>
-<span class="sourceLineNo">104</span>   * @see #toByteArray<a name="line.104"></a>
-<span class="sourceLineNo">105</span>   */<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  public static ColumnCountGetFilter parseFrom(final byte [] pbBytes)<a name="line.106"></a>
-<span class="sourceLineNo">107</span>  throws DeserializationException {<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    FilterProtos.ColumnCountGetFilter proto;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    try {<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      proto = FilterProtos.ColumnCountGetFilter.parseFrom(pbBytes);<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    } catch (InvalidProtocolBufferException e) {<a name="line.111"></a>
-<span class="sourceLineNo">112</span>      throw new DeserializationException(e);<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    }<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    return new ColumnCountGetFilter(proto.getLimit());<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  }<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  /**<a name="line.117"></a>
-<span class="sourceLineNo">118</span>   * @param o the other filter to compare with<a name="line.118"></a>
-<span class="sourceLineNo">119</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.119"></a>
-<span class="sourceLineNo">120</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   */<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  @Override<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    if (o == this) return true;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    if (!(o instanceof ColumnCountGetFilter)) return false;<a name="line.125"></a>
-<span class="sourceLineNo">126</span><a name="line.126"></a>
-<span class="sourceLineNo">127</span>    ColumnCountGetFilter other = (ColumnCountGetFilter)o;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    return this.getLimit() == other.getLimit();<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>  @Override<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  public String toString() {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    return this.getClass().getSimpleName() + " " + this.limit;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>  }<a name="line.134"></a>
-<span class="sourceLineNo">135</span>}<a name="line.135"></a>
+<span class="sourceLineNo">024</span>import java.util.Objects;<a name="line.24"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.Cell;<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>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.29"></a>
+<span class="sourceLineNo">030</span><a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>/**<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * Simple filter that returns first N columns on row only.<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * This filter was written to test filters in Get and as soon as it gets<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * its quota of columns, {@link #filterAllRemaining()} returns true.  This<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * makes this filter unsuitable as a Scan filter.<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 ColumnCountGetFilter extends FilterBase {<a name="line.41"></a>
+<span class="sourceLineNo">042</span>  private int limit = 0;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>  private int count = 0;<a name="line.43"></a>
+<span class="sourceLineNo">044</span><a name="line.44"></a>
+<span class="sourceLineNo">045</span>  public ColumnCountGetFilter(final int n) {<a name="line.45"></a>
+<span class="sourceLineNo">046</span>    Preconditions.checkArgument(n &gt;= 0, "limit be positive %s", n);<a name="line.46"></a>
+<span class="sourceLineNo">047</span>    this.limit = n;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>  }<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>  public int getLimit() {<a name="line.50"></a>
+<span class="sourceLineNo">051</span>    return limit;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>  }<a name="line.52"></a>
+<span class="sourceLineNo">053</span><a name="line.53"></a>
+<span class="sourceLineNo">054</span>  @Override<a name="line.54"></a>
+<span class="sourceLineNo">055</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.56"></a>
+<span class="sourceLineNo">057</span>    if (filterAllRemaining()) return true;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    return false;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  }<a name="line.59"></a>
+<span class="sourceLineNo">060</span><a name="line.60"></a>
+<span class="sourceLineNo">061</span>  @Override<a name="line.61"></a>
+<span class="sourceLineNo">062</span>  public boolean filterAllRemaining() {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    return this.count &gt; this.limit;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  }<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>  @Deprecated<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  @Override<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    return filterCell(c);<a name="line.69"></a>
+<span class="sourceLineNo">070</span>  }<a name="line.70"></a>
+<span class="sourceLineNo">071</span><a name="line.71"></a>
+<span class="sourceLineNo">072</span>  @Override<a name="line.72"></a>
+<span class="sourceLineNo">073</span>  public ReturnCode filterCell(final Cell c) {<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    this.count++;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    return filterAllRemaining() ? ReturnCode.NEXT_COL : ReturnCode.INCLUDE_AND_NEXT_COL;<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>  @Override<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  public void reset() {<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    this.count = 0;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  }<a name="line.81"></a>
+<span class="sourceLineNo">082</span><a name="line.82"></a>
+<span class="sourceLineNo">083</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    Preconditions.checkArgument(filterArguments.size() == 1,<a name="line.84"></a>
+<span class="sourceLineNo">085</span>                                "Expected 1 but got: %s", filterArguments.size());<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    int limit = ParseFilter.convertByteArrayToInt(filterArguments.get(0));<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    return new ColumnCountGetFilter(limit);<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>  /**<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   * @return The filter serialized using pb<a name="line.91"></a>
+<span class="sourceLineNo">092</span>   */<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  @Override<a name="line.93"></a>
+<span class="sourceLineNo">094</span>  public byte [] toByteArray() {<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    FilterProtos.ColumnCountGetFilter.Builder builder =<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      FilterProtos.ColumnCountGetFilter.newBuilder();<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    builder.setLimit(this.limit);<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    return builder.build().toByteArray();<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>   * @param pbBytes A pb serialized {@link ColumnCountGetFilter} instance<a name="line.102"></a>
+<span class="sourceLineNo">103</span>   * @return An instance of {@link ColumnCountGetFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   * @throws org.apache.hadoop.hbase.exceptions.DeserializationException<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   * @see #toByteArray<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   */<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  public static ColumnCountGetFilter parseFrom(final byte [] pbBytes)<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  throws DeserializationException {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    FilterProtos.ColumnCountGetFilter proto;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    try {<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      proto = FilterProtos.ColumnCountGetFilter.parseFrom(pbBytes);<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    } catch (InvalidProtocolBufferException e) {<a name="line.112"></a>
+<span class="sourceLineNo">113</span>      throw new DeserializationException(e);<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    }<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    return new ColumnCountGetFilter(proto.getLimit());<a name="line.115"></a>
+<span class="sourceLineNo">116</span>  }<a name="line.116"></a>
+<span class="sourceLineNo">117</span><a name="line.117"></a>
+<span class="sourceLineNo">118</span>  /**<a name="line.118"></a>
+<span class="sourceLineNo">119</span>   * @param o the other filter to compare with<a name="line.119"></a>
+<span class="sourceLineNo">120</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.120"></a>
+<span class="sourceLineNo">121</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.121"></a>
+<span class="sourceLineNo">122</span>   */<a name="line.122"></a>
+<span class="sourceLineNo">123</span>  @Override<a name="line.123"></a>
+<span class="sourceLineNo">124</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    if (o == this) return true;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    if (!(o instanceof ColumnCountGetFilter)) return false;<a name="line.126"></a>
+<span class="sourceLineNo">127</span><a name="line.127"></a>
+<span class="sourceLineNo">128</span>    ColumnCountGetFilter other = (ColumnCountGetFilter)o;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    return this.getLimit() == other.getLimit();<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  }<a name="line.130"></a>
+<span class="sourceLineNo">131</span><a name="line.131"></a>
+<span class="sourceLineNo">132</span>  @Override<a name="line.132"></a>
+<span class="sourceLineNo">133</span>  public String toString() {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    return this.getClass().getSimpleName() + " " + this.limit;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>  }<a name="line.135"></a>
+<span class="sourceLineNo">136</span><a name="line.136"></a>
+<span class="sourceLineNo">137</span>  @Override<a name="line.137"></a>
+<span class="sourceLineNo">138</span>  public boolean equals(Object obj) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    if (obj == null || (!(obj instanceof ColumnCountGetFilter))) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>      return false;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    }<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    ColumnCountGetFilter f = (ColumnCountGetFilter) obj;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    return this.areSerializedFieldsEqual(f);<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  }<a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span>  @Override<a name="line.146"></a>
+<span class="sourceLineNo">147</span>  public int hashCode() {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    return Objects.hash(this.limit);<a name="line.148"></a>
+<span class="sourceLineNo">149</span>  }<a name="line.149"></a>
+<span class="sourceLineNo">150</span>}<a name="line.150"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html
index 4fc026d..0b46d9f 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html
@@ -28,217 +28,232 @@
 <span class="sourceLineNo">020</span><a name="line.20"></a>
 <span class="sourceLineNo">021</span>import java.io.IOException;<a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.util.ArrayList;<a name="line.22"></a>
-<span class="sourceLineNo">023</span><a name="line.23"></a>
-<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.Cell;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.PrivateCellUtil;<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>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.30"></a>
-<span class="sourceLineNo">031</span><a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.34"></a>
-<span class="sourceLineNo">035</span><a name="line.35"></a>
-<span class="sourceLineNo">036</span>/**<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * A filter, based on the ColumnCountGetFilter, takes two arguments: limit and offset.<a name="line.37"></a>
-<span class="sourceLineNo">038</span> * This filter can be used for row-based indexing, where references to other tables are stored across many columns,<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * in order to efficient lookups and paginated results for end users. Only most recent versions are considered<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * for pagination.<a name="line.40"></a>
-<span class="sourceLineNo">041</span> */<a name="line.41"></a>
-<span class="sourceLineNo">042</span>@InterfaceAudience.Public<a name="line.42"></a>
-<span class="sourceLineNo">043</span>public class ColumnPaginationFilter extends FilterBase {<a name="line.43"></a>
-<span class="sourceLineNo">044</span><a name="line.44"></a>
-<span class="sourceLineNo">045</span>  private int limit = 0;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>  private int offset = -1;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>  private byte[] columnOffset = null;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>  private int count = 0;<a name="line.48"></a>
-<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span>  /**<a name="line.50"></a>
-<span class="sourceLineNo">051</span>   * Initializes filter with an integer offset and limit. The offset is arrived at<a name="line.51"></a>
-<span class="sourceLineNo">052</span>   * scanning sequentially and skipping entries. @limit number of columns are<a name="line.52"></a>
-<span class="sourceLineNo">053</span>   * then retrieved. If multiple column families are involved, the columns may be spread<a name="line.53"></a>
-<span class="sourceLineNo">054</span>   * across them.<a name="line.54"></a>
-<span class="sourceLineNo">055</span>   *<a name="line.55"></a>
-<span class="sourceLineNo">056</span>   * @param limit Max number of columns to return.<a name="line.56"></a>
-<span class="sourceLineNo">057</span>   * @param offset The integer offset where to start pagination.<a name="line.57"></a>
-<span class="sourceLineNo">058</span>   */<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  public ColumnPaginationFilter(final int limit, final int offset)<a name="line.59"></a>
-<span class="sourceLineNo">060</span>  {<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    Preconditions.checkArgument(limit &gt;= 0, "limit must be positive %s", limit);<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    Preconditions.checkArgument(offset &gt;= 0, "offset must be positive %s", offset);<a name="line.62"></a>
-<span class="sourceLineNo">063</span>    this.limit = limit;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    this.offset = offset;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  }<a name="line.65"></a>
-<span class="sourceLineNo">066</span><a name="line.66"></a>
-<span class="sourceLineNo">067</span>  /**<a name="line.67"></a>
-<span class="sourceLineNo">068</span>   * Initializes filter with a string/bookmark based offset and limit. The offset is arrived<a name="line.68"></a>
-<span class="sourceLineNo">069</span>   * at, by seeking to it using scanner hints. If multiple column families are involved,<a name="line.69"></a>
-<span class="sourceLineNo">070</span>   * pagination starts at the first column family which contains @columnOffset. Columns are<a name="line.70"></a>
-<span class="sourceLineNo">071</span>   * then retrieved sequentially upto @limit number of columns which maybe spread across<a name="line.71"></a>
-<span class="sourceLineNo">072</span>   * multiple column families, depending on how the scan is setup.<a name="line.72"></a>
-<span class="sourceLineNo">073</span>   *<a name="line.73"></a>
-<span class="sourceLineNo">074</span>   * @param limit Max number of columns to return.<a name="line.74"></a>
-<span class="sourceLineNo">075</span>   * @param columnOffset The string/bookmark offset on where to start pagination.<a name="line.75"></a>
-<span class="sourceLineNo">076</span>   */<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  public ColumnPaginationFilter(final int limit, final byte[] columnOffset) {<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    Preconditions.checkArgument(limit &gt;= 0, "limit must be positive %s", limit);<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    Preconditions.checkArgument(columnOffset != null,<a name="line.79"></a>
-<span class="sourceLineNo">080</span>                                "columnOffset must be non-null %s",<a name="line.80"></a>
-<span class="sourceLineNo">081</span>                                columnOffset);<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    this.limit = limit;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    this.columnOffset = columnOffset;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>  }<a name="line.84"></a>
-<span class="sourceLineNo">085</span><a name="line.85"></a>
-<span class="sourceLineNo">086</span>  /**<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   * @return limit<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   */<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  public int getLimit() {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    return limit;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  }<a name="line.91"></a>
-<span class="sourceLineNo">092</span><a name="line.92"></a>
-<span class="sourceLineNo">093</span>  /**<a name="line.93"></a>
-<span class="sourceLineNo">094</span>   * @return offset<a name="line.94"></a>
-<span class="sourceLineNo">095</span>   */<a name="line.95"></a>
-<span class="sourceLineNo">096</span>  public int getOffset() {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    return offset;<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>   * @return columnOffset<a name="line.101"></a>
-<span class="sourceLineNo">102</span>   */<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  public byte[] getColumnOffset() {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    return columnOffset;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  }<a name="line.105"></a>
-<span class="sourceLineNo">106</span><a name="line.106"></a>
-<span class="sourceLineNo">107</span>  @Override<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    return false;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  }<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>  @Override<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  @Deprecated<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    return filterCell(c);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
-<span class="sourceLineNo">118</span><a name="line.118"></a>
-<span class="sourceLineNo">119</span>  @Override<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  public ReturnCode filterCell(final Cell c)<a name="line.120"></a>
-<span class="sourceLineNo">121</span>  {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    if (columnOffset != null) {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      if (count &gt;= limit) {<a name="line.123"></a>
-<span class="sourceLineNo">124</span>        return ReturnCode.NEXT_ROW;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      }<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      int cmp = 0;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      // Only compare if no KV's have been seen so far.<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      if (count == 0) {<a name="line.128"></a>
-<span class="sourceLineNo">129</span>        cmp = CellUtil.compareQualifiers(c, this.columnOffset, 0, this.columnOffset.length);<a name="line.129"></a>
-<span class="sourceLineNo">130</span>      }<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      if (cmp &lt; 0) {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>        return ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      } else {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>        count++;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>        return ReturnCode.INCLUDE_AND_NEXT_COL;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      }<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    } else {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>      if (count &gt;= offset + limit) {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>        return ReturnCode.NEXT_ROW;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      }<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span>      ReturnCode code = count &lt; offset ? ReturnCode.NEXT_COL :<a name="line.142"></a>
-<span class="sourceLineNo">143</span>                                         ReturnCode.INCLUDE_AND_NEXT_COL;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      count++;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      return code;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    }<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  }<a name="line.147"></a>
-<span class="sourceLineNo">148</span><a name="line.148"></a>
-<span class="sourceLineNo">149</span>  @Override<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  public Cell getNextCellHint(Cell cell) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    return PrivateCellUtil.createFirstOnRowCol(cell, columnOffset, 0, columnOffset.length);<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>  @Override<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  public void reset()<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    this.count = 0;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  }<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    Preconditions.checkArgument(filterArguments.size() == 2,<a name="line.161"></a>
-<span class="sourceLineNo">162</span>                                "Expected 2 but got: %s", filterArguments.size());<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    int limit = ParseFilter.convertByteArrayToInt(filterArguments.get(0));<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    int offset = ParseFilter.convertByteArrayToInt(filterArguments.get(1));<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    return new ColumnPaginationFilter(limit, offset);<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 The filter serialized using pb<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   */<a name="line.170"></a>
-<span class="sourceLineNo">171</span>  @Override<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  public byte [] toByteArray() {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    FilterProtos.ColumnPaginationFilter.Builder builder =<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      FilterProtos.ColumnPaginationFilter.newBuilder();<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    builder.setLimit(this.limit);<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    if (this.offset &gt;= 0) {<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      builder.setOffset(this.offset);<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    }<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    if (this.columnOffset != null) {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      builder.setColumnOffset(UnsafeByteOperations.unsafeWrap(this.columnOffset));<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    }<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    return builder.build().toByteArray();<a name="line.182"></a>
-<span class="sourceLineNo">183</span>  }<a name="line.183"></a>
-<span class="sourceLineNo">184</span><a name="line.184"></a>
-<span class="sourceLineNo">185</span>  /**<a name="line.185"></a>
-<span class="sourceLineNo">186</span>   * @param pbBytes A pb serialized {@link ColumnPaginationFilter} instance<a name="line.186"></a>
-<span class="sourceLineNo">187</span>   * @return An instance of {@link ColumnPaginationFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>   * @throws DeserializationException<a name="line.188"></a>
-<span class="sourceLineNo">189</span>   * @see #toByteArray<a name="line.189"></a>
-<span class="sourceLineNo">190</span>   */<a name="line.190"></a>
-<span class="sourceLineNo">191</span>  public static ColumnPaginationFilter parseFrom(final byte [] pbBytes)<a name="line.191"></a>
-<span class="sourceLineNo">192</span>  throws DeserializationException {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    FilterProtos.ColumnPaginationFilter proto;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    try {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>      proto = FilterProtos.ColumnPaginationFilter.parseFrom(pbBytes);<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    } catch (InvalidProtocolBufferException e) {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      throw new DeserializationException(e);<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    }<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    if (proto.hasColumnOffset()) {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      return new ColumnPaginationFilter(proto.getLimit(),<a name="line.200"></a>
-<span class="sourceLineNo">201</span>                                        proto.getColumnOffset().toByteArray());<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    }<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    return new ColumnPaginationFilter(proto.getLimit(),proto.getOffset());<a name="line.203"></a>
-<span class="sourceLineNo">204</span>  }<a name="line.204"></a>
-<span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>  /**<a name="line.206"></a>
-<span class="sourceLineNo">207</span>   * @param o the other filter to compare with<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   */<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  @Override<a name="line.211"></a>
-<span class="sourceLineNo">212</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    if (o == this) return true;<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    if (!(o instanceof ColumnPaginationFilter)) return false;<a name="line.214"></a>
-<span class="sourceLineNo">215</span><a name="line.215"></a>
-<span class="sourceLineNo">216</span>    ColumnPaginationFilter other = (ColumnPaginationFilter)o;<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    if (this.columnOffset != null) {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      return this.getLimit() == other.getLimit() &amp;&amp;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>          Bytes.equals(this.getColumnOffset(), other.getColumnOffset());<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    }<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    return this.getLimit() == other.getLimit() &amp;&amp; this.getOffset() == other.getOffset();<a name="line.221"></a>
-<span class="sourceLineNo">222</span>  }<a name="line.222"></a>
-<span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>  @Override<a name="line.224"></a>
-<span class="sourceLineNo">225</span>  public String toString() {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    if (this.columnOffset != null) {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      return (this.getClass().getSimpleName() + "(" + this.limit + ", " +<a name="line.227"></a>
-<span class="sourceLineNo">228</span>          Bytes.toStringBinary(this.columnOffset) + ")");<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    return String.format("%s (%d, %d)", this.getClass().getSimpleName(),<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        this.limit, this.offset);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
-<span class="sourceLineNo">233</span>}<a name="line.233"></a>
+<span class="sourceLineNo">023</span>import java.util.Objects;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.PrivateCellUtil;<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>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.31"></a>
+<span class="sourceLineNo">032</span><a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.35"></a>
+<span class="sourceLineNo">036</span><a name="line.36"></a>
+<span class="sourceLineNo">037</span>/**<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * A filter, based on the ColumnCountGetFilter, takes two arguments: limit and offset.<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * This filter can be used for row-based indexing, where references to other tables are stored across many columns,<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * in order to efficient lookups and paginated results for end users. Only most recent versions are considered<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * for pagination.<a name="line.41"></a>
+<span class="sourceLineNo">042</span> */<a name="line.42"></a>
+<span class="sourceLineNo">043</span>@InterfaceAudience.Public<a name="line.43"></a>
+<span class="sourceLineNo">044</span>public class ColumnPaginationFilter extends FilterBase {<a name="line.44"></a>
+<span class="sourceLineNo">045</span><a name="line.45"></a>
+<span class="sourceLineNo">046</span>  private int limit = 0;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>  private int offset = -1;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>  private byte[] columnOffset = null;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>  private int count = 0;<a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>  /**<a name="line.51"></a>
+<span class="sourceLineNo">052</span>   * Initializes filter with an integer offset and limit. The offset is arrived at<a name="line.52"></a>
+<span class="sourceLineNo">053</span>   * scanning sequentially and skipping entries. @limit number of columns are<a name="line.53"></a>
+<span class="sourceLineNo">054</span>   * then retrieved. If multiple column families are involved, the columns may be spread<a name="line.54"></a>
+<span class="sourceLineNo">055</span>   * across them.<a name="line.55"></a>
+<span class="sourceLineNo">056</span>   *<a name="line.56"></a>
+<span class="sourceLineNo">057</span>   * @param limit Max number of columns to return.<a name="line.57"></a>
+<span class="sourceLineNo">058</span>   * @param offset The integer offset where to start pagination.<a name="line.58"></a>
+<span class="sourceLineNo">059</span>   */<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  public ColumnPaginationFilter(final int limit, final int offset)<a name="line.60"></a>
+<span class="sourceLineNo">061</span>  {<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    Preconditions.checkArgument(limit &gt;= 0, "limit must be positive %s", limit);<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    Preconditions.checkArgument(offset &gt;= 0, "offset must be positive %s", offset);<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    this.limit = limit;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    this.offset = offset;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  }<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span>  /**<a name="line.68"></a>
+<span class="sourceLineNo">069</span>   * Initializes filter with a string/bookmark based offset and limit. The offset is arrived<a name="line.69"></a>
+<span class="sourceLineNo">070</span>   * at, by seeking to it using scanner hints. If multiple column families are involved,<a name="line.70"></a>
+<span class="sourceLineNo">071</span>   * pagination starts at the first column family which contains @columnOffset. Columns are<a name="line.71"></a>
+<span class="sourceLineNo">072</span>   * then retrieved sequentially upto @limit number of columns which maybe spread across<a name="line.72"></a>
+<span class="sourceLineNo">073</span>   * multiple column families, depending on how the scan is setup.<a name="line.73"></a>
+<span class="sourceLineNo">074</span>   *<a name="line.74"></a>
+<span class="sourceLineNo">075</span>   * @param limit Max number of columns to return.<a name="line.75"></a>
+<span class="sourceLineNo">076</span>   * @param columnOffset The string/bookmark offset on where to start pagination.<a name="line.76"></a>
+<span class="sourceLineNo">077</span>   */<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  public ColumnPaginationFilter(final int limit, final byte[] columnOffset) {<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    Preconditions.checkArgument(limit &gt;= 0, "limit must be positive %s", limit);<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    Preconditions.checkArgument(columnOffset != null,<a name="line.80"></a>
+<span class="sourceLineNo">081</span>                                "columnOffset must be non-null %s",<a name="line.81"></a>
+<span class="sourceLineNo">082</span>                                columnOffset);<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    this.limit = limit;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    this.columnOffset = columnOffset;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>  }<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>   * @return limit<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   */<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  public int getLimit() {<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    return limit;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  }<a name="line.92"></a>
+<span class="sourceLineNo">093</span><a name="line.93"></a>
+<span class="sourceLineNo">094</span>  /**<a name="line.94"></a>
+<span class="sourceLineNo">095</span>   * @return offset<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   */<a name="line.96"></a>
+<span class="sourceLineNo">097</span>  public int getOffset() {<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    return offset;<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>   * @return columnOffset<a name="line.102"></a>
+<span class="sourceLineNo">103</span>   */<a name="line.103"></a>
+<span class="sourceLineNo">104</span>  public byte[] getColumnOffset() {<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    return columnOffset;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  }<a name="line.106"></a>
+<span class="sourceLineNo">107</span><a name="line.107"></a>
+<span class="sourceLineNo">108</span>  @Override<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    return false;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  }<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>  @Override<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  @Deprecated<a name="line.115"></a>
+<span class="sourceLineNo">116</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    return filterCell(c);<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  }<a name="line.118"></a>
+<span class="sourceLineNo">119</span><a name="line.119"></a>
+<span class="sourceLineNo">120</span>  @Override<a name="line.120"></a>
+<span class="sourceLineNo">121</span>  public ReturnCode filterCell(final Cell c)<a name="line.121"></a>
+<span class="sourceLineNo">122</span>  {<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    if (columnOffset != null) {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>      if (count &gt;= limit) {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>        return ReturnCode.NEXT_ROW;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      }<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      int cmp = 0;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      // Only compare if no KV's have been seen so far.<a name="line.128"></a>
+<span class="sourceLineNo">129</span>      if (count == 0) {<a name="line.129"></a>
+<span class="sourceLineNo">130</span>        cmp = CellUtil.compareQualifiers(c, this.columnOffset, 0, this.columnOffset.length);<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      }<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      if (cmp &lt; 0) {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>        return ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>      } else {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>        count++;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>        return ReturnCode.INCLUDE_AND_NEXT_COL;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      }<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    } else {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      if (count &gt;= offset + limit) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>        return ReturnCode.NEXT_ROW;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      }<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>      ReturnCode code = count &lt; offset ? ReturnCode.NEXT_COL :<a name="line.143"></a>
+<span class="sourceLineNo">144</span>                                         ReturnCode.INCLUDE_AND_NEXT_COL;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>      count++;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>      return code;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    }<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  }<a name="line.148"></a>
+<span class="sourceLineNo">149</span><a name="line.149"></a>
+<span class="sourceLineNo">150</span>  @Override<a name="line.150"></a>
+<span class="sourceLineNo">151</span>  public Cell getNextCellHint(Cell cell) {<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    return PrivateCellUtil.createFirstOnRowCol(cell, columnOffset, 0, columnOffset.length);<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>  @Override<a name="line.155"></a>
+<span class="sourceLineNo">156</span>  public void reset()<a name="line.156"></a>
+<span class="sourceLineNo">157</span>  {<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    this.count = 0;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  }<a name="line.159"></a>
+<span class="sourceLineNo">160</span><a name="line.160"></a>
+<span class="sourceLineNo">161</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    Preconditions.checkArgument(filterArguments.size() == 2,<a name="line.162"></a>
+<span class="sourceLineNo">163</span>                                "Expected 2 but got: %s", filterArguments.size());<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    int limit = ParseFilter.convertByteArrayToInt(filterArguments.get(0));<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    int offset = ParseFilter.convertByteArrayToInt(filterArguments.get(1));<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    return new ColumnPaginationFilter(limit, offset);<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 The filter serialized using pb<a name="line.170"></a>
+<span class="sourceLineNo">171</span>   */<a name="line.171"></a>
+<span class="sourceLineNo">172</span>  @Override<a name="line.172"></a>
+<span class="sourceLineNo">173</span>  public byte [] toByteArray() {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    FilterProtos.ColumnPaginationFilter.Builder builder =<a name="line.174"></a>
+<span class="sourceLineNo">175</span>      FilterProtos.ColumnPaginationFilter.newBuilder();<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    builder.setLimit(this.limit);<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    if (this.offset &gt;= 0) {<a name="line.177"></a>
+<span class="sourceLineNo">178</span>      builder.setOffset(this.offset);<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    }<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    if (this.columnOffset != null) {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>      builder.setColumnOffset(UnsafeByteOperations.unsafeWrap(this.columnOffset));<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    }<a name="line.182"></a>
+<span class="sourceLineNo">183</span>    return builder.build().toByteArray();<a name="line.183"></a>
+<span class="sourceLineNo">184</span>  }<a name="line.184"></a>
+<span class="sourceLineNo">185</span><a name="line.185"></a>
+<span class="sourceLineNo">186</span>  /**<a name="line.186"></a>
+<span class="sourceLineNo">187</span>   * @param pbBytes A pb serialized {@link ColumnPaginationFilter} instance<a name="line.187"></a>
+<span class="sourceLineNo">188</span>   * @return An instance of {@link ColumnPaginationFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>   * @throws DeserializationException<a name="line.189"></a>
+<span class="sourceLineNo">190</span>   * @see #toByteArray<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  public static ColumnPaginationFilter parseFrom(final byte [] pbBytes)<a name="line.192"></a>
+<span class="sourceLineNo">193</span>  throws DeserializationException {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    FilterProtos.ColumnPaginationFilter proto;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    try {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>      proto = FilterProtos.ColumnPaginationFilter.parseFrom(pbBytes);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    } catch (InvalidProtocolBufferException e) {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>      throw new DeserializationException(e);<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    }<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    if (proto.hasColumnOffset()) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      return new ColumnPaginationFilter(proto.getLimit(),<a name="line.201"></a>
+<span class="sourceLineNo">202</span>                                        proto.getColumnOffset().toByteArray());<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    }<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    return new ColumnPaginationFilter(proto.getLimit(),proto.getOffset());<a name="line.204"></a>
+<span class="sourceLineNo">205</span>  }<a name="line.205"></a>
+<span class="sourceLineNo">206</span><a name="line.206"></a>
+<span class="sourceLineNo">207</span>  /**<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * @param o the other filter to compare with<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.209"></a>
+<span class="sourceLineNo">210</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.210"></a>
+<span class="sourceLineNo">211</span>   */<a name="line.211"></a>
+<span class="sourceLineNo">212</span>  @Override<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    if (o == this) return true;<a name="line.214"></a>
+<span class="sourceLineNo">215</span>    if (!(o instanceof ColumnPaginationFilter)) return false;<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span>    ColumnPaginationFilter other = (ColumnPaginationFilter)o;<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    if (this.columnOffset != null) {<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      return this.getLimit() == other.getLimit() &amp;&amp;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>          Bytes.equals(this.getColumnOffset(), other.getColumnOffset());<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    }<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    return this.getLimit() == other.getLimit() &amp;&amp; this.getOffset() == other.getOffset();<a name="line.222"></a>
+<span class="sourceLineNo">223</span>  }<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  @Override<a name="line.225"></a>
+<span class="sourceLineNo">226</span>  public String toString() {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    if (this.columnOffset != null) {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>      return (this.getClass().getSimpleName() + "(" + this.limit + ", " +<a name="line.228"></a>
+<span class="sourceLineNo">229</span>          Bytes.toStringBinary(this.columnOffset) + ")");<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    }<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    return String.format("%s (%d, %d)", this.getClass().getSimpleName(),<a name="line.231"></a>
+<span class="sourceLineNo">232</span>        this.limit, this.offset);<a name="line.232"></a>
+<span class="sourceLineNo">233</span>  }<a name="line.233"></a>
+<span class="sourceLineNo">234</span><a name="line.234"></a>
+<span class="sourceLineNo">235</span>  @Override<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  public boolean equals(Object obj) {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    if (obj == null || (!(obj instanceof ColumnPaginationFilter))) {<a name="line.237"></a>
+<span class="sourceLineNo">238</span>      return false;<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    }<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    ColumnPaginationFilter f = (ColumnPaginationFilter) obj;<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    return this.areSerializedFieldsEqual(f);<a name="line.241"></a>
+<span class="sourceLineNo">242</span>  }<a name="line.242"></a>
+<span class="sourceLineNo">243</span><a name="line.243"></a>
+<span class="sourceLineNo">244</span>  @Override<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  public int hashCode() {<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    return Objects.hash(this.limit, this.offset);<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  }<a name="line.247"></a>
+<span class="sourceLineNo">248</span>}<a name="line.248"></a>
 
 
 


[02/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.html b/devapidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.html
index ad7c82a..1dfa7b8 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.html
@@ -29,307 +29,322 @@
 <span class="sourceLineNo">021</span><a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
 <span class="sourceLineNo">023</span>import java.util.ArrayList;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.CompareOperator;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.29"></a>
-<span class="sourceLineNo">030</span><a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.31"></a>
-<span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.CompareType;<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>/**<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * This is a generic filter to be used to filter by comparison.  It takes an<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * operator (equal, greater, not equal, etc) and a byte [] comparator.<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * &lt;p&gt;<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * To filter by row key, use {@link RowFilter}.<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * &lt;p&gt;<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * To filter by column family, use {@link FamilyFilter}.<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * &lt;p&gt;<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * To filter by column qualifier, use {@link QualifierFilter}.<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * &lt;p&gt;<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * To filter by value, use {@link ValueFilter}.<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * &lt;p&gt;<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * These filters can be wrapped with {@link SkipFilter} and {@link WhileMatchFilter}<a name="line.50"></a>
-<span class="sourceLineNo">051</span> * to add more control.<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * &lt;p&gt;<a name="line.52"></a>
-<span class="sourceLineNo">053</span> * Multiple filters can be combined using {@link FilterList}.<a name="line.53"></a>
-<span class="sourceLineNo">054</span> */<a name="line.54"></a>
-<span class="sourceLineNo">055</span>@InterfaceAudience.Public<a name="line.55"></a>
-<span class="sourceLineNo">056</span>public abstract class CompareFilter extends FilterBase {<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  /**<a name="line.57"></a>
-<span class="sourceLineNo">058</span>   * Comparison operators. For filters only!<a name="line.58"></a>
-<span class="sourceLineNo">059</span>   * Use {@link CompareOperator} otherwise.<a name="line.59"></a>
-<span class="sourceLineNo">060</span>   * It (intentionally) has at least the below enums with same names.<a name="line.60"></a>
-<span class="sourceLineNo">061</span>   * @deprecated  since 2.0.0. Will be removed in 3.0.0. Use {@link CompareOperator} instead.<a name="line.61"></a>
-<span class="sourceLineNo">062</span>   */<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  @Deprecated<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  @InterfaceAudience.Public<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  public enum CompareOp {<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    /** less than */<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    LESS,<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    /** less than or equal to */<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    LESS_OR_EQUAL,<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    /** equals */<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    EQUAL,<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    /** not equal */<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    NOT_EQUAL,<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    /** greater than or equal to */<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    GREATER_OR_EQUAL,<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    /** greater than */<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    GREATER,<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    /** no operation */<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    NO_OP,<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  }<a name="line.80"></a>
-<span class="sourceLineNo">081</span><a name="line.81"></a>
-<span class="sourceLineNo">082</span>  protected CompareOperator op;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  protected ByteArrayComparable comparator;<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  /**<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   * Constructor.<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   * @param compareOp the compare op for row matching<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   * @param comparator the comparator for row matching<a name="line.88"></a>
-<span class="sourceLineNo">089</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0. Use other constructor.<a name="line.89"></a>
-<span class="sourceLineNo">090</span>   */<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  @Deprecated<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  public CompareFilter(final CompareOp compareOp,<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      final ByteArrayComparable comparator) {<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    this(CompareOperator.valueOf(compareOp.name()), comparator);<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  }<a name="line.95"></a>
-<span class="sourceLineNo">096</span><a name="line.96"></a>
-<span class="sourceLineNo">097</span>  /**<a name="line.97"></a>
-<span class="sourceLineNo">098</span>   * Constructor.<a name="line.98"></a>
-<span class="sourceLineNo">099</span>   * @param op the compare op for row matching<a name="line.99"></a>
-<span class="sourceLineNo">100</span>   * @param comparator the comparator for row matching<a name="line.100"></a>
-<span class="sourceLineNo">101</span>   */<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  public CompareFilter(final CompareOperator op,<a name="line.102"></a>
-<span class="sourceLineNo">103</span>                       final ByteArrayComparable comparator) {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    this.op = op;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    this.comparator = comparator;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  }<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  /**<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   * @return operator<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   * @deprecated  since 2.0.0. Will be removed in 3.0.0. Use {@link #getCompareOperator()} instead.<a name="line.110"></a>
-<span class="sourceLineNo">111</span>   */<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  @Deprecated<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public CompareOp getOperator() {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    return CompareOp.valueOf(op.name());<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  }<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  public CompareOperator getCompareOperator() {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    return op;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  }<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>  /**<a name="line.121"></a>
-<span class="sourceLineNo">122</span>   * @return the comparator<a name="line.122"></a>
-<span class="sourceLineNo">123</span>   */<a name="line.123"></a>
-<span class="sourceLineNo">124</span>  public ByteArrayComparable getComparator() {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    return comparator;<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>  @Override<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    return false;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  }<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>  /**<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * Use {@link #compareRow(CompareOperator, ByteArrayComparable, Cell)}<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   */<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  @Deprecated<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  protected boolean compareRow(final CompareOp compareOp, final ByteArrayComparable comparator,<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      final Cell cell) {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      return true;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    }<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    int compareResult = PrivateCellUtil.compareRow(cell, comparator);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    return compare(compareOp, compareResult);<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  }<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  protected boolean compareRow(final CompareOperator op, final ByteArrayComparable comparator,<a name="line.148"></a>
-<span class="sourceLineNo">149</span>                               final Cell cell) {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    if (op == CompareOperator.NO_OP) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      return true;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    int compareResult = PrivateCellUtil.compareRow(cell, comparator);<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    return compare(op, compareResult);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  }<a name="line.155"></a>
-<span class="sourceLineNo">156</span><a name="line.156"></a>
-<span class="sourceLineNo">157</span>  /**<a name="line.157"></a>
-<span class="sourceLineNo">158</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.158"></a>
-<span class="sourceLineNo">159</span>   * Use {@link #compareFamily(CompareOperator, ByteArrayComparable, Cell)}<a name="line.159"></a>
-<span class="sourceLineNo">160</span>   */<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  @Deprecated<a name="line.161"></a>
-<span class="sourceLineNo">162</span>  protected boolean compareFamily(final CompareOp compareOp, final ByteArrayComparable comparator,<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      final Cell cell) {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      return true;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    }<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    int compareResult = PrivateCellUtil.compareFamily(cell, comparator);<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    return compare(compareOp, compareResult);<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  }<a name="line.169"></a>
-<span class="sourceLineNo">170</span><a name="line.170"></a>
-<span class="sourceLineNo">171</span>  protected boolean compareFamily(final CompareOperator op, final ByteArrayComparable comparator,<a name="line.171"></a>
-<span class="sourceLineNo">172</span>                                  final Cell cell) {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    if (op == CompareOperator.NO_OP) {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      return true;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    }<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    int compareResult = PrivateCellUtil.compareFamily(cell, comparator);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    return compare(op, compareResult);<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  }<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span>  /**<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   * Use {@link #compareQualifier(CompareOperator, ByteArrayComparable, Cell)}<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   */<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  @Deprecated<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  protected boolean compareQualifier(final CompareOp compareOp,<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      final ByteArrayComparable comparator, final Cell cell) {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    // We do not call through to the non-deprecated method for perf reasons.<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      return true;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    }<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    int compareResult = PrivateCellUtil.compareQualifier(cell, comparator);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    return compare(compareOp, compareResult);<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  }<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span>  protected boolean compareQualifier(final CompareOperator op,<a name="line.195"></a>
-<span class="sourceLineNo">196</span>                                     final ByteArrayComparable comparator, final Cell cell) {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    // We do not call through to the non-deprecated method for perf reasons.<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    if (op == CompareOperator.NO_OP) {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      return true;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    }<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    int compareResult = PrivateCellUtil.compareQualifier(cell, comparator);<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    return compare(op, compareResult);<a name="line.202"></a>
-<span class="sourceLineNo">203</span>  }<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  /**<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.206"></a>
-<span class="sourceLineNo">207</span>   * Use {@link #compareValue(CompareOperator, ByteArrayComparable, Cell)}<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   */<a name="line.208"></a>
-<span class="sourceLineNo">209</span>  @Deprecated<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  protected boolean compareValue(final CompareOp compareOp, final ByteArrayComparable comparator,<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      final Cell cell) {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    // We do not call through to the non-deprecated method for perf reasons.<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      return true;<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    }<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    int compareResult = PrivateCellUtil.compareValue(cell, comparator);<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    return compare(compareOp, compareResult);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  }<a name="line.218"></a>
-<span class="sourceLineNo">219</span><a name="line.219"></a>
-<span class="sourceLineNo">220</span>  protected boolean compareValue(final CompareOperator op, final ByteArrayComparable comparator,<a name="line.220"></a>
-<span class="sourceLineNo">221</span>                                 final Cell cell) {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    if (op == CompareOperator.NO_OP) {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      return true;<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    }<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    int compareResult = PrivateCellUtil.compareValue(cell, comparator);<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    return compare(op, compareResult);<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  }<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  static boolean compare(final CompareOp op, int compareResult) {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    switch (op) {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    case LESS:<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      return compareResult &lt;= 0;<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    case LESS_OR_EQUAL:<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      return compareResult &lt; 0;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    case EQUAL:<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      return compareResult != 0;<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    case NOT_EQUAL:<a name="line.237"></a>
-<span class="sourceLineNo">238</span>      return compareResult == 0;<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    case GREATER_OR_EQUAL:<a name="line.239"></a>
-<span class="sourceLineNo">240</span>      return compareResult &gt; 0;<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    case GREATER:<a name="line.241"></a>
-<span class="sourceLineNo">242</span>      return compareResult &gt;= 0;<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    default:<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      throw new RuntimeException("Unknown Compare op " + op.name());<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    }<a name="line.245"></a>
-<span class="sourceLineNo">246</span>  }<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  static boolean compare(final CompareOperator op, int compareResult) {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    switch (op) {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      case LESS:<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        return compareResult &lt;= 0;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      case LESS_OR_EQUAL:<a name="line.252"></a>
-<span class="sourceLineNo">253</span>        return compareResult &lt; 0;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      case EQUAL:<a name="line.254"></a>
-<span class="sourceLineNo">255</span>        return compareResult != 0;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      case NOT_EQUAL:<a name="line.256"></a>
-<span class="sourceLineNo">257</span>        return compareResult == 0;<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      case GREATER_OR_EQUAL:<a name="line.258"></a>
-<span class="sourceLineNo">259</span>        return compareResult &gt; 0;<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      case GREATER:<a name="line.260"></a>
-<span class="sourceLineNo">261</span>        return compareResult &gt;= 0;<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      default:<a name="line.262"></a>
-<span class="sourceLineNo">263</span>        throw new RuntimeException("Unknown Compare op " + op.name());<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    }<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  }<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>  // returns an array of heterogeneous objects<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  public static ArrayList&lt;Object&gt; extractArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    Preconditions.checkArgument(filterArguments.size() == 2,<a name="line.269"></a>
-<span class="sourceLineNo">270</span>                                "Expected 2 but got: %s", filterArguments.size());<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    CompareOperator op = ParseFilter.createCompareOperator(filterArguments.get(0));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    ByteArrayComparable comparator = ParseFilter.createComparator(<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      ParseFilter.removeQuotesFromByteArray(filterArguments.get(1)));<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>    if (comparator instanceof RegexStringComparator ||<a name="line.275"></a>
-<span class="sourceLineNo">276</span>        comparator instanceof SubstringComparator) {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      if (op != CompareOperator.EQUAL &amp;&amp;<a name="line.277"></a>
-<span class="sourceLineNo">278</span>          op != CompareOperator.NOT_EQUAL) {<a name="line.278"></a>
-<span class="sourceLineNo">279</span>        throw new IllegalArgumentException ("A regexstring comparator and substring comparator" +<a name="line.279"></a>
-<span class="sourceLineNo">280</span>                                            " can only be used with EQUAL and NOT_EQUAL");<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      }<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    }<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    ArrayList&lt;Object&gt; arguments = new ArrayList&lt;&gt;(2);<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    arguments.add(op);<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    arguments.add(comparator);<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    return arguments;<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  }<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  /**<a name="line.289"></a>
-<span class="sourceLineNo">290</span>   * @return A pb instance to represent this instance.<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   */<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  FilterProtos.CompareFilter convert() {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    FilterProtos.CompareFilter.Builder builder =<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      FilterProtos.CompareFilter.newBuilder();<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    HBaseProtos.CompareType compareOp = CompareType.valueOf(this.op.name());<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    builder.setCompareOp(compareOp);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    if (this.comparator != null) builder.setComparator(ProtobufUtil.toComparator(this.comparator));<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    return builder.build();<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  }<a name="line.299"></a>
-<span class="sourceLineNo">300</span><a name="line.300"></a>
-<span class="sourceLineNo">301</span>  /**<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   *<a name="line.302"></a>
-<span class="sourceLineNo">303</span>   * @param o<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.305"></a>
-<span class="sourceLineNo">306</span>   */<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  @Override<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    if (o == this) return true;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    if (!(o instanceof CompareFilter)) return false;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    CompareFilter other = (CompareFilter)o;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    return this.getCompareOperator().equals(other.getCompareOperator()) &amp;&amp;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      (this.getComparator() == other.getComparator()<a name="line.313"></a>
-<span class="sourceLineNo">314</span>        || this.getComparator().areSerializedFieldsEqual(other.getComparator()));<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  }<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>  @Override<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  public String toString() {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    return String.format("%s (%s, %s)",<a name="line.319"></a>
-<span class="sourceLineNo">320</span>        this.getClass().getSimpleName(),<a name="line.320"></a>
-<span class="sourceLineNo">321</span>        this.op.name(),<a name="line.321"></a>
-<span class="sourceLineNo">322</span>        Bytes.toStringBinary(this.comparator.getValue()));<a name="line.322"></a>
-<span class="sourceLineNo">323</span>  }<a name="line.323"></a>
-<span class="sourceLineNo">324</span>}<a name="line.324"></a>
+<span class="sourceLineNo">024</span>import java.util.Objects;<a name="line.24"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.Cell;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.CompareOperator;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.30"></a>
+<span class="sourceLineNo">031</span><a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.CompareType;<a name="line.37"></a>
+<span class="sourceLineNo">038</span><a name="line.38"></a>
+<span class="sourceLineNo">039</span>/**<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * This is a generic filter to be used to filter by comparison.  It takes an<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * operator (equal, greater, not equal, etc) and a byte [] comparator.<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * &lt;p&gt;<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * To filter by row key, use {@link RowFilter}.<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * &lt;p&gt;<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * To filter by column family, use {@link FamilyFilter}.<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * &lt;p&gt;<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * To filter by column qualifier, use {@link QualifierFilter}.<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * &lt;p&gt;<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * To filter by value, use {@link ValueFilter}.<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * &lt;p&gt;<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * These filters can be wrapped with {@link SkipFilter} and {@link WhileMatchFilter}<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * to add more control.<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * &lt;p&gt;<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * Multiple filters can be combined using {@link FilterList}.<a name="line.54"></a>
+<span class="sourceLineNo">055</span> */<a name="line.55"></a>
+<span class="sourceLineNo">056</span>@InterfaceAudience.Public<a name="line.56"></a>
+<span class="sourceLineNo">057</span>public abstract class CompareFilter extends FilterBase {<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  /**<a name="line.58"></a>
+<span class="sourceLineNo">059</span>   * Comparison operators. For filters only!<a name="line.59"></a>
+<span class="sourceLineNo">060</span>   * Use {@link CompareOperator} otherwise.<a name="line.60"></a>
+<span class="sourceLineNo">061</span>   * It (intentionally) has at least the below enums with same names.<a name="line.61"></a>
+<span class="sourceLineNo">062</span>   * @deprecated  since 2.0.0. Will be removed in 3.0.0. Use {@link CompareOperator} instead.<a name="line.62"></a>
+<span class="sourceLineNo">063</span>   */<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  @Deprecated<a name="line.64"></a>
+<span class="sourceLineNo">065</span>  @InterfaceAudience.Public<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  public enum CompareOp {<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    /** less than */<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    LESS,<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    /** less than or equal to */<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    LESS_OR_EQUAL,<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    /** equals */<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    EQUAL,<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    /** not equal */<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    NOT_EQUAL,<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    /** greater than or equal to */<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    GREATER_OR_EQUAL,<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    /** greater than */<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    GREATER,<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    /** no operation */<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    NO_OP,<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  }<a name="line.81"></a>
+<span class="sourceLineNo">082</span><a name="line.82"></a>
+<span class="sourceLineNo">083</span>  protected CompareOperator op;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  protected ByteArrayComparable comparator;<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>  /**<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   * Constructor.<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   * @param compareOp the compare op for row matching<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   * @param comparator the comparator for row matching<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0. Use other constructor.<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   */<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  @Deprecated<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  public CompareFilter(final CompareOp compareOp,<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      final ByteArrayComparable comparator) {<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    this(CompareOperator.valueOf(compareOp.name()), comparator);<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  }<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>  /**<a name="line.98"></a>
+<span class="sourceLineNo">099</span>   * Constructor.<a name="line.99"></a>
+<span class="sourceLineNo">100</span>   * @param op the compare op for row matching<a name="line.100"></a>
+<span class="sourceLineNo">101</span>   * @param comparator the comparator for row matching<a name="line.101"></a>
+<span class="sourceLineNo">102</span>   */<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  public CompareFilter(final CompareOperator op,<a name="line.103"></a>
+<span class="sourceLineNo">104</span>                       final ByteArrayComparable comparator) {<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    this.op = op;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    this.comparator = comparator;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  }<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>   * @return operator<a name="line.110"></a>
+<span class="sourceLineNo">111</span>   * @deprecated  since 2.0.0. Will be removed in 3.0.0. Use {@link #getCompareOperator()} instead.<a name="line.111"></a>
+<span class="sourceLineNo">112</span>   */<a name="line.112"></a>
+<span class="sourceLineNo">113</span>  @Deprecated<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  public CompareOp getOperator() {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    return CompareOp.valueOf(op.name());<a name="line.115"></a>
+<span class="sourceLineNo">116</span>  }<a name="line.116"></a>
+<span class="sourceLineNo">117</span><a name="line.117"></a>
+<span class="sourceLineNo">118</span>  public CompareOperator getCompareOperator() {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    return op;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  }<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>  /**<a name="line.122"></a>
+<span class="sourceLineNo">123</span>   * @return the comparator<a name="line.123"></a>
+<span class="sourceLineNo">124</span>   */<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  public ByteArrayComparable getComparator() {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    return comparator;<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>  @Override<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    return false;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>  }<a name="line.133"></a>
+<span class="sourceLineNo">134</span><a name="line.134"></a>
+<span class="sourceLineNo">135</span>  /**<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   * Use {@link #compareRow(CompareOperator, ByteArrayComparable, Cell)}<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   */<a name="line.138"></a>
+<span class="sourceLineNo">139</span>  @Deprecated<a name="line.139"></a>
+<span class="sourceLineNo">140</span>  protected boolean compareRow(final CompareOp compareOp, final ByteArrayComparable comparator,<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      final Cell cell) {<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.142"></a>
+<span class="sourceLineNo">143</span>      return true;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    }<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    int compareResult = PrivateCellUtil.compareRow(cell, comparator);<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    return compare(compareOp, compareResult);<a name="line.146"></a>
+<span class="sourceLineNo">147</span>  }<a name="line.147"></a>
+<span class="sourceLineNo">148</span><a name="line.148"></a>
+<span class="sourceLineNo">149</span>  protected boolean compareRow(final CompareOperator op, final ByteArrayComparable comparator,<a name="line.149"></a>
+<span class="sourceLineNo">150</span>                               final Cell cell) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    if (op == CompareOperator.NO_OP) {<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      return true;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    }<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    int compareResult = PrivateCellUtil.compareRow(cell, comparator);<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    return compare(op, compareResult);<a name="line.155"></a>
+<span class="sourceLineNo">156</span>  }<a name="line.156"></a>
+<span class="sourceLineNo">157</span><a name="line.157"></a>
+<span class="sourceLineNo">158</span>  /**<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   * Use {@link #compareFamily(CompareOperator, ByteArrayComparable, Cell)}<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   */<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  @Deprecated<a name="line.162"></a>
+<span class="sourceLineNo">163</span>  protected boolean compareFamily(final CompareOp compareOp, final ByteArrayComparable comparator,<a name="line.163"></a>
+<span class="sourceLineNo">164</span>      final Cell cell) {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      return true;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    }<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    int compareResult = PrivateCellUtil.compareFamily(cell, comparator);<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    return compare(compareOp, compareResult);<a name="line.169"></a>
+<span class="sourceLineNo">170</span>  }<a name="line.170"></a>
+<span class="sourceLineNo">171</span><a name="line.171"></a>
+<span class="sourceLineNo">172</span>  protected boolean compareFamily(final CompareOperator op, final ByteArrayComparable comparator,<a name="line.172"></a>
+<span class="sourceLineNo">173</span>                                  final Cell cell) {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    if (op == CompareOperator.NO_OP) {<a name="line.174"></a>
+<span class="sourceLineNo">175</span>      return true;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    }<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    int compareResult = PrivateCellUtil.compareFamily(cell, comparator);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    return compare(op, compareResult);<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  }<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span>  /**<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   * Use {@link #compareQualifier(CompareOperator, ByteArrayComparable, Cell)}<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   */<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  @Deprecated<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  protected boolean compareQualifier(final CompareOp compareOp,<a name="line.186"></a>
+<span class="sourceLineNo">187</span>      final ByteArrayComparable comparator, final Cell cell) {<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    // We do not call through to the non-deprecated method for perf reasons.<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      return true;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    }<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    int compareResult = PrivateCellUtil.compareQualifier(cell, comparator);<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    return compare(compareOp, compareResult);<a name="line.193"></a>
+<span class="sourceLineNo">194</span>  }<a name="line.194"></a>
+<span class="sourceLineNo">195</span><a name="line.195"></a>
+<span class="sourceLineNo">196</span>  protected boolean compareQualifier(final CompareOperator op,<a name="line.196"></a>
+<span class="sourceLineNo">197</span>                                     final ByteArrayComparable comparator, final Cell cell) {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    // We do not call through to the non-deprecated method for perf reasons.<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    if (op == CompareOperator.NO_OP) {<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      return true;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    }<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    int compareResult = PrivateCellUtil.compareQualifier(cell, comparator);<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    return compare(op, compareResult);<a name="line.203"></a>
+<span class="sourceLineNo">204</span>  }<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>  /**<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * Use {@link #compareValue(CompareOperator, ByteArrayComparable, Cell)}<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   */<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  @Deprecated<a name="line.210"></a>
+<span class="sourceLineNo">211</span>  protected boolean compareValue(final CompareOp compareOp, final ByteArrayComparable comparator,<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      final Cell cell) {<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    // We do not call through to the non-deprecated method for perf reasons.<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      return true;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    }<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    int compareResult = PrivateCellUtil.compareValue(cell, comparator);<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    return compare(compareOp, compareResult);<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  }<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  protected boolean compareValue(final CompareOperator op, final ByteArrayComparable comparator,<a name="line.221"></a>
+<span class="sourceLineNo">222</span>                                 final Cell cell) {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    if (op == CompareOperator.NO_OP) {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      return true;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    }<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    int compareResult = PrivateCellUtil.compareValue(cell, comparator);<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    return compare(op, compareResult);<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  }<a name="line.228"></a>
+<span class="sourceLineNo">229</span><a name="line.229"></a>
+<span class="sourceLineNo">230</span>  static boolean compare(final CompareOp op, int compareResult) {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    switch (op) {<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    case LESS:<a name="line.232"></a>
+<span class="sourceLineNo">233</span>      return compareResult &lt;= 0;<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    case LESS_OR_EQUAL:<a name="line.234"></a>
+<span class="sourceLineNo">235</span>      return compareResult &lt; 0;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    case EQUAL:<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      return compareResult != 0;<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    case NOT_EQUAL:<a name="line.238"></a>
+<span class="sourceLineNo">239</span>      return compareResult == 0;<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    case GREATER_OR_EQUAL:<a name="line.240"></a>
+<span class="sourceLineNo">241</span>      return compareResult &gt; 0;<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    case GREATER:<a name="line.242"></a>
+<span class="sourceLineNo">243</span>      return compareResult &gt;= 0;<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    default:<a name="line.244"></a>
+<span class="sourceLineNo">245</span>      throw new RuntimeException("Unknown Compare op " + op.name());<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    }<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  }<a name="line.247"></a>
+<span class="sourceLineNo">248</span><a name="line.248"></a>
+<span class="sourceLineNo">249</span>  static boolean compare(final CompareOperator op, int compareResult) {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    switch (op) {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>      case LESS:<a name="line.251"></a>
+<span class="sourceLineNo">252</span>        return compareResult &lt;= 0;<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      case LESS_OR_EQUAL:<a name="line.253"></a>
+<span class="sourceLineNo">254</span>        return compareResult &lt; 0;<a name="line.254"></a>
+<span class="sourceLineNo">255</span>      case EQUAL:<a name="line.255"></a>
+<span class="sourceLineNo">256</span>        return compareResult != 0;<a name="line.256"></a>
+<span class="sourceLineNo">257</span>      case NOT_EQUAL:<a name="line.257"></a>
+<span class="sourceLineNo">258</span>        return compareResult == 0;<a name="line.258"></a>
+<span class="sourceLineNo">259</span>      case GREATER_OR_EQUAL:<a name="line.259"></a>
+<span class="sourceLineNo">260</span>        return compareResult &gt; 0;<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      case GREATER:<a name="line.261"></a>
+<span class="sourceLineNo">262</span>        return compareResult &gt;= 0;<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      default:<a name="line.263"></a>
+<span class="sourceLineNo">264</span>        throw new RuntimeException("Unknown Compare op " + op.name());<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    }<a name="line.265"></a>
+<span class="sourceLineNo">266</span>  }<a name="line.266"></a>
+<span class="sourceLineNo">267</span><a name="line.267"></a>
+<span class="sourceLineNo">268</span>  // returns an array of heterogeneous objects<a name="line.268"></a>
+<span class="sourceLineNo">269</span>  public static ArrayList&lt;Object&gt; extractArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    Preconditions.checkArgument(filterArguments.size() == 2,<a name="line.270"></a>
+<span class="sourceLineNo">271</span>                                "Expected 2 but got: %s", filterArguments.size());<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    CompareOperator op = ParseFilter.createCompareOperator(filterArguments.get(0));<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    ByteArrayComparable comparator = ParseFilter.createComparator(<a name="line.273"></a>
+<span class="sourceLineNo">274</span>      ParseFilter.removeQuotesFromByteArray(filterArguments.get(1)));<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>    if (comparator instanceof RegexStringComparator ||<a name="line.276"></a>
+<span class="sourceLineNo">277</span>        comparator instanceof SubstringComparator) {<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      if (op != CompareOperator.EQUAL &amp;&amp;<a name="line.278"></a>
+<span class="sourceLineNo">279</span>          op != CompareOperator.NOT_EQUAL) {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>        throw new IllegalArgumentException ("A regexstring comparator and substring comparator" +<a name="line.280"></a>
+<span class="sourceLineNo">281</span>                                            " can only be used with EQUAL and NOT_EQUAL");<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      }<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    }<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    ArrayList&lt;Object&gt; arguments = new ArrayList&lt;&gt;(2);<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    arguments.add(op);<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    arguments.add(comparator);<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    return arguments;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>  }<a name="line.288"></a>
+<span class="sourceLineNo">289</span><a name="line.289"></a>
+<span class="sourceLineNo">290</span>  /**<a name="line.290"></a>
+<span class="sourceLineNo">291</span>   * @return A pb instance to represent this instance.<a name="line.291"></a>
+<span class="sourceLineNo">292</span>   */<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  FilterProtos.CompareFilter convert() {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    FilterProtos.CompareFilter.Builder builder =<a name="line.294"></a>
+<span class="sourceLineNo">295</span>      FilterProtos.CompareFilter.newBuilder();<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    HBaseProtos.CompareType compareOp = CompareType.valueOf(this.op.name());<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    builder.setCompareOp(compareOp);<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    if (this.comparator != null) builder.setComparator(ProtobufUtil.toComparator(this.comparator));<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    return builder.build();<a name="line.299"></a>
+<span class="sourceLineNo">300</span>  }<a name="line.300"></a>
+<span class="sourceLineNo">301</span><a name="line.301"></a>
+<span class="sourceLineNo">302</span>  /**<a name="line.302"></a>
+<span class="sourceLineNo">303</span>   *<a name="line.303"></a>
+<span class="sourceLineNo">304</span>   * @param o<a name="line.304"></a>
+<span class="sourceLineNo">305</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.305"></a>
+<span class="sourceLineNo">306</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.306"></a>
+<span class="sourceLineNo">307</span>   */<a name="line.307"></a>
+<span class="sourceLineNo">308</span>  @Override<a name="line.308"></a>
+<span class="sourceLineNo">309</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    if (o == this) return true;<a name="line.310"></a>
+<span class="sourceLineNo">311</span>    if (!(o instanceof CompareFilter)) return false;<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    CompareFilter other = (CompareFilter)o;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    return this.getCompareOperator().equals(other.getCompareOperator()) &amp;&amp;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      (this.getComparator() == other.getComparator()<a name="line.314"></a>
+<span class="sourceLineNo">315</span>        || this.getComparator().areSerializedFieldsEqual(other.getComparator()));<a name="line.315"></a>
+<span class="sourceLineNo">316</span>  }<a name="line.316"></a>
+<span class="sourceLineNo">317</span><a name="line.317"></a>
+<span class="sourceLineNo">318</span>  @Override<a name="line.318"></a>
+<span class="sourceLineNo">319</span>  public String toString() {<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    return String.format("%s (%s, %s)",<a name="line.320"></a>
+<span class="sourceLineNo">321</span>        this.getClass().getSimpleName(),<a name="line.321"></a>
+<span class="sourceLineNo">322</span>        this.op.name(),<a name="line.322"></a>
+<span class="sourceLineNo">323</span>        Bytes.toStringBinary(this.comparator.getValue()));<a name="line.323"></a>
+<span class="sourceLineNo">324</span>  }<a name="line.324"></a>
+<span class="sourceLineNo">325</span><a name="line.325"></a>
+<span class="sourceLineNo">326</span>  @Override<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  public boolean equals(Object obj) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    if (obj == null || (!(obj instanceof CompareFilter))) {<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      return false;<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    }<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    CompareFilter f = (CompareFilter) obj;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>    return this.areSerializedFieldsEqual(f);<a name="line.332"></a>
+<span class="sourceLineNo">333</span>  }<a name="line.333"></a>
+<span class="sourceLineNo">334</span><a name="line.334"></a>
+<span class="sourceLineNo">335</span>  @Override<a name="line.335"></a>
+<span class="sourceLineNo">336</span>  public int hashCode() {<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    return Objects.hash(this.getComparator(), this.getCompareOperator());<a name="line.337"></a>
+<span class="sourceLineNo">338</span>  }<a name="line.338"></a>
+<span class="sourceLineNo">339</span>}<a name="line.339"></a>
 
 
 


[38/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.html
index ad7c82a..1dfa7b8 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.html
@@ -29,307 +29,322 @@
 <span class="sourceLineNo">021</span><a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
 <span class="sourceLineNo">023</span>import java.util.ArrayList;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.CompareOperator;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.29"></a>
-<span class="sourceLineNo">030</span><a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.31"></a>
-<span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.CompareType;<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>/**<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * This is a generic filter to be used to filter by comparison.  It takes an<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * operator (equal, greater, not equal, etc) and a byte [] comparator.<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * &lt;p&gt;<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * To filter by row key, use {@link RowFilter}.<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * &lt;p&gt;<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * To filter by column family, use {@link FamilyFilter}.<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * &lt;p&gt;<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * To filter by column qualifier, use {@link QualifierFilter}.<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * &lt;p&gt;<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * To filter by value, use {@link ValueFilter}.<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * &lt;p&gt;<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * These filters can be wrapped with {@link SkipFilter} and {@link WhileMatchFilter}<a name="line.50"></a>
-<span class="sourceLineNo">051</span> * to add more control.<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * &lt;p&gt;<a name="line.52"></a>
-<span class="sourceLineNo">053</span> * Multiple filters can be combined using {@link FilterList}.<a name="line.53"></a>
-<span class="sourceLineNo">054</span> */<a name="line.54"></a>
-<span class="sourceLineNo">055</span>@InterfaceAudience.Public<a name="line.55"></a>
-<span class="sourceLineNo">056</span>public abstract class CompareFilter extends FilterBase {<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  /**<a name="line.57"></a>
-<span class="sourceLineNo">058</span>   * Comparison operators. For filters only!<a name="line.58"></a>
-<span class="sourceLineNo">059</span>   * Use {@link CompareOperator} otherwise.<a name="line.59"></a>
-<span class="sourceLineNo">060</span>   * It (intentionally) has at least the below enums with same names.<a name="line.60"></a>
-<span class="sourceLineNo">061</span>   * @deprecated  since 2.0.0. Will be removed in 3.0.0. Use {@link CompareOperator} instead.<a name="line.61"></a>
-<span class="sourceLineNo">062</span>   */<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  @Deprecated<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  @InterfaceAudience.Public<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  public enum CompareOp {<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    /** less than */<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    LESS,<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    /** less than or equal to */<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    LESS_OR_EQUAL,<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    /** equals */<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    EQUAL,<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    /** not equal */<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    NOT_EQUAL,<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    /** greater than or equal to */<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    GREATER_OR_EQUAL,<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    /** greater than */<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    GREATER,<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    /** no operation */<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    NO_OP,<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  }<a name="line.80"></a>
-<span class="sourceLineNo">081</span><a name="line.81"></a>
-<span class="sourceLineNo">082</span>  protected CompareOperator op;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  protected ByteArrayComparable comparator;<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  /**<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   * Constructor.<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   * @param compareOp the compare op for row matching<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   * @param comparator the comparator for row matching<a name="line.88"></a>
-<span class="sourceLineNo">089</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0. Use other constructor.<a name="line.89"></a>
-<span class="sourceLineNo">090</span>   */<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  @Deprecated<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  public CompareFilter(final CompareOp compareOp,<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      final ByteArrayComparable comparator) {<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    this(CompareOperator.valueOf(compareOp.name()), comparator);<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  }<a name="line.95"></a>
-<span class="sourceLineNo">096</span><a name="line.96"></a>
-<span class="sourceLineNo">097</span>  /**<a name="line.97"></a>
-<span class="sourceLineNo">098</span>   * Constructor.<a name="line.98"></a>
-<span class="sourceLineNo">099</span>   * @param op the compare op for row matching<a name="line.99"></a>
-<span class="sourceLineNo">100</span>   * @param comparator the comparator for row matching<a name="line.100"></a>
-<span class="sourceLineNo">101</span>   */<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  public CompareFilter(final CompareOperator op,<a name="line.102"></a>
-<span class="sourceLineNo">103</span>                       final ByteArrayComparable comparator) {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    this.op = op;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    this.comparator = comparator;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  }<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  /**<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   * @return operator<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   * @deprecated  since 2.0.0. Will be removed in 3.0.0. Use {@link #getCompareOperator()} instead.<a name="line.110"></a>
-<span class="sourceLineNo">111</span>   */<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  @Deprecated<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public CompareOp getOperator() {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    return CompareOp.valueOf(op.name());<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  }<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  public CompareOperator getCompareOperator() {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    return op;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  }<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>  /**<a name="line.121"></a>
-<span class="sourceLineNo">122</span>   * @return the comparator<a name="line.122"></a>
-<span class="sourceLineNo">123</span>   */<a name="line.123"></a>
-<span class="sourceLineNo">124</span>  public ByteArrayComparable getComparator() {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    return comparator;<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>  @Override<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    return false;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  }<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>  /**<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * Use {@link #compareRow(CompareOperator, ByteArrayComparable, Cell)}<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   */<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  @Deprecated<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  protected boolean compareRow(final CompareOp compareOp, final ByteArrayComparable comparator,<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      final Cell cell) {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      return true;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    }<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    int compareResult = PrivateCellUtil.compareRow(cell, comparator);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    return compare(compareOp, compareResult);<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  }<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  protected boolean compareRow(final CompareOperator op, final ByteArrayComparable comparator,<a name="line.148"></a>
-<span class="sourceLineNo">149</span>                               final Cell cell) {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    if (op == CompareOperator.NO_OP) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      return true;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    int compareResult = PrivateCellUtil.compareRow(cell, comparator);<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    return compare(op, compareResult);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  }<a name="line.155"></a>
-<span class="sourceLineNo">156</span><a name="line.156"></a>
-<span class="sourceLineNo">157</span>  /**<a name="line.157"></a>
-<span class="sourceLineNo">158</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.158"></a>
-<span class="sourceLineNo">159</span>   * Use {@link #compareFamily(CompareOperator, ByteArrayComparable, Cell)}<a name="line.159"></a>
-<span class="sourceLineNo">160</span>   */<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  @Deprecated<a name="line.161"></a>
-<span class="sourceLineNo">162</span>  protected boolean compareFamily(final CompareOp compareOp, final ByteArrayComparable comparator,<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      final Cell cell) {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      return true;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    }<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    int compareResult = PrivateCellUtil.compareFamily(cell, comparator);<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    return compare(compareOp, compareResult);<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  }<a name="line.169"></a>
-<span class="sourceLineNo">170</span><a name="line.170"></a>
-<span class="sourceLineNo">171</span>  protected boolean compareFamily(final CompareOperator op, final ByteArrayComparable comparator,<a name="line.171"></a>
-<span class="sourceLineNo">172</span>                                  final Cell cell) {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    if (op == CompareOperator.NO_OP) {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      return true;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    }<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    int compareResult = PrivateCellUtil.compareFamily(cell, comparator);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    return compare(op, compareResult);<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  }<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span>  /**<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   * Use {@link #compareQualifier(CompareOperator, ByteArrayComparable, Cell)}<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   */<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  @Deprecated<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  protected boolean compareQualifier(final CompareOp compareOp,<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      final ByteArrayComparable comparator, final Cell cell) {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    // We do not call through to the non-deprecated method for perf reasons.<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      return true;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    }<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    int compareResult = PrivateCellUtil.compareQualifier(cell, comparator);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    return compare(compareOp, compareResult);<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  }<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span>  protected boolean compareQualifier(final CompareOperator op,<a name="line.195"></a>
-<span class="sourceLineNo">196</span>                                     final ByteArrayComparable comparator, final Cell cell) {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    // We do not call through to the non-deprecated method for perf reasons.<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    if (op == CompareOperator.NO_OP) {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      return true;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    }<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    int compareResult = PrivateCellUtil.compareQualifier(cell, comparator);<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    return compare(op, compareResult);<a name="line.202"></a>
-<span class="sourceLineNo">203</span>  }<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  /**<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.206"></a>
-<span class="sourceLineNo">207</span>   * Use {@link #compareValue(CompareOperator, ByteArrayComparable, Cell)}<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   */<a name="line.208"></a>
-<span class="sourceLineNo">209</span>  @Deprecated<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  protected boolean compareValue(final CompareOp compareOp, final ByteArrayComparable comparator,<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      final Cell cell) {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    // We do not call through to the non-deprecated method for perf reasons.<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      return true;<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    }<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    int compareResult = PrivateCellUtil.compareValue(cell, comparator);<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    return compare(compareOp, compareResult);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  }<a name="line.218"></a>
-<span class="sourceLineNo">219</span><a name="line.219"></a>
-<span class="sourceLineNo">220</span>  protected boolean compareValue(final CompareOperator op, final ByteArrayComparable comparator,<a name="line.220"></a>
-<span class="sourceLineNo">221</span>                                 final Cell cell) {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    if (op == CompareOperator.NO_OP) {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      return true;<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    }<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    int compareResult = PrivateCellUtil.compareValue(cell, comparator);<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    return compare(op, compareResult);<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  }<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  static boolean compare(final CompareOp op, int compareResult) {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    switch (op) {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    case LESS:<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      return compareResult &lt;= 0;<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    case LESS_OR_EQUAL:<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      return compareResult &lt; 0;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    case EQUAL:<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      return compareResult != 0;<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    case NOT_EQUAL:<a name="line.237"></a>
-<span class="sourceLineNo">238</span>      return compareResult == 0;<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    case GREATER_OR_EQUAL:<a name="line.239"></a>
-<span class="sourceLineNo">240</span>      return compareResult &gt; 0;<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    case GREATER:<a name="line.241"></a>
-<span class="sourceLineNo">242</span>      return compareResult &gt;= 0;<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    default:<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      throw new RuntimeException("Unknown Compare op " + op.name());<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    }<a name="line.245"></a>
-<span class="sourceLineNo">246</span>  }<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  static boolean compare(final CompareOperator op, int compareResult) {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    switch (op) {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      case LESS:<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        return compareResult &lt;= 0;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      case LESS_OR_EQUAL:<a name="line.252"></a>
-<span class="sourceLineNo">253</span>        return compareResult &lt; 0;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      case EQUAL:<a name="line.254"></a>
-<span class="sourceLineNo">255</span>        return compareResult != 0;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      case NOT_EQUAL:<a name="line.256"></a>
-<span class="sourceLineNo">257</span>        return compareResult == 0;<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      case GREATER_OR_EQUAL:<a name="line.258"></a>
-<span class="sourceLineNo">259</span>        return compareResult &gt; 0;<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      case GREATER:<a name="line.260"></a>
-<span class="sourceLineNo">261</span>        return compareResult &gt;= 0;<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      default:<a name="line.262"></a>
-<span class="sourceLineNo">263</span>        throw new RuntimeException("Unknown Compare op " + op.name());<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    }<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  }<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>  // returns an array of heterogeneous objects<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  public static ArrayList&lt;Object&gt; extractArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    Preconditions.checkArgument(filterArguments.size() == 2,<a name="line.269"></a>
-<span class="sourceLineNo">270</span>                                "Expected 2 but got: %s", filterArguments.size());<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    CompareOperator op = ParseFilter.createCompareOperator(filterArguments.get(0));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    ByteArrayComparable comparator = ParseFilter.createComparator(<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      ParseFilter.removeQuotesFromByteArray(filterArguments.get(1)));<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>    if (comparator instanceof RegexStringComparator ||<a name="line.275"></a>
-<span class="sourceLineNo">276</span>        comparator instanceof SubstringComparator) {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      if (op != CompareOperator.EQUAL &amp;&amp;<a name="line.277"></a>
-<span class="sourceLineNo">278</span>          op != CompareOperator.NOT_EQUAL) {<a name="line.278"></a>
-<span class="sourceLineNo">279</span>        throw new IllegalArgumentException ("A regexstring comparator and substring comparator" +<a name="line.279"></a>
-<span class="sourceLineNo">280</span>                                            " can only be used with EQUAL and NOT_EQUAL");<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      }<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    }<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    ArrayList&lt;Object&gt; arguments = new ArrayList&lt;&gt;(2);<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    arguments.add(op);<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    arguments.add(comparator);<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    return arguments;<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  }<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  /**<a name="line.289"></a>
-<span class="sourceLineNo">290</span>   * @return A pb instance to represent this instance.<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   */<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  FilterProtos.CompareFilter convert() {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    FilterProtos.CompareFilter.Builder builder =<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      FilterProtos.CompareFilter.newBuilder();<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    HBaseProtos.CompareType compareOp = CompareType.valueOf(this.op.name());<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    builder.setCompareOp(compareOp);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    if (this.comparator != null) builder.setComparator(ProtobufUtil.toComparator(this.comparator));<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    return builder.build();<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  }<a name="line.299"></a>
-<span class="sourceLineNo">300</span><a name="line.300"></a>
-<span class="sourceLineNo">301</span>  /**<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   *<a name="line.302"></a>
-<span class="sourceLineNo">303</span>   * @param o<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.305"></a>
-<span class="sourceLineNo">306</span>   */<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  @Override<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    if (o == this) return true;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    if (!(o instanceof CompareFilter)) return false;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    CompareFilter other = (CompareFilter)o;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    return this.getCompareOperator().equals(other.getCompareOperator()) &amp;&amp;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      (this.getComparator() == other.getComparator()<a name="line.313"></a>
-<span class="sourceLineNo">314</span>        || this.getComparator().areSerializedFieldsEqual(other.getComparator()));<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  }<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>  @Override<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  public String toString() {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    return String.format("%s (%s, %s)",<a name="line.319"></a>
-<span class="sourceLineNo">320</span>        this.getClass().getSimpleName(),<a name="line.320"></a>
-<span class="sourceLineNo">321</span>        this.op.name(),<a name="line.321"></a>
-<span class="sourceLineNo">322</span>        Bytes.toStringBinary(this.comparator.getValue()));<a name="line.322"></a>
-<span class="sourceLineNo">323</span>  }<a name="line.323"></a>
-<span class="sourceLineNo">324</span>}<a name="line.324"></a>
+<span class="sourceLineNo">024</span>import java.util.Objects;<a name="line.24"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.Cell;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.CompareOperator;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.30"></a>
+<span class="sourceLineNo">031</span><a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.CompareType;<a name="line.37"></a>
+<span class="sourceLineNo">038</span><a name="line.38"></a>
+<span class="sourceLineNo">039</span>/**<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * This is a generic filter to be used to filter by comparison.  It takes an<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * operator (equal, greater, not equal, etc) and a byte [] comparator.<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * &lt;p&gt;<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * To filter by row key, use {@link RowFilter}.<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * &lt;p&gt;<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * To filter by column family, use {@link FamilyFilter}.<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * &lt;p&gt;<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * To filter by column qualifier, use {@link QualifierFilter}.<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * &lt;p&gt;<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * To filter by value, use {@link ValueFilter}.<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * &lt;p&gt;<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * These filters can be wrapped with {@link SkipFilter} and {@link WhileMatchFilter}<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * to add more control.<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * &lt;p&gt;<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * Multiple filters can be combined using {@link FilterList}.<a name="line.54"></a>
+<span class="sourceLineNo">055</span> */<a name="line.55"></a>
+<span class="sourceLineNo">056</span>@InterfaceAudience.Public<a name="line.56"></a>
+<span class="sourceLineNo">057</span>public abstract class CompareFilter extends FilterBase {<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  /**<a name="line.58"></a>
+<span class="sourceLineNo">059</span>   * Comparison operators. For filters only!<a name="line.59"></a>
+<span class="sourceLineNo">060</span>   * Use {@link CompareOperator} otherwise.<a name="line.60"></a>
+<span class="sourceLineNo">061</span>   * It (intentionally) has at least the below enums with same names.<a name="line.61"></a>
+<span class="sourceLineNo">062</span>   * @deprecated  since 2.0.0. Will be removed in 3.0.0. Use {@link CompareOperator} instead.<a name="line.62"></a>
+<span class="sourceLineNo">063</span>   */<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  @Deprecated<a name="line.64"></a>
+<span class="sourceLineNo">065</span>  @InterfaceAudience.Public<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  public enum CompareOp {<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    /** less than */<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    LESS,<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    /** less than or equal to */<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    LESS_OR_EQUAL,<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    /** equals */<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    EQUAL,<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    /** not equal */<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    NOT_EQUAL,<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    /** greater than or equal to */<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    GREATER_OR_EQUAL,<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    /** greater than */<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    GREATER,<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    /** no operation */<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    NO_OP,<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  }<a name="line.81"></a>
+<span class="sourceLineNo">082</span><a name="line.82"></a>
+<span class="sourceLineNo">083</span>  protected CompareOperator op;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  protected ByteArrayComparable comparator;<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>  /**<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   * Constructor.<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   * @param compareOp the compare op for row matching<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   * @param comparator the comparator for row matching<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0. Use other constructor.<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   */<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  @Deprecated<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  public CompareFilter(final CompareOp compareOp,<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      final ByteArrayComparable comparator) {<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    this(CompareOperator.valueOf(compareOp.name()), comparator);<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  }<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>  /**<a name="line.98"></a>
+<span class="sourceLineNo">099</span>   * Constructor.<a name="line.99"></a>
+<span class="sourceLineNo">100</span>   * @param op the compare op for row matching<a name="line.100"></a>
+<span class="sourceLineNo">101</span>   * @param comparator the comparator for row matching<a name="line.101"></a>
+<span class="sourceLineNo">102</span>   */<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  public CompareFilter(final CompareOperator op,<a name="line.103"></a>
+<span class="sourceLineNo">104</span>                       final ByteArrayComparable comparator) {<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    this.op = op;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    this.comparator = comparator;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  }<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>   * @return operator<a name="line.110"></a>
+<span class="sourceLineNo">111</span>   * @deprecated  since 2.0.0. Will be removed in 3.0.0. Use {@link #getCompareOperator()} instead.<a name="line.111"></a>
+<span class="sourceLineNo">112</span>   */<a name="line.112"></a>
+<span class="sourceLineNo">113</span>  @Deprecated<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  public CompareOp getOperator() {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    return CompareOp.valueOf(op.name());<a name="line.115"></a>
+<span class="sourceLineNo">116</span>  }<a name="line.116"></a>
+<span class="sourceLineNo">117</span><a name="line.117"></a>
+<span class="sourceLineNo">118</span>  public CompareOperator getCompareOperator() {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    return op;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  }<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>  /**<a name="line.122"></a>
+<span class="sourceLineNo">123</span>   * @return the comparator<a name="line.123"></a>
+<span class="sourceLineNo">124</span>   */<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  public ByteArrayComparable getComparator() {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    return comparator;<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>  @Override<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    return false;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>  }<a name="line.133"></a>
+<span class="sourceLineNo">134</span><a name="line.134"></a>
+<span class="sourceLineNo">135</span>  /**<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   * Use {@link #compareRow(CompareOperator, ByteArrayComparable, Cell)}<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   */<a name="line.138"></a>
+<span class="sourceLineNo">139</span>  @Deprecated<a name="line.139"></a>
+<span class="sourceLineNo">140</span>  protected boolean compareRow(final CompareOp compareOp, final ByteArrayComparable comparator,<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      final Cell cell) {<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.142"></a>
+<span class="sourceLineNo">143</span>      return true;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    }<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    int compareResult = PrivateCellUtil.compareRow(cell, comparator);<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    return compare(compareOp, compareResult);<a name="line.146"></a>
+<span class="sourceLineNo">147</span>  }<a name="line.147"></a>
+<span class="sourceLineNo">148</span><a name="line.148"></a>
+<span class="sourceLineNo">149</span>  protected boolean compareRow(final CompareOperator op, final ByteArrayComparable comparator,<a name="line.149"></a>
+<span class="sourceLineNo">150</span>                               final Cell cell) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    if (op == CompareOperator.NO_OP) {<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      return true;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    }<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    int compareResult = PrivateCellUtil.compareRow(cell, comparator);<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    return compare(op, compareResult);<a name="line.155"></a>
+<span class="sourceLineNo">156</span>  }<a name="line.156"></a>
+<span class="sourceLineNo">157</span><a name="line.157"></a>
+<span class="sourceLineNo">158</span>  /**<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   * Use {@link #compareFamily(CompareOperator, ByteArrayComparable, Cell)}<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   */<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  @Deprecated<a name="line.162"></a>
+<span class="sourceLineNo">163</span>  protected boolean compareFamily(final CompareOp compareOp, final ByteArrayComparable comparator,<a name="line.163"></a>
+<span class="sourceLineNo">164</span>      final Cell cell) {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      return true;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    }<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    int compareResult = PrivateCellUtil.compareFamily(cell, comparator);<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    return compare(compareOp, compareResult);<a name="line.169"></a>
+<span class="sourceLineNo">170</span>  }<a name="line.170"></a>
+<span class="sourceLineNo">171</span><a name="line.171"></a>
+<span class="sourceLineNo">172</span>  protected boolean compareFamily(final CompareOperator op, final ByteArrayComparable comparator,<a name="line.172"></a>
+<span class="sourceLineNo">173</span>                                  final Cell cell) {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    if (op == CompareOperator.NO_OP) {<a name="line.174"></a>
+<span class="sourceLineNo">175</span>      return true;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    }<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    int compareResult = PrivateCellUtil.compareFamily(cell, comparator);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    return compare(op, compareResult);<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  }<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span>  /**<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   * Use {@link #compareQualifier(CompareOperator, ByteArrayComparable, Cell)}<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   */<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  @Deprecated<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  protected boolean compareQualifier(final CompareOp compareOp,<a name="line.186"></a>
+<span class="sourceLineNo">187</span>      final ByteArrayComparable comparator, final Cell cell) {<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    // We do not call through to the non-deprecated method for perf reasons.<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      return true;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    }<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    int compareResult = PrivateCellUtil.compareQualifier(cell, comparator);<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    return compare(compareOp, compareResult);<a name="line.193"></a>
+<span class="sourceLineNo">194</span>  }<a name="line.194"></a>
+<span class="sourceLineNo">195</span><a name="line.195"></a>
+<span class="sourceLineNo">196</span>  protected boolean compareQualifier(final CompareOperator op,<a name="line.196"></a>
+<span class="sourceLineNo">197</span>                                     final ByteArrayComparable comparator, final Cell cell) {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    // We do not call through to the non-deprecated method for perf reasons.<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    if (op == CompareOperator.NO_OP) {<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      return true;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    }<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    int compareResult = PrivateCellUtil.compareQualifier(cell, comparator);<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    return compare(op, compareResult);<a name="line.203"></a>
+<span class="sourceLineNo">204</span>  }<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>  /**<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * Use {@link #compareValue(CompareOperator, ByteArrayComparable, Cell)}<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   */<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  @Deprecated<a name="line.210"></a>
+<span class="sourceLineNo">211</span>  protected boolean compareValue(final CompareOp compareOp, final ByteArrayComparable comparator,<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      final Cell cell) {<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    // We do not call through to the non-deprecated method for perf reasons.<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      return true;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    }<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    int compareResult = PrivateCellUtil.compareValue(cell, comparator);<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    return compare(compareOp, compareResult);<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  }<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  protected boolean compareValue(final CompareOperator op, final ByteArrayComparable comparator,<a name="line.221"></a>
+<span class="sourceLineNo">222</span>                                 final Cell cell) {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    if (op == CompareOperator.NO_OP) {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      return true;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    }<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    int compareResult = PrivateCellUtil.compareValue(cell, comparator);<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    return compare(op, compareResult);<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  }<a name="line.228"></a>
+<span class="sourceLineNo">229</span><a name="line.229"></a>
+<span class="sourceLineNo">230</span>  static boolean compare(final CompareOp op, int compareResult) {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    switch (op) {<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    case LESS:<a name="line.232"></a>
+<span class="sourceLineNo">233</span>      return compareResult &lt;= 0;<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    case LESS_OR_EQUAL:<a name="line.234"></a>
+<span class="sourceLineNo">235</span>      return compareResult &lt; 0;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    case EQUAL:<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      return compareResult != 0;<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    case NOT_EQUAL:<a name="line.238"></a>
+<span class="sourceLineNo">239</span>      return compareResult == 0;<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    case GREATER_OR_EQUAL:<a name="line.240"></a>
+<span class="sourceLineNo">241</span>      return compareResult &gt; 0;<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    case GREATER:<a name="line.242"></a>
+<span class="sourceLineNo">243</span>      return compareResult &gt;= 0;<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    default:<a name="line.244"></a>
+<span class="sourceLineNo">245</span>      throw new RuntimeException("Unknown Compare op " + op.name());<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    }<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  }<a name="line.247"></a>
+<span class="sourceLineNo">248</span><a name="line.248"></a>
+<span class="sourceLineNo">249</span>  static boolean compare(final CompareOperator op, int compareResult) {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    switch (op) {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>      case LESS:<a name="line.251"></a>
+<span class="sourceLineNo">252</span>        return compareResult &lt;= 0;<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      case LESS_OR_EQUAL:<a name="line.253"></a>
+<span class="sourceLineNo">254</span>        return compareResult &lt; 0;<a name="line.254"></a>
+<span class="sourceLineNo">255</span>      case EQUAL:<a name="line.255"></a>
+<span class="sourceLineNo">256</span>        return compareResult != 0;<a name="line.256"></a>
+<span class="sourceLineNo">257</span>      case NOT_EQUAL:<a name="line.257"></a>
+<span class="sourceLineNo">258</span>        return compareResult == 0;<a name="line.258"></a>
+<span class="sourceLineNo">259</span>      case GREATER_OR_EQUAL:<a name="line.259"></a>
+<span class="sourceLineNo">260</span>        return compareResult &gt; 0;<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      case GREATER:<a name="line.261"></a>
+<span class="sourceLineNo">262</span>        return compareResult &gt;= 0;<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      default:<a name="line.263"></a>
+<span class="sourceLineNo">264</span>        throw new RuntimeException("Unknown Compare op " + op.name());<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    }<a name="line.265"></a>
+<span class="sourceLineNo">266</span>  }<a name="line.266"></a>
+<span class="sourceLineNo">267</span><a name="line.267"></a>
+<span class="sourceLineNo">268</span>  // returns an array of heterogeneous objects<a name="line.268"></a>
+<span class="sourceLineNo">269</span>  public static ArrayList&lt;Object&gt; extractArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    Preconditions.checkArgument(filterArguments.size() == 2,<a name="line.270"></a>
+<span class="sourceLineNo">271</span>                                "Expected 2 but got: %s", filterArguments.size());<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    CompareOperator op = ParseFilter.createCompareOperator(filterArguments.get(0));<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    ByteArrayComparable comparator = ParseFilter.createComparator(<a name="line.273"></a>
+<span class="sourceLineNo">274</span>      ParseFilter.removeQuotesFromByteArray(filterArguments.get(1)));<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>    if (comparator instanceof RegexStringComparator ||<a name="line.276"></a>
+<span class="sourceLineNo">277</span>        comparator instanceof SubstringComparator) {<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      if (op != CompareOperator.EQUAL &amp;&amp;<a name="line.278"></a>
+<span class="sourceLineNo">279</span>          op != CompareOperator.NOT_EQUAL) {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>        throw new IllegalArgumentException ("A regexstring comparator and substring comparator" +<a name="line.280"></a>
+<span class="sourceLineNo">281</span>                                            " can only be used with EQUAL and NOT_EQUAL");<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      }<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    }<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    ArrayList&lt;Object&gt; arguments = new ArrayList&lt;&gt;(2);<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    arguments.add(op);<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    arguments.add(comparator);<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    return arguments;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>  }<a name="line.288"></a>
+<span class="sourceLineNo">289</span><a name="line.289"></a>
+<span class="sourceLineNo">290</span>  /**<a name="line.290"></a>
+<span class="sourceLineNo">291</span>   * @return A pb instance to represent this instance.<a name="line.291"></a>
+<span class="sourceLineNo">292</span>   */<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  FilterProtos.CompareFilter convert() {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    FilterProtos.CompareFilter.Builder builder =<a name="line.294"></a>
+<span class="sourceLineNo">295</span>      FilterProtos.CompareFilter.newBuilder();<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    HBaseProtos.CompareType compareOp = CompareType.valueOf(this.op.name());<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    builder.setCompareOp(compareOp);<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    if (this.comparator != null) builder.setComparator(ProtobufUtil.toComparator(this.comparator));<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    return builder.build();<a name="line.299"></a>
+<span class="sourceLineNo">300</span>  }<a name="line.300"></a>
+<span class="sourceLineNo">301</span><a name="line.301"></a>
+<span class="sourceLineNo">302</span>  /**<a name="line.302"></a>
+<span class="sourceLineNo">303</span>   *<a name="line.303"></a>
+<span class="sourceLineNo">304</span>   * @param o<a name="line.304"></a>
+<span class="sourceLineNo">305</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.305"></a>
+<span class="sourceLineNo">306</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.306"></a>
+<span class="sourceLineNo">307</span>   */<a name="line.307"></a>
+<span class="sourceLineNo">308</span>  @Override<a name="line.308"></a>
+<span class="sourceLineNo">309</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    if (o == this) return true;<a name="line.310"></a>
+<span class="sourceLineNo">311</span>    if (!(o instanceof CompareFilter)) return false;<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    CompareFilter other = (CompareFilter)o;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    return this.getCompareOperator().equals(other.getCompareOperator()) &amp;&amp;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      (this.getComparator() == other.getComparator()<a name="line.314"></a>
+<span class="sourceLineNo">315</span>        || this.getComparator().areSerializedFieldsEqual(other.getComparator()));<a name="line.315"></a>
+<span class="sourceLineNo">316</span>  }<a name="line.316"></a>
+<span class="sourceLineNo">317</span><a name="line.317"></a>
+<span class="sourceLineNo">318</span>  @Override<a name="line.318"></a>
+<span class="sourceLineNo">319</span>  public String toString() {<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    return String.format("%s (%s, %s)",<a name="line.320"></a>
+<span class="sourceLineNo">321</span>        this.getClass().getSimpleName(),<a name="line.321"></a>
+<span class="sourceLineNo">322</span>        this.op.name(),<a name="line.322"></a>
+<span class="sourceLineNo">323</span>        Bytes.toStringBinary(this.comparator.getValue()));<a name="line.323"></a>
+<span class="sourceLineNo">324</span>  }<a name="line.324"></a>
+<span class="sourceLineNo">325</span><a name="line.325"></a>
+<span class="sourceLineNo">326</span>  @Override<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  public boolean equals(Object obj) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    if (obj == null || (!(obj instanceof CompareFilter))) {<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      return false;<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    }<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    CompareFilter f = (CompareFilter) obj;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>    return this.areSerializedFieldsEqual(f);<a name="line.332"></a>
+<span class="sourceLineNo">333</span>  }<a name="line.333"></a>
+<span class="sourceLineNo">334</span><a name="line.334"></a>
+<span class="sourceLineNo">335</span>  @Override<a name="line.335"></a>
+<span class="sourceLineNo">336</span>  public int hashCode() {<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    return Objects.hash(this.getComparator(), this.getCompareOperator());<a name="line.337"></a>
+<span class="sourceLineNo">338</span>  }<a name="line.338"></a>
+<span class="sourceLineNo">339</span>}<a name="line.339"></a>
 
 
 


[41/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html
index d206019..9475950 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html
@@ -29,147 +29,162 @@
 <span class="sourceLineNo">021</span><a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
 <span class="sourceLineNo">023</span>import java.util.ArrayList;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.ByteBufferExtendedCell;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.Cell;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.PrivateCellUtil;<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>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.util.ByteBufferUtils;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.32"></a>
-<span class="sourceLineNo">033</span><a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>/**<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * This filter is used for selecting only those keys with columns that matches<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * a particular prefix. For example, if prefix is 'an', it will pass keys with<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * columns like 'and', 'anti' but not keys with columns like 'ball', 'act'.<a name="line.41"></a>
-<span class="sourceLineNo">042</span> */<a name="line.42"></a>
-<span class="sourceLineNo">043</span>@InterfaceAudience.Public<a name="line.43"></a>
-<span class="sourceLineNo">044</span>public class ColumnPrefixFilter extends FilterBase {<a name="line.44"></a>
-<span class="sourceLineNo">045</span>  protected byte [] prefix = null;<a name="line.45"></a>
-<span class="sourceLineNo">046</span><a name="line.46"></a>
-<span class="sourceLineNo">047</span>  public ColumnPrefixFilter(final byte [] prefix) {<a name="line.47"></a>
-<span class="sourceLineNo">048</span>    this.prefix = prefix;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>  }<a name="line.49"></a>
-<span class="sourceLineNo">050</span><a name="line.50"></a>
-<span class="sourceLineNo">051</span>  public byte[] getPrefix() {<a name="line.51"></a>
-<span class="sourceLineNo">052</span>    return prefix;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  }<a name="line.53"></a>
-<span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>  @Override<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.56"></a>
-<span class="sourceLineNo">057</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.57"></a>
-<span class="sourceLineNo">058</span>    return false;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  }<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span>  @Deprecated<a name="line.61"></a>
-<span class="sourceLineNo">062</span>  @Override<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    return filterCell(c);<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  }<a name="line.65"></a>
-<span class="sourceLineNo">066</span><a name="line.66"></a>
-<span class="sourceLineNo">067</span>  @Override<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  public ReturnCode filterCell(final Cell cell) {<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    if (this.prefix == null) {<a name="line.69"></a>
-<span class="sourceLineNo">070</span>      return ReturnCode.INCLUDE;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    } else {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      return filterColumn(cell);<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>  public ReturnCode filterColumn(Cell cell) {<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    int qualifierLength = cell.getQualifierLength();<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    if (qualifierLength &lt; prefix.length) {<a name="line.78"></a>
-<span class="sourceLineNo">079</span>      int cmp = compareQualifierPart(cell, qualifierLength, this.prefix);<a name="line.79"></a>
-<span class="sourceLineNo">080</span>      if (cmp &lt;= 0) {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>        return ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>      } else {<a name="line.82"></a>
-<span class="sourceLineNo">083</span>        return ReturnCode.NEXT_ROW;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>      }<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    } else {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      int cmp = compareQualifierPart(cell, this.prefix.length, this.prefix);<a name="line.86"></a>
-<span class="sourceLineNo">087</span>      if (cmp &lt; 0) {<a name="line.87"></a>
-<span class="sourceLineNo">088</span>        return ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>      } else if (cmp &gt; 0) {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>        return ReturnCode.NEXT_ROW;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>      } else {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>        return ReturnCode.INCLUDE;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      }<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    }<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  }<a name="line.95"></a>
-<span class="sourceLineNo">096</span><a name="line.96"></a>
-<span class="sourceLineNo">097</span>  private static int compareQualifierPart(Cell cell, int length, byte[] prefix) {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    if (cell instanceof ByteBufferExtendedCell) {<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      return ByteBufferUtils.compareTo(((ByteBufferExtendedCell) cell).getQualifierByteBuffer(),<a name="line.99"></a>
-<span class="sourceLineNo">100</span>          ((ByteBufferExtendedCell) cell).getQualifierPosition(), length, prefix, 0, length);<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    }<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    return Bytes.compareTo(cell.getQualifierArray(), cell.getQualifierOffset(), length, prefix, 0,<a name="line.102"></a>
-<span class="sourceLineNo">103</span>        length);<a name="line.103"></a>
-<span class="sourceLineNo">104</span>  }<a name="line.104"></a>
-<span class="sourceLineNo">105</span><a name="line.105"></a>
-<span class="sourceLineNo">106</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    Preconditions.checkArgument(filterArguments.size() == 1,<a name="line.107"></a>
-<span class="sourceLineNo">108</span>                                "Expected 1 but got: %s", filterArguments.size());<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    byte [] columnPrefix = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    return new ColumnPrefixFilter(columnPrefix);<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  }<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>  /**<a name="line.113"></a>
-<span class="sourceLineNo">114</span>   * @return The filter serialized using pb<a name="line.114"></a>
-<span class="sourceLineNo">115</span>   */<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  @Override<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  public byte [] toByteArray() {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    FilterProtos.ColumnPrefixFilter.Builder builder =<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      FilterProtos.ColumnPrefixFilter.newBuilder();<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    if (this.prefix != null) builder.setPrefix(UnsafeByteOperations.unsafeWrap(this.prefix));<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    return builder.build().toByteArray();<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>  /**<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   * @param pbBytes A pb serialized {@link ColumnPrefixFilter} instance<a name="line.125"></a>
-<span class="sourceLineNo">126</span>   * @return An instance of {@link ColumnPrefixFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>   * @throws org.apache.hadoop.hbase.exceptions.DeserializationException<a name="line.127"></a>
-<span class="sourceLineNo">128</span>   * @see #toByteArray<a name="line.128"></a>
-<span class="sourceLineNo">129</span>   */<a name="line.129"></a>
-<span class="sourceLineNo">130</span>  public static ColumnPrefixFilter parseFrom(final byte [] pbBytes)<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  throws DeserializationException {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    FilterProtos.ColumnPrefixFilter proto;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    try {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      proto = FilterProtos.ColumnPrefixFilter.parseFrom(pbBytes);<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    } catch (InvalidProtocolBufferException e) {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      throw new DeserializationException(e);<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    }<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    return new ColumnPrefixFilter(proto.getPrefix().toByteArray());<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  }<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>  /**<a name="line.141"></a>
-<span class="sourceLineNo">142</span>   * @param o the other filter to compare with<a name="line.142"></a>
-<span class="sourceLineNo">143</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.143"></a>
-<span class="sourceLineNo">144</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   */<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  @Override<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>   if (o == this) return true;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>   if (!(o instanceof ColumnPrefixFilter)) return false;<a name="line.149"></a>
-<span class="sourceLineNo">150</span><a name="line.150"></a>
-<span class="sourceLineNo">151</span>   ColumnPrefixFilter other = (ColumnPrefixFilter)o;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    return Bytes.equals(this.getPrefix(), other.getPrefix());<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>  @Override<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  public Cell getNextCellHint(Cell cell) {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    return PrivateCellUtil.createFirstOnRowCol(cell, prefix, 0, prefix.length);<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  }<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>  @Override<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  public String toString() {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    return this.getClass().getSimpleName() + " " + Bytes.toStringBinary(this.prefix);<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  }<a name="line.163"></a>
-<span class="sourceLineNo">164</span>}<a name="line.164"></a>
+<span class="sourceLineNo">024</span>import java.util.Objects;<a name="line.24"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.ByteBufferExtendedCell;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.Cell;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.util.ByteBufferUtils;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.33"></a>
+<span class="sourceLineNo">034</span><a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.37"></a>
+<span class="sourceLineNo">038</span><a name="line.38"></a>
+<span class="sourceLineNo">039</span>/**<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * This filter is used for selecting only those keys with columns that matches<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * a particular prefix. For example, if prefix is 'an', it will pass keys with<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * columns like 'and', 'anti' but not keys with columns like 'ball', 'act'.<a name="line.42"></a>
+<span class="sourceLineNo">043</span> */<a name="line.43"></a>
+<span class="sourceLineNo">044</span>@InterfaceAudience.Public<a name="line.44"></a>
+<span class="sourceLineNo">045</span>public class ColumnPrefixFilter extends FilterBase {<a name="line.45"></a>
+<span class="sourceLineNo">046</span>  protected byte [] prefix = null;<a name="line.46"></a>
+<span class="sourceLineNo">047</span><a name="line.47"></a>
+<span class="sourceLineNo">048</span>  public ColumnPrefixFilter(final byte [] prefix) {<a name="line.48"></a>
+<span class="sourceLineNo">049</span>    this.prefix = prefix;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>  }<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>  public byte[] getPrefix() {<a name="line.52"></a>
+<span class="sourceLineNo">053</span>    return prefix;<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>  @Override<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    return false;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  }<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span>  @Deprecated<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  @Override<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    return filterCell(c);<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  }<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span>  @Override<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  public ReturnCode filterCell(final Cell cell) {<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    if (this.prefix == null) {<a name="line.70"></a>
+<span class="sourceLineNo">071</span>      return ReturnCode.INCLUDE;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    } else {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>      return filterColumn(cell);<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>  public ReturnCode filterColumn(Cell cell) {<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    int qualifierLength = cell.getQualifierLength();<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    if (qualifierLength &lt; prefix.length) {<a name="line.79"></a>
+<span class="sourceLineNo">080</span>      int cmp = compareQualifierPart(cell, qualifierLength, this.prefix);<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      if (cmp &lt;= 0) {<a name="line.81"></a>
+<span class="sourceLineNo">082</span>        return ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>      } else {<a name="line.83"></a>
+<span class="sourceLineNo">084</span>        return ReturnCode.NEXT_ROW;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>      }<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    } else {<a name="line.86"></a>
+<span class="sourceLineNo">087</span>      int cmp = compareQualifierPart(cell, this.prefix.length, this.prefix);<a name="line.87"></a>
+<span class="sourceLineNo">088</span>      if (cmp &lt; 0) {<a name="line.88"></a>
+<span class="sourceLineNo">089</span>        return ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>      } else if (cmp &gt; 0) {<a name="line.90"></a>
+<span class="sourceLineNo">091</span>        return ReturnCode.NEXT_ROW;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>      } else {<a name="line.92"></a>
+<span class="sourceLineNo">093</span>        return ReturnCode.INCLUDE;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      }<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    }<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  }<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>  private static int compareQualifierPart(Cell cell, int length, byte[] prefix) {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    if (cell instanceof ByteBufferExtendedCell) {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      return ByteBufferUtils.compareTo(((ByteBufferExtendedCell) cell).getQualifierByteBuffer(),<a name="line.100"></a>
+<span class="sourceLineNo">101</span>          ((ByteBufferExtendedCell) cell).getQualifierPosition(), length, prefix, 0, length);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    }<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    return Bytes.compareTo(cell.getQualifierArray(), cell.getQualifierOffset(), length, prefix, 0,<a name="line.103"></a>
+<span class="sourceLineNo">104</span>        length);<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  }<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    Preconditions.checkArgument(filterArguments.size() == 1,<a name="line.108"></a>
+<span class="sourceLineNo">109</span>                                "Expected 1 but got: %s", filterArguments.size());<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    byte [] columnPrefix = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    return new ColumnPrefixFilter(columnPrefix);<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  }<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>  /**<a name="line.114"></a>
+<span class="sourceLineNo">115</span>   * @return The filter serialized using pb<a name="line.115"></a>
+<span class="sourceLineNo">116</span>   */<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  @Override<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  public byte [] toByteArray() {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    FilterProtos.ColumnPrefixFilter.Builder builder =<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      FilterProtos.ColumnPrefixFilter.newBuilder();<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    if (this.prefix != null) builder.setPrefix(UnsafeByteOperations.unsafeWrap(this.prefix));<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    return builder.build().toByteArray();<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>  /**<a name="line.125"></a>
+<span class="sourceLineNo">126</span>   * @param pbBytes A pb serialized {@link ColumnPrefixFilter} instance<a name="line.126"></a>
+<span class="sourceLineNo">127</span>   * @return An instance of {@link ColumnPrefixFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>   * @throws org.apache.hadoop.hbase.exceptions.DeserializationException<a name="line.128"></a>
+<span class="sourceLineNo">129</span>   * @see #toByteArray<a name="line.129"></a>
+<span class="sourceLineNo">130</span>   */<a name="line.130"></a>
+<span class="sourceLineNo">131</span>  public static ColumnPrefixFilter parseFrom(final byte [] pbBytes)<a name="line.131"></a>
+<span class="sourceLineNo">132</span>  throws DeserializationException {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    FilterProtos.ColumnPrefixFilter proto;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    try {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      proto = FilterProtos.ColumnPrefixFilter.parseFrom(pbBytes);<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    } catch (InvalidProtocolBufferException e) {<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      throw new DeserializationException(e);<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    }<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    return new ColumnPrefixFilter(proto.getPrefix().toByteArray());<a name="line.139"></a>
+<span class="sourceLineNo">140</span>  }<a name="line.140"></a>
+<span class="sourceLineNo">141</span><a name="line.141"></a>
+<span class="sourceLineNo">142</span>  /**<a name="line.142"></a>
+<span class="sourceLineNo">143</span>   * @param o the other filter to compare with<a name="line.143"></a>
+<span class="sourceLineNo">144</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.144"></a>
+<span class="sourceLineNo">145</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   */<a name="line.146"></a>
+<span class="sourceLineNo">147</span>  @Override<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   if (o == this) return true;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>   if (!(o instanceof ColumnPrefixFilter)) return false;<a name="line.150"></a>
+<span class="sourceLineNo">151</span><a name="line.151"></a>
+<span class="sourceLineNo">152</span>   ColumnPrefixFilter other = (ColumnPrefixFilter)o;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    return Bytes.equals(this.getPrefix(), other.getPrefix());<a name="line.153"></a>
+<span class="sourceLineNo">154</span>  }<a name="line.154"></a>
+<span class="sourceLineNo">155</span><a name="line.155"></a>
+<span class="sourceLineNo">156</span>  @Override<a name="line.156"></a>
+<span class="sourceLineNo">157</span>  public Cell getNextCellHint(Cell cell) {<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    return PrivateCellUtil.createFirstOnRowCol(cell, prefix, 0, prefix.length);<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  }<a name="line.159"></a>
+<span class="sourceLineNo">160</span><a name="line.160"></a>
+<span class="sourceLineNo">161</span>  @Override<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  public String toString() {<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    return this.getClass().getSimpleName() + " " + Bytes.toStringBinary(this.prefix);<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  }<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>  @Override<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  public boolean equals(Object obj) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    if (obj == null || (!(obj instanceof ColumnPrefixFilter))) {<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      return false;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    }<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    ColumnPrefixFilter f = (ColumnPrefixFilter) obj;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    return this.areSerializedFieldsEqual(f);<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>  @Override<a name="line.175"></a>
+<span class="sourceLineNo">176</span>  public int hashCode() {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    return Objects.hash(Bytes.hashCode(this.getPrefix()));<a name="line.177"></a>
+<span class="sourceLineNo">178</span>  }<a name="line.178"></a>
+<span class="sourceLineNo">179</span>}<a name="line.179"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html
index a659033..8c66a2c 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html
@@ -31,223 +31,239 @@
 <span class="sourceLineNo">023</span><a name="line.23"></a>
 <span class="sourceLineNo">024</span>import java.io.IOException;<a name="line.24"></a>
 <span class="sourceLineNo">025</span>import java.util.ArrayList;<a name="line.25"></a>
-<span class="sourceLineNo">026</span><a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.Cell;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.35"></a>
-<span class="sourceLineNo">036</span><a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.37"></a>
-<span class="sourceLineNo">038</span><a name="line.38"></a>
-<span class="sourceLineNo">039</span>/**<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * This filter is used for selecting only those keys with columns that are<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * between minColumn to maxColumn. For example, if minColumn is 'an', and<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * maxColumn is 'be', it will pass keys with columns like 'ana', 'bad', but not<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * keys with columns like 'bed', 'eye'<a name="line.43"></a>
-<span class="sourceLineNo">044</span> *<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * If minColumn is null, there is no lower bound. If maxColumn is null, there is<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * no upper bound.<a name="line.46"></a>
-<span class="sourceLineNo">047</span> *<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * minColumnInclusive and maxColumnInclusive specify if the ranges are inclusive<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * or not.<a name="line.49"></a>
-<span class="sourceLineNo">050</span> */<a name="line.50"></a>
-<span class="sourceLineNo">051</span>@InterfaceAudience.Public<a name="line.51"></a>
-<span class="sourceLineNo">052</span>public class ColumnRangeFilter extends FilterBase {<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  protected byte[] minColumn = null;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>  protected boolean minColumnInclusive = true;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>  protected byte[] maxColumn = null;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  protected boolean maxColumnInclusive = false;<a name="line.56"></a>
-<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span>  /**<a name="line.58"></a>
-<span class="sourceLineNo">059</span>   * Create a filter to select those keys with columns that are between minColumn<a name="line.59"></a>
-<span class="sourceLineNo">060</span>   * and maxColumn.<a name="line.60"></a>
-<span class="sourceLineNo">061</span>   * @param minColumn minimum value for the column range. If if it's null,<a name="line.61"></a>
-<span class="sourceLineNo">062</span>   * there is no lower bound.<a name="line.62"></a>
-<span class="sourceLineNo">063</span>   * @param minColumnInclusive if true, include minColumn in the range.<a name="line.63"></a>
-<span class="sourceLineNo">064</span>   * @param maxColumn maximum value for the column range. If it's null,<a name="line.64"></a>
-<span class="sourceLineNo">065</span>   * @param maxColumnInclusive if true, include maxColumn in the range.<a name="line.65"></a>
-<span class="sourceLineNo">066</span>   * there is no upper bound.<a name="line.66"></a>
-<span class="sourceLineNo">067</span>   */<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  public ColumnRangeFilter(final byte[] minColumn, boolean minColumnInclusive,<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      final byte[] maxColumn, boolean maxColumnInclusive) {<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    this.minColumn = minColumn;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    this.minColumnInclusive = minColumnInclusive;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    this.maxColumn = maxColumn;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    this.maxColumnInclusive = maxColumnInclusive;<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>   * @return if min column range is inclusive.<a name="line.77"></a>
-<span class="sourceLineNo">078</span>   */<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  public boolean isMinColumnInclusive() {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    return minColumnInclusive;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  }<a name="line.81"></a>
-<span class="sourceLineNo">082</span><a name="line.82"></a>
-<span class="sourceLineNo">083</span>  /**<a name="line.83"></a>
-<span class="sourceLineNo">084</span>   * @return if max column range is inclusive.<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   */<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  public boolean isMaxColumnInclusive() {<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    return maxColumnInclusive;<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>  /**<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   * @return the min column range for the filter<a name="line.91"></a>
-<span class="sourceLineNo">092</span>   */<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  public byte[] getMinColumn() {<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    return this.minColumn;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  }<a name="line.95"></a>
-<span class="sourceLineNo">096</span><a name="line.96"></a>
-<span class="sourceLineNo">097</span>  /**<a name="line.97"></a>
-<span class="sourceLineNo">098</span>   * @return true if min column is inclusive, false otherwise<a name="line.98"></a>
-<span class="sourceLineNo">099</span>   */<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  public boolean getMinColumnInclusive() {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    return this.minColumnInclusive;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  }<a name="line.102"></a>
-<span class="sourceLineNo">103</span><a name="line.103"></a>
-<span class="sourceLineNo">104</span>  /**<a name="line.104"></a>
-<span class="sourceLineNo">105</span>   * @return the max column range for the filter<a name="line.105"></a>
-<span class="sourceLineNo">106</span>   */<a name="line.106"></a>
-<span class="sourceLineNo">107</span>  public byte[] getMaxColumn() {<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    return this.maxColumn;<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>   * @return true if max column is inclusive, false otherwise<a name="line.112"></a>
-<span class="sourceLineNo">113</span>   */<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  public boolean getMaxColumnInclusive() {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    return this.maxColumnInclusive;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  }<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span>  @Override<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    return false;<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>  @Override<a name="line.124"></a>
-<span class="sourceLineNo">125</span>  @Deprecated<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    return filterCell(c);<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>  @Override<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  public ReturnCode filterCell(final Cell c) {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    int cmpMin = 1;<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>    if (this.minColumn != null) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      cmpMin = CellUtil.compareQualifiers(c, this.minColumn, 0, this.minColumn.length);<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>    if (cmpMin &lt; 0) {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      return ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    }<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span>    if (!this.minColumnInclusive &amp;&amp; cmpMin == 0) {<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      return ReturnCode.NEXT_COL;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    }<a name="line.144"></a>
-<span class="sourceLineNo">145</span><a name="line.145"></a>
-<span class="sourceLineNo">146</span>    if (this.maxColumn == null) {<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      return ReturnCode.INCLUDE;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    }<a name="line.148"></a>
-<span class="sourceLineNo">149</span><a name="line.149"></a>
-<span class="sourceLineNo">150</span>    int cmpMax = CellUtil.compareQualifiers(c, this.maxColumn, 0, this.maxColumn.length);<a name="line.150"></a>
-<span class="sourceLineNo">151</span><a name="line.151"></a>
-<span class="sourceLineNo">152</span>    if ((this.maxColumnInclusive &amp;&amp; cmpMax &lt;= 0) || (!this.maxColumnInclusive &amp;&amp; cmpMax &lt; 0)) {<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      return ReturnCode.INCLUDE;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    }<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>    return ReturnCode.NEXT_ROW;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  }<a name="line.157"></a>
-<span class="sourceLineNo">158</span><a name="line.158"></a>
-<span class="sourceLineNo">159</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    Preconditions.checkArgument(filterArguments.size() == 4,<a name="line.160"></a>
-<span class="sourceLineNo">161</span>                                "Expected 4 but got: %s", filterArguments.size());<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    byte [] minColumn = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    boolean minColumnInclusive = ParseFilter.convertByteArrayToBoolean(filterArguments.get(1));<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    byte [] maxColumn = ParseFilter.removeQuotesFromByteArray(filterArguments.get(2));<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    boolean maxColumnInclusive = ParseFilter.convertByteArrayToBoolean(filterArguments.get(3));<a name="line.165"></a>
-<span class="sourceLineNo">166</span><a name="line.166"></a>
-<span class="sourceLineNo">167</span>    if (minColumn.length == 0)<a name="line.167"></a>
-<span class="sourceLineNo">168</span>      minColumn = null;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    if (maxColumn.length == 0)<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      maxColumn = null;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    return new ColumnRangeFilter(minColumn, minColumnInclusive,<a name="line.171"></a>
-<span class="sourceLineNo">172</span>                                 maxColumn, maxColumnInclusive);<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>  /**<a name="line.175"></a>
-<span class="sourceLineNo">176</span>   * @return The filter serialized using pb<a name="line.176"></a>
-<span class="sourceLineNo">177</span>   */<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  @Override<a name="line.178"></a>
-<span class="sourceLineNo">179</span>  public byte [] toByteArray() {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    FilterProtos.ColumnRangeFilter.Builder builder =<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      FilterProtos.ColumnRangeFilter.newBuilder();<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    if (this.minColumn != null) builder.setMinColumn(<a name="line.182"></a>
-<span class="sourceLineNo">183</span>        UnsafeByteOperations.unsafeWrap(this.minColumn));<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    builder.setMinColumnInclusive(this.minColumnInclusive);<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    if (this.maxColumn != null) builder.setMaxColumn(<a name="line.185"></a>
-<span class="sourceLineNo">186</span>        UnsafeByteOperations.unsafeWrap(this.maxColumn));<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    builder.setMaxColumnInclusive(this.maxColumnInclusive);<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    return builder.build().toByteArray();<a name="line.188"></a>
-<span class="sourceLineNo">189</span>  }<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>  /**<a name="line.191"></a>
-<span class="sourceLineNo">192</span>   * @param pbBytes A pb serialized {@link ColumnRangeFilter} instance<a name="line.192"></a>
-<span class="sourceLineNo">193</span>   * @return An instance of {@link ColumnRangeFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   * @throws DeserializationException<a name="line.194"></a>
-<span class="sourceLineNo">195</span>   * @see #toByteArray<a name="line.195"></a>
-<span class="sourceLineNo">196</span>   */<a name="line.196"></a>
-<span class="sourceLineNo">197</span>  public static ColumnRangeFilter parseFrom(final byte [] pbBytes)<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  throws DeserializationException {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    FilterProtos.ColumnRangeFilter proto;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    try {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      proto = FilterProtos.ColumnRangeFilter.parseFrom(pbBytes);<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    } catch (InvalidProtocolBufferException e) {<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      throw new DeserializationException(e);<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    }<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    return new ColumnRangeFilter(proto.hasMinColumn()?proto.getMinColumn().toByteArray():null,<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      proto.getMinColumnInclusive(),proto.hasMaxColumn()?proto.getMaxColumn().toByteArray():null,<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      proto.getMaxColumnInclusive());<a name="line.207"></a>
-<span class="sourceLineNo">208</span>  }<a name="line.208"></a>
-<span class="sourceLineNo">209</span><a name="line.209"></a>
-<span class="sourceLineNo">210</span>  /**<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * @param o filter to serialize.<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * @return true if and only if the fields of the filter that are serialized are equal to the<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   *         corresponding fields in other. Used for testing.<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   */<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  @Override<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    if (o == this) {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      return true;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    }<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    if (!(o instanceof ColumnRangeFilter)) {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      return false;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    }<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    ColumnRangeFilter other = (ColumnRangeFilter) o;<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    return Bytes.equals(this.getMinColumn(), other.getMinColumn())<a name="line.224"></a>
-<span class="sourceLineNo">225</span>        &amp;&amp; this.getMinColumnInclusive() == other.getMinColumnInclusive()<a name="line.225"></a>
-<span class="sourceLineNo">226</span>        &amp;&amp; Bytes.equals(this.getMaxColumn(), other.getMaxColumn())<a name="line.226"></a>
-<span class="sourceLineNo">227</span>        &amp;&amp; this.getMaxColumnInclusive() == other.getMaxColumnInclusive();<a name="line.227"></a>
-<span class="sourceLineNo">228</span>  }<a name="line.228"></a>
-<span class="sourceLineNo">229</span><a name="line.229"></a>
-<span class="sourceLineNo">230</span>  @Override<a name="line.230"></a>
-<span class="sourceLineNo">231</span>  public Cell getNextCellHint(Cell cell) {<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    return PrivateCellUtil.createFirstOnRowCol(cell, this.minColumn, 0, len(this.minColumn));<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  }<a name="line.233"></a>
-<span class="sourceLineNo">234</span><a name="line.234"></a>
-<span class="sourceLineNo">235</span>  @Override<a name="line.235"></a>
-<span class="sourceLineNo">236</span>  public String toString() {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    return this.getClass().getSimpleName() + " "<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        + (this.minColumnInclusive ? "[" : "(") + Bytes.toStringBinary(this.minColumn)<a name="line.238"></a>
-<span class="sourceLineNo">239</span>        + ", " + Bytes.toStringBinary(this.maxColumn)<a name="line.239"></a>
-<span class="sourceLineNo">240</span>        + (this.maxColumnInclusive ? "]" : ")");<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  }<a name="line.241"></a>
-<span class="sourceLineNo">242</span>}<a name="line.242"></a>
+<span class="sourceLineNo">026</span>import java.util.Objects;<a name="line.26"></a>
+<span class="sourceLineNo">027</span><a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.Cell;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.36"></a>
+<span class="sourceLineNo">037</span><a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.38"></a>
+<span class="sourceLineNo">039</span><a name="line.39"></a>
+<span class="sourceLineNo">040</span>/**<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * This filter is used for selecting only those keys with columns that are<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * between minColumn to maxColumn. For example, if minColumn is 'an', and<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * maxColumn is 'be', it will pass keys with columns like 'ana', 'bad', but not<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * keys with columns like 'bed', 'eye'<a name="line.44"></a>
+<span class="sourceLineNo">045</span> *<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * If minColumn is null, there is no lower bound. If maxColumn is null, there is<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * no upper bound.<a name="line.47"></a>
+<span class="sourceLineNo">048</span> *<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * minColumnInclusive and maxColumnInclusive specify if the ranges are inclusive<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * or not.<a name="line.50"></a>
+<span class="sourceLineNo">051</span> */<a name="line.51"></a>
+<span class="sourceLineNo">052</span>@InterfaceAudience.Public<a name="line.52"></a>
+<span class="sourceLineNo">053</span>public class ColumnRangeFilter extends FilterBase {<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  protected byte[] minColumn = null;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>  protected boolean minColumnInclusive = true;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>  protected byte[] maxColumn = null;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  protected boolean maxColumnInclusive = false;<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>  /**<a name="line.59"></a>
+<span class="sourceLineNo">060</span>   * Create a filter to select those keys with columns that are between minColumn<a name="line.60"></a>
+<span class="sourceLineNo">061</span>   * and maxColumn.<a name="line.61"></a>
+<span class="sourceLineNo">062</span>   * @param minColumn minimum value for the column range. If if it's null,<a name="line.62"></a>
+<span class="sourceLineNo">063</span>   * there is no lower bound.<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   * @param minColumnInclusive if true, include minColumn in the range.<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   * @param maxColumn maximum value for the column range. If it's null,<a name="line.65"></a>
+<span class="sourceLineNo">066</span>   * @param maxColumnInclusive if true, include maxColumn in the range.<a name="line.66"></a>
+<span class="sourceLineNo">067</span>   * there is no upper bound.<a name="line.67"></a>
+<span class="sourceLineNo">068</span>   */<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  public ColumnRangeFilter(final byte[] minColumn, boolean minColumnInclusive,<a name="line.69"></a>
+<span class="sourceLineNo">070</span>      final byte[] maxColumn, boolean maxColumnInclusive) {<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    this.minColumn = minColumn;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    this.minColumnInclusive = minColumnInclusive;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    this.maxColumn = maxColumn;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    this.maxColumnInclusive = maxColumnInclusive;<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>   * @return if min column range is inclusive.<a name="line.78"></a>
+<span class="sourceLineNo">079</span>   */<a name="line.79"></a>
+<span class="sourceLineNo">080</span>  public boolean isMinColumnInclusive() {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>    return minColumnInclusive;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  }<a name="line.82"></a>
+<span class="sourceLineNo">083</span><a name="line.83"></a>
+<span class="sourceLineNo">084</span>  /**<a name="line.84"></a>
+<span class="sourceLineNo">085</span>   * @return if max column range is inclusive.<a name="line.85"></a>
+<span class="sourceLineNo">086</span>   */<a name="line.86"></a>
+<span class="sourceLineNo">087</span>  public boolean isMaxColumnInclusive() {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    return maxColumnInclusive;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>  }<a name="line.89"></a>
+<span class="sourceLineNo">090</span><a name="line.90"></a>
+<span class="sourceLineNo">091</span>  /**<a name="line.91"></a>
+<span class="sourceLineNo">092</span>   * @return the min column range for the filter<a name="line.92"></a>
+<span class="sourceLineNo">093</span>   */<a name="line.93"></a>
+<span class="sourceLineNo">094</span>  public byte[] getMinColumn() {<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    return this.minColumn;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  }<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>  /**<a name="line.98"></a>
+<span class="sourceLineNo">099</span>   * @return true if min column is inclusive, false otherwise<a name="line.99"></a>
+<span class="sourceLineNo">100</span>   */<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  public boolean getMinColumnInclusive() {<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    return this.minColumnInclusive;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  }<a name="line.103"></a>
+<span class="sourceLineNo">104</span><a name="line.104"></a>
+<span class="sourceLineNo">105</span>  /**<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   * @return the max column range for the filter<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   */<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  public byte[] getMaxColumn() {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    return this.maxColumn;<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>  /**<a name="line.112"></a>
+<span class="sourceLineNo">113</span>   * @return true if max column is inclusive, false otherwise<a name="line.113"></a>
+<span class="sourceLineNo">114</span>   */<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  public boolean getMaxColumnInclusive() {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    return this.maxColumnInclusive;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span>  @Override<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    return false;<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>  @Override<a name="line.125"></a>
+<span class="sourceLineNo">126</span>  @Deprecated<a name="line.126"></a>
+<span class="sourceLineNo">127</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    return filterCell(c);<a name="line.128"></a>
+<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span>  @Override<a name="line.131"></a>
+<span class="sourceLineNo">132</span>  public ReturnCode filterCell(final Cell c) {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    int cmpMin = 1;<a name="line.133"></a>
+<span class="sourceLineNo">134</span><a name="line.134"></a>
+<span class="sourceLineNo">135</span>    if (this.minColumn != null) {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>      cmpMin = CellUtil.compareQualifiers(c, this.minColumn, 0, this.minColumn.length);<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>    if (cmpMin &lt; 0) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>      return ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    }<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>    if (!this.minColumnInclusive &amp;&amp; cmpMin == 0) {<a name="line.143"></a>
+<span class="sourceLineNo">144</span>      return ReturnCode.NEXT_COL;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    }<a name="line.145"></a>
+<span class="sourceLineNo">146</span><a name="line.146"></a>
+<span class="sourceLineNo">147</span>    if (this.maxColumn == null) {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      return ReturnCode.INCLUDE;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    }<a name="line.149"></a>
+<span class="sourceLineNo">150</span><a name="line.150"></a>
+<span class="sourceLineNo">151</span>    int cmpMax = CellUtil.compareQualifiers(c, this.maxColumn, 0, this.maxColumn.length);<a name="line.151"></a>
+<span class="sourceLineNo">152</span><a name="line.152"></a>
+<span class="sourceLineNo">153</span>    if ((this.maxColumnInclusive &amp;&amp; cmpMax &lt;= 0) || (!this.maxColumnInclusive &amp;&amp; cmpMax &lt; 0)) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      return ReturnCode.INCLUDE;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    }<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>    return ReturnCode.NEXT_ROW;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  }<a name="line.158"></a>
+<span class="sourceLineNo">159</span><a name="line.159"></a>
+<span class="sourceLineNo">160</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    Preconditions.checkArgument(filterArguments.size() == 4,<a name="line.161"></a>
+<span class="sourceLineNo">162</span>                                "Expected 4 but got: %s", filterArguments.size());<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    byte [] minColumn = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    boolean minColumnInclusive = ParseFilter.convertByteArrayToBoolean(filterArguments.get(1));<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    byte [] maxColumn = ParseFilter.removeQuotesFromByteArray(filterArguments.get(2));<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    boolean maxColumnInclusive = ParseFilter.convertByteArrayToBoolean(filterArguments.get(3));<a name="line.166"></a>
+<span class="sourceLineNo">167</span><a name="line.167"></a>
+<span class="sourceLineNo">168</span>    if (minColumn.length == 0)<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      minColumn = null;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    if (maxColumn.length == 0)<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      maxColumn = null;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    return new ColumnRangeFilter(minColumn, minColumnInclusive,<a name="line.172"></a>
+<span class="sourceLineNo">173</span>                                 maxColumn, maxColumnInclusive);<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>  /**<a name="line.176"></a>
+<span class="sourceLineNo">177</span>   * @return The filter serialized using pb<a name="line.177"></a>
+<span class="sourceLineNo">178</span>   */<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  @Override<a name="line.179"></a>
+<span class="sourceLineNo">180</span>  public byte [] toByteArray() {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    FilterProtos.ColumnRangeFilter.Builder builder =<a name="line.181"></a>
+<span class="sourceLineNo">182</span>      FilterProtos.ColumnRangeFilter.newBuilder();<a name="line.182"></a>
+<span class="sourceLineNo">183</span>    if (this.minColumn != null) builder.setMinColumn(<a name="line.183"></a>
+<span class="sourceLineNo">184</span>        UnsafeByteOperations.unsafeWrap(this.minColumn));<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    builder.setMinColumnInclusive(this.minColumnInclusive);<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    if (this.maxColumn != null) builder.setMaxColumn(<a name="line.186"></a>
+<span class="sourceLineNo">187</span>        UnsafeByteOperations.unsafeWrap(this.maxColumn));<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    builder.setMaxColumnInclusive(this.maxColumnInclusive);<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    return builder.build().toByteArray();<a name="line.189"></a>
+<span class="sourceLineNo">190</span>  }<a name="line.190"></a>
+<span class="sourceLineNo">191</span><a name="line.191"></a>
+<span class="sourceLineNo">192</span>  /**<a name="line.192"></a>
+<span class="sourceLineNo">193</span>   * @param pbBytes A pb serialized {@link ColumnRangeFilter} instance<a name="line.193"></a>
+<span class="sourceLineNo">194</span>   * @return An instance of {@link ColumnRangeFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   * @throws DeserializationException<a name="line.195"></a>
+<span class="sourceLineNo">196</span>   * @see #toByteArray<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   */<a name="line.197"></a>
+<span class="sourceLineNo">198</span>  public static ColumnRangeFilter parseFrom(final byte [] pbBytes)<a name="line.198"></a>
+<span class="sourceLineNo">199</span>  throws DeserializationException {<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    FilterProtos.ColumnRangeFilter proto;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    try {<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      proto = FilterProtos.ColumnRangeFilter.parseFrom(pbBytes);<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    } catch (InvalidProtocolBufferException e) {<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      throw new DeserializationException(e);<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    }<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    return new ColumnRangeFilter(proto.hasMinColumn()?proto.getMinColumn().toByteArray():null,<a name="line.206"></a>
+<span class="sourceLineNo">207</span>      proto.getMinColumnInclusive(),proto.hasMaxColumn()?proto.getMaxColumn().toByteArray():null,<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      proto.getMaxColumnInclusive());<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  }<a name="line.209"></a>
+<span class="sourceLineNo">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span>  /**<a name="line.211"></a>
+<span class="sourceLineNo">212</span>   * @param o filter to serialize.<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   * @return true if and only if the fields of the filter that are serialized are equal to the<a name="line.213"></a>
+<span class="sourceLineNo">214</span>   *         corresponding fields in other. Used for testing.<a name="line.214"></a>
+<span class="sourceLineNo">215</span>   */<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  @Override<a name="line.216"></a>
+<span class="sourceLineNo">217</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    if (o == this) {<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      return true;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    }<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    if (!(o instanceof ColumnRangeFilter)) {<a name="line.221"></a>
+<span class="sourceLineNo">222</span>      return false;<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    }<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    ColumnRangeFilter other = (ColumnRangeFilter) o;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    return Bytes.equals(this.getMinColumn(), other.getMinColumn())<a name="line.225"></a>
+<span class="sourceLineNo">226</span>        &amp;&amp; this.getMinColumnInclusive() == other.getMinColumnInclusive()<a name="line.226"></a>
+<span class="sourceLineNo">227</span>        &amp;&amp; Bytes.equals(this.getMaxColumn(), other.getMaxColumn())<a name="line.227"></a>
+<span class="sourceLineNo">228</span>        &amp;&amp; this.getMaxColumnInclusive() == other.getMaxColumnInclusive();<a name="line.228"></a>
+<span class="sourceLineNo">229</span>  }<a name="line.229"></a>
+<span class="sourceLineNo">230</span><a name="line.230"></a>
+<span class="sourceLineNo">231</span>  @Override<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  public Cell getNextCellHint(Cell cell) {<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    return PrivateCellUtil.createFirstOnRowCol(cell, this.minColumn, 0, len(this.minColumn));<a name="line.233"></a>
+<span class="sourceLineNo">234</span>  }<a name="line.234"></a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span>  @Override<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  public String toString() {<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    return this.getClass().getSimpleName() + " "<a name="line.238"></a>
+<span class="sourceLineNo">239</span>        + (this.minColumnInclusive ? "[" : "(") + Bytes.toStringBinary(this.minColumn)<a name="line.239"></a>
+<span class="sourceLineNo">240</span>        + ", " + Bytes.toStringBinary(this.maxColumn)<a name="line.240"></a>
+<span class="sourceLineNo">241</span>        + (this.maxColumnInclusive ? "]" : ")");<a name="line.241"></a>
+<span class="sourceLineNo">242</span>  }<a name="line.242"></a>
+<span class="sourceLineNo">243</span><a name="line.243"></a>
+<span class="sourceLineNo">244</span>  @Override<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  public boolean equals(Object obj) {<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    if (obj == null || (!(obj instanceof ColumnRangeFilter))) {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>      return false;<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    }<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    ColumnRangeFilter f = (ColumnRangeFilter) obj;<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    return this.areSerializedFieldsEqual(f);<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  }<a name="line.251"></a>
+<span class="sourceLineNo">252</span><a name="line.252"></a>
+<span class="sourceLineNo">253</span>  @Override<a name="line.253"></a>
+<span class="sourceLineNo">254</span>  public int hashCode() {<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    return Objects.hash(Bytes.toStringBinary(this.getMinColumn()), this.getMinColumnInclusive(),<a name="line.255"></a>
+<span class="sourceLineNo">256</span>        Bytes.toStringBinary(this.getMaxColumn()), this.getMaxColumnInclusive());<a name="line.256"></a>
+<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
+<span class="sourceLineNo">258</span>}<a name="line.258"></a>
 
 
 


[50/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html b/apidocs/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html
index d326120..3641be1 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":10,"i3":42,"i4":10,"i5":10,"i6":10,"i7":9,"i8":10,"i9":10};
+var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":42,"i5":10,"i6":10,"i7":10,"i8":10,"i9":9,"i10":10,"i11":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.44">ColumnPrefixFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.45">ColumnPrefixFilter</a>
 extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <div class="block">This filter is used for selecting only those keys with columns that matches
  a particular prefix. For example, if prefix is 'an', it will pass keys with
@@ -206,49 +206,57 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#filterColumn-org.apache.hadoop.hbase.Cell-">filterColumn</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#getPrefix--">getPrefix</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnPrefixFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
@@ -274,7 +282,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -296,7 +304,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>prefix</h4>
-<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.45">prefix</a></pre>
+<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.46">prefix</a></pre>
 </li>
 </ul>
 </li>
@@ -313,7 +321,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ColumnPrefixFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.47">ColumnPrefixFilter</a>(byte[]&nbsp;prefix)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.48">ColumnPrefixFilter</a>(byte[]&nbsp;prefix)</pre>
 </li>
 </ul>
 </li>
@@ -330,7 +338,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getPrefix</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.51">getPrefix</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.52">getPrefix</a>()</pre>
 </li>
 </ul>
 <a name="filterRowKey-org.apache.hadoop.hbase.Cell-">
@@ -339,7 +347,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.56">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.57">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -368,7 +376,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.63">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.64">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -403,7 +411,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.68">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.69">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -437,7 +445,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterColumn</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.76">filterColumn</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.77">filterColumn</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 </li>
 </ul>
 <a name="createFilterFromArguments-java.util.ArrayList-">
@@ -446,7 +454,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.106">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.107">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -455,7 +463,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.117">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.118">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -472,7 +480,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnPrefixFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.130">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnPrefixFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.131">parseFrom</a>(byte[]&nbsp;pbBytes)
                                     throws org.apache.hadoop.hbase.exceptions.DeserializationException</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -492,7 +500,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>getNextCellHint</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.156">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.157">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.
@@ -515,10 +523,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.161">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.162">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -527,6 +535,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.167">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.176">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html b/apidocs/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html
index 11f84eb..60e2fef 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":42,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":9,"i12":10,"i13":10};
+var methods = {"i0":9,"i1":10,"i2":10,"i3":42,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":9,"i14":10,"i15":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.52">ColumnRangeFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.53">ColumnRangeFilter</a>
 extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <div class="block">This filter is used for selecting only those keys with columns that are
  between minColumn to maxColumn. For example, if minColumn is 'an', and
@@ -231,65 +231,73 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#getMaxColumn--">getMaxColumn</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#getMaxColumnInclusive--">getMaxColumnInclusive</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#getMinColumn--">getMinColumn</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#getMinColumnInclusive--">getMinColumnInclusive</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#isMaxColumnInclusive--">isMaxColumnInclusive</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#isMinColumnInclusive--">isMinColumnInclusive</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnRangeFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
@@ -315,7 +323,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -337,7 +345,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>minColumn</h4>
-<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.53">minColumn</a></pre>
+<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.54">minColumn</a></pre>
 </li>
 </ul>
 <a name="minColumnInclusive">
@@ -346,7 +354,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>minColumnInclusive</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.54">minColumnInclusive</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.55">minColumnInclusive</a></pre>
 </li>
 </ul>
 <a name="maxColumn">
@@ -355,7 +363,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>maxColumn</h4>
-<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.55">maxColumn</a></pre>
+<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.56">maxColumn</a></pre>
 </li>
 </ul>
 <a name="maxColumnInclusive">
@@ -364,7 +372,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>maxColumnInclusive</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.56">maxColumnInclusive</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.57">maxColumnInclusive</a></pre>
 </li>
 </ul>
 </li>
@@ -381,7 +389,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ColumnRangeFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.68">ColumnRangeFilter</a>(byte[]&nbsp;minColumn,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.69">ColumnRangeFilter</a>(byte[]&nbsp;minColumn,
                          boolean&nbsp;minColumnInclusive,
                          byte[]&nbsp;maxColumn,
                          boolean&nbsp;maxColumnInclusive)</pre>
@@ -412,7 +420,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>isMinColumnInclusive</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.79">isMinColumnInclusive</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.80">isMinColumnInclusive</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>if min column range is inclusive.</dd>
@@ -425,7 +433,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>isMaxColumnInclusive</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.86">isMaxColumnInclusive</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.87">isMaxColumnInclusive</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>if max column range is inclusive.</dd>
@@ -438,7 +446,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getMinColumn</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.93">getMinColumn</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.94">getMinColumn</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the min column range for the filter</dd>
@@ -451,7 +459,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getMinColumnInclusive</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.100">getMinColumnInclusive</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.101">getMinColumnInclusive</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>true if min column is inclusive, false otherwise</dd>
@@ -464,7 +472,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxColumn</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.107">getMaxColumn</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.108">getMaxColumn</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the max column range for the filter</dd>
@@ -477,7 +485,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxColumnInclusive</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.114">getMaxColumnInclusive</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.115">getMaxColumnInclusive</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>true if max column is inclusive, false otherwise</dd>
@@ -490,7 +498,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.119">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.120">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -519,7 +527,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.126">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.127">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -554,7 +562,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.131">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.132">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -588,7 +596,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.159">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.160">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -597,7 +605,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.179">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.180">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -614,7 +622,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnRangeFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.197">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnRangeFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.198">parseFrom</a>(byte[]&nbsp;pbBytes)
                                    throws org.apache.hadoop.hbase.exceptions.DeserializationException</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -634,7 +642,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>getNextCellHint</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.231">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.232">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.
@@ -657,10 +665,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.236">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.237">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -669,6 +677,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.245">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.254">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/ColumnValueFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/ColumnValueFilter.html b/apidocs/org/apache/hadoop/hbase/filter/ColumnValueFilter.html
index 3f50e33..c074ec4 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/ColumnValueFilter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/ColumnValueFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":9,"i9":10,"i10":10,"i11":10};
+var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":9,"i11":10,"i12":10,"i13":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.50">ColumnValueFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.51">ColumnValueFilter</a>
 extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <div class="block">Different from <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter"><code>SingleColumnValueFilter</code></a> which returns an <b>entire</b> row
  when specified condition is matched, <a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter"><code>ColumnValueFilter</code></a> return the matched cell only.
@@ -209,59 +209,67 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html#getComparator--">getComparator</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html#getCompareOperator--">getCompareOperator</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html#getFamily--">getFamily</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html#getQualifier--">getQualifier</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html#isFamilyEssential-byte:A-">isFamilyEssential</a></span>(byte[]&nbsp;name)</code>
 <div class="block">By default, we require all scan's column families to be present.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnValueFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>
 <div class="block">Parse protobuf bytes to a ColumnValueFilter</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html#reset--">reset</a></span>()</code>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
@@ -287,7 +295,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -309,7 +317,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>ColumnValueFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.60">ColumnValueFilter</a>(byte[]&nbsp;family,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.61">ColumnValueFilter</a>(byte[]&nbsp;family,
                          byte[]&nbsp;qualifier,
                          <a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                          byte[]&nbsp;value)</pre>
@@ -321,7 +329,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ColumnValueFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.65">ColumnValueFilter</a>(byte[]&nbsp;family,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.66">ColumnValueFilter</a>(byte[]&nbsp;family,
                          byte[]&nbsp;qualifier,
                          <a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                          <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator)</pre>
@@ -341,7 +349,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompareOperator</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.77">getCompareOperator</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.78">getCompareOperator</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>operator</dd>
@@ -354,7 +362,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getComparator</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.84">getComparator</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.85">getComparator</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the comparator</dd>
@@ -367,7 +375,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamily</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.91">getFamily</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.92">getFamily</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the column family</dd>
@@ -380,7 +388,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getQualifier</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.98">getQualifier</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.99">getQualifier</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the qualifier</dd>
@@ -393,7 +401,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.103">reset</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.104">reset</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
@@ -417,7 +425,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.108">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.109">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -445,7 +453,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.113">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.114">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -482,7 +490,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.147">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.148">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 <div class="block">Creating this filter by reflection, it is used by <a href="../../../../../org/apache/hadoop/hbase/filter/ParseFilter.html" title="class in org.apache.hadoop.hbase.filter"><code>ParseFilter</code></a>,</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -498,7 +506,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnValueFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.189">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnValueFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.190">parseFrom</a>(byte[]&nbsp;pbBytes)
                                    throws org.apache.hadoop.hbase.exceptions.DeserializationException</pre>
 <div class="block">Parse protobuf bytes to a ColumnValueFilter</div>
 <dl>
@@ -517,7 +525,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.210">toByteArray</a>()
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.211">toByteArray</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
@@ -537,7 +545,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>isFamilyEssential</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.230">isFamilyEssential</a>(byte[]&nbsp;name)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.231">isFamilyEssential</a>(byte[]&nbsp;name)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">By default, we require all scan's column families to be present. Our
@@ -561,10 +569,10 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.235">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.236">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -573,6 +581,32 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.244">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.253">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html b/apidocs/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html
index 591fa80..74d1778 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
  @InterfaceAudience.Public
-public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.65">CompareFilter.CompareOp</a>
+public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.66">CompareFilter.CompareOp</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&gt;</pre>
 <div class="block">Comparison operators. For filters only!
  Use <a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase"><code>CompareOperator</code></a> otherwise.
@@ -256,7 +256,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>LESS</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.67">LESS</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.68">LESS</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">less than</div>
 </li>
@@ -267,7 +267,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>LESS_OR_EQUAL</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.69">LESS_OR_EQUAL</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.70">LESS_OR_EQUAL</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">less than or equal to</div>
 </li>
@@ -278,7 +278,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>EQUAL</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.71">EQUAL</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.72">EQUAL</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">equals</div>
 </li>
@@ -289,7 +289,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>NOT_EQUAL</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.73">NOT_EQUAL</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.74">NOT_EQUAL</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">not equal</div>
 </li>
@@ -300,7 +300,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>GREATER_OR_EQUAL</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.75">GREATER_OR_EQUAL</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.76">GREATER_OR_EQUAL</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">greater than or equal to</div>
 </li>
@@ -311,7 +311,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>GREATER</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.77">GREATER</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.78">GREATER</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">greater than</div>
 </li>
@@ -322,7 +322,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>NO_OP</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.79">NO_OP</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.80">NO_OP</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">no operation</div>
 </li>


[21/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html b/devapidocs/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html
index ac54f87..368fdb4 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":9,"i2":10,"i3":42,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":9,"i10":10,"i11":10,"i12":10};
+var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":42,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":9,"i12":10,"i13":10,"i14":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.43">ColumnPaginationFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.44">ColumnPaginationFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></pre>
 <div class="block">A filter, based on the ColumnCountGetFilter, takes two arguments: limit and offset.
  This filter can be used for row-based indexing, where references to other tables are stored across many columns,
@@ -234,60 +234,68 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#getColumnOffset--">getColumnOffset</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#getLimit--">getLimit</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#getOffset--">getOffset</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnPaginationFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#reset--">reset</a></span>()</code>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
@@ -313,7 +321,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -335,7 +343,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>limit</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.45">limit</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.46">limit</a></pre>
 </li>
 </ul>
 <a name="offset">
@@ -344,7 +352,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>offset</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.46">offset</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.47">offset</a></pre>
 </li>
 </ul>
 <a name="columnOffset">
@@ -353,7 +361,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>columnOffset</h4>
-<pre>private&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.47">columnOffset</a></pre>
+<pre>private&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.48">columnOffset</a></pre>
 </li>
 </ul>
 <a name="count">
@@ -362,7 +370,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>count</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.48">count</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.49">count</a></pre>
 </li>
 </ul>
 </li>
@@ -379,7 +387,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>ColumnPaginationFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.59">ColumnPaginationFilter</a>(int&nbsp;limit,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.60">ColumnPaginationFilter</a>(int&nbsp;limit,
                               int&nbsp;offset)</pre>
 <div class="block">Initializes filter with an integer offset and limit. The offset is arrived at
  scanning sequentially and skipping entries. @limit number of columns are
@@ -398,7 +406,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ColumnPaginationFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.77">ColumnPaginationFilter</a>(int&nbsp;limit,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.78">ColumnPaginationFilter</a>(int&nbsp;limit,
                               byte[]&nbsp;columnOffset)</pre>
 <div class="block">Initializes filter with a string/bookmark based offset and limit. The offset is arrived
  at, by seeking to it using scanner hints. If multiple column families are involved,
@@ -426,7 +434,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getLimit</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.89">getLimit</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.90">getLimit</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>limit</dd>
@@ -439,7 +447,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getOffset</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.96">getOffset</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.97">getOffset</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>offset</dd>
@@ -452,7 +460,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getColumnOffset</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.103">getColumnOffset</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.104">getColumnOffset</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>columnOffset</dd>
@@ -465,7 +473,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.108">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.109">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -494,7 +502,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.115">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.116">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -529,7 +537,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.120">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.121">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -563,7 +571,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>getNextCellHint</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.150">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.151">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">FilterBase</a></code></span></div>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.
@@ -589,7 +597,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.155">reset</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.156">reset</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#reset--">FilterBase</a></code></span></div>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.
@@ -610,7 +618,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.160">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.161">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -619,7 +627,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.172">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.173">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toByteArray--">FilterBase</a></code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -636,7 +644,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnPaginationFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.191">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnPaginationFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.192">parseFrom</a>(byte[]&nbsp;pbBytes)
                                         throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -656,7 +664,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>areSerializedFieldsEqual</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.212">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.213">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">FilterBase</a></code></span></div>
 <div class="block">Default implementation so that writers of custom filters aren't forced to implement.</div>
 <dl>
@@ -673,10 +681,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.225">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.226">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toString--">FilterBase</a></code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -685,6 +693,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.236">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.245">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html b/devapidocs/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html
index 6431986..a610bfa 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":9,"i2":9,"i3":10,"i4":10,"i5":42,"i6":10,"i7":10,"i8":10,"i9":9,"i10":10,"i11":10};
+var methods = {"i0":10,"i1":9,"i2":9,"i3":10,"i4":10,"i5":10,"i6":42,"i7":10,"i8":10,"i9":10,"i10":10,"i11":9,"i12":10,"i13":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.44">ColumnPrefixFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.45">ColumnPrefixFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></pre>
 <div class="block">This filter is used for selecting only those keys with columns that matches
  a particular prefix. For example, if prefix is 'an', it will pass keys with
@@ -218,49 +218,57 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#filterColumn-org.apache.hadoop.hbase.Cell-">filterColumn</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#getPrefix--">getPrefix</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnPrefixFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
@@ -286,7 +294,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -308,7 +316,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>prefix</h4>
-<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.45">prefix</a></pre>
+<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.46">prefix</a></pre>
 </li>
 </ul>
 </li>
@@ -325,7 +333,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ColumnPrefixFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.47">ColumnPrefixFilter</a>(byte[]&nbsp;prefix)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.48">ColumnPrefixFilter</a>(byte[]&nbsp;prefix)</pre>
 </li>
 </ul>
 </li>
@@ -342,7 +350,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getPrefix</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.51">getPrefix</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.52">getPrefix</a>()</pre>
 </li>
 </ul>
 <a name="filterRowKey-org.apache.hadoop.hbase.Cell-">
@@ -351,7 +359,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.56">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.57">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -380,7 +388,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.63">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.64">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -415,7 +423,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.68">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.69">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -449,7 +457,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterColumn</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.76">filterColumn</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.77">filterColumn</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 </li>
 </ul>
 <a name="compareQualifierPart-org.apache.hadoop.hbase.Cell-int-byte:A-">
@@ -458,7 +466,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>compareQualifierPart</h4>
-<pre>private static&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.97">compareQualifierPart</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
+<pre>private static&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.98">compareQualifierPart</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                                         int&nbsp;length,
                                         byte[]&nbsp;prefix)</pre>
 </li>
@@ -469,7 +477,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.106">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.107">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -478,7 +486,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.117">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.118">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toByteArray--">FilterBase</a></code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -495,7 +503,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnPrefixFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.130">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnPrefixFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.131">parseFrom</a>(byte[]&nbsp;pbBytes)
                                     throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -515,7 +523,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>areSerializedFieldsEqual</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.147">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.148">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">FilterBase</a></code></span></div>
 <div class="block">Default implementation so that writers of custom filters aren't forced to implement.</div>
 <dl>
@@ -535,7 +543,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>getNextCellHint</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.156">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.157">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">FilterBase</a></code></span></div>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.
@@ -558,10 +566,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.161">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.162">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toString--">FilterBase</a></code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -570,6 +578,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.167">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#line.176">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html b/devapidocs/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html
index aee035f..d24ce28 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":9,"i2":10,"i3":42,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":9,"i13":10,"i14":10};
+var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":42,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":9,"i15":10,"i16":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.52">ColumnRangeFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.53">ColumnRangeFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></pre>
 <div class="block">This filter is used for selecting only those keys with columns that are
  between minColumn to maxColumn. For example, if minColumn is 'an', and
@@ -237,65 +237,73 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#getMaxColumn--">getMaxColumn</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#getMaxColumnInclusive--">getMaxColumnInclusive</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#getMinColumn--">getMinColumn</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#getMinColumnInclusive--">getMinColumnInclusive</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#isMaxColumnInclusive--">isMaxColumnInclusive</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#isMinColumnInclusive--">isMinColumnInclusive</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnRangeFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
@@ -321,7 +329,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -343,7 +351,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>minColumn</h4>
-<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.53">minColumn</a></pre>
+<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.54">minColumn</a></pre>
 </li>
 </ul>
 <a name="minColumnInclusive">
@@ -352,7 +360,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>minColumnInclusive</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.54">minColumnInclusive</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.55">minColumnInclusive</a></pre>
 </li>
 </ul>
 <a name="maxColumn">
@@ -361,7 +369,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>maxColumn</h4>
-<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.55">maxColumn</a></pre>
+<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.56">maxColumn</a></pre>
 </li>
 </ul>
 <a name="maxColumnInclusive">
@@ -370,7 +378,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>maxColumnInclusive</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.56">maxColumnInclusive</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.57">maxColumnInclusive</a></pre>
 </li>
 </ul>
 </li>
@@ -387,7 +395,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ColumnRangeFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.68">ColumnRangeFilter</a>(byte[]&nbsp;minColumn,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.69">ColumnRangeFilter</a>(byte[]&nbsp;minColumn,
                          boolean&nbsp;minColumnInclusive,
                          byte[]&nbsp;maxColumn,
                          boolean&nbsp;maxColumnInclusive)</pre>
@@ -418,7 +426,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>isMinColumnInclusive</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.79">isMinColumnInclusive</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.80">isMinColumnInclusive</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>if min column range is inclusive.</dd>
@@ -431,7 +439,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>isMaxColumnInclusive</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.86">isMaxColumnInclusive</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.87">isMaxColumnInclusive</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>if max column range is inclusive.</dd>
@@ -444,7 +452,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getMinColumn</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.93">getMinColumn</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.94">getMinColumn</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the min column range for the filter</dd>
@@ -457,7 +465,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getMinColumnInclusive</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.100">getMinColumnInclusive</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.101">getMinColumnInclusive</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>true if min column is inclusive, false otherwise</dd>
@@ -470,7 +478,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxColumn</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.107">getMaxColumn</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.108">getMaxColumn</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the max column range for the filter</dd>
@@ -483,7 +491,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxColumnInclusive</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.114">getMaxColumnInclusive</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.115">getMaxColumnInclusive</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>true if max column is inclusive, false otherwise</dd>
@@ -496,7 +504,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.119">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.120">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -525,7 +533,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.126">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.127">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -560,7 +568,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.131">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.132">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -594,7 +602,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.159">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.160">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -603,7 +611,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.179">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.180">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toByteArray--">FilterBase</a></code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -620,7 +628,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnRangeFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.197">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ColumnRangeFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnRangeFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.198">parseFrom</a>(byte[]&nbsp;pbBytes)
                                    throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -640,7 +648,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>areSerializedFieldsEqual</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.216">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.217">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">FilterBase</a></code></span></div>
 <div class="block">Default implementation so that writers of custom filters aren't forced to implement.</div>
 <dl>
@@ -660,7 +668,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>getNextCellHint</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.231">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.232">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">FilterBase</a></code></span></div>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.
@@ -683,10 +691,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.236">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.237">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toString--">FilterBase</a></code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -695,6 +703,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.245">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#line.254">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>


[47/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html b/apidocs/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html
index 5d794f4..b37a5d1 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":10,"i3":42,"i4":10,"i5":10,"i6":9,"i7":10,"i8":10};
+var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":42,"i5":10,"i6":10,"i7":10,"i8":9,"i9":10,"i10":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.42">InclusiveStopFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.43">InclusiveStopFilter</a>
 extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <div class="block">A Filter that stops after the given row.  There is no "RowStopFilter" because
  the Scan spec allows you to specify a stop row.
@@ -197,44 +197,52 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#filterAllRemaining--">filterAllRemaining</a></span>()</code>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#getStopRowKey--">getStopRowKey</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html" title="class in org.apache.hadoop.hbase.filter">InclusiveStopFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
@@ -260,7 +268,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -282,7 +290,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>InclusiveStopFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.46">InclusiveStopFilter</a>(byte[]&nbsp;stopRowKey)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.47">InclusiveStopFilter</a>(byte[]&nbsp;stopRowKey)</pre>
 </li>
 </ul>
 </li>
@@ -299,7 +307,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getStopRowKey</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.50">getStopRowKey</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.51">getStopRowKey</a>()</pre>
 </li>
 </ul>
 <a name="filterKeyValue-org.apache.hadoop.hbase.Cell-">
@@ -309,7 +317,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.56">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.57">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -344,7 +352,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.61">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.62">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -378,7 +386,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.67">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.68">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
  false, each KeyValue in the row will be passed to <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-"><code>Filter.filterCell(Cell)</code></a> below.
@@ -403,7 +411,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterAllRemaining</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.76">filterAllRemaining</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.77">filterAllRemaining</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.
@@ -426,7 +434,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.80">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.81">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -435,7 +443,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.91">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.92">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -452,7 +460,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html" title="class in org.apache.hadoop.hbase.filter">InclusiveStopFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.105">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/InclusiveStopFilter.html" title="class in org.apache.hadoop.hbase.filter">InclusiveStopFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.106">parseFrom</a>(byte[]&nbsp;pbBytes)
                                      throws org.apache.hadoop.hbase.exceptions.DeserializationException</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -469,10 +477,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.131">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.132">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -481,6 +489,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.137">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#line.146">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html b/apidocs/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html
index 8f0c1b3..d904e90 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":42,"i3":10,"i4":9,"i5":10,"i6":10};
+var methods = {"i0":9,"i1":10,"i2":10,"i3":42,"i4":10,"i5":10,"i6":9,"i7":10,"i8":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.48">KeyOnlyFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.50">KeyOnlyFilter</a>
 extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <div class="block">A filter that will only return the key component of each KV (the value will
  be rewritten as empty).
@@ -200,34 +200,42 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html" title="class in org.apache.hadoop.hbase.filter">KeyOnlyFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">By default no transformation takes place
@@ -255,7 +263,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -277,7 +285,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>KeyOnlyFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.51">KeyOnlyFilter</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.53">KeyOnlyFilter</a>()</pre>
 </li>
 </ul>
 <a name="KeyOnlyFilter-boolean-">
@@ -286,7 +294,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>KeyOnlyFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.52">KeyOnlyFilter</a>(boolean&nbsp;lenAsVal)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.54">KeyOnlyFilter</a>(boolean&nbsp;lenAsVal)</pre>
 </li>
 </ul>
 </li>
@@ -303,7 +311,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.55">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.57">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -331,7 +339,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>transformCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.61">transformCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.63">transformCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">By default no transformation takes place
 
@@ -362,7 +370,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.75">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.77">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)
                                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
@@ -400,7 +408,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.80">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.82">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)
                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -437,7 +445,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.84">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.86">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -446,7 +454,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.98">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.100">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -460,10 +468,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="parseFrom-byte:A-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html" title="class in org.apache.hadoop.hbase.filter">KeyOnlyFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.111">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/KeyOnlyFilter.html" title="class in org.apache.hadoop.hbase.filter">KeyOnlyFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.113">parseFrom</a>(byte[]&nbsp;pbBytes)
                                throws org.apache.hadoop.hbase.exceptions.DeserializationException</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -477,6 +485,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.139">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#line.148">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html b/apidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html
index eab4e99..34c9e52 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.423">MultiRowRangeFilter.RowRange</a>
+public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.424">MultiRowRangeFilter.RowRange</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>
 implements <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;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;</pre>
 </li>
@@ -186,22 +186,30 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
         int&nbsp;length)</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#getStartRow--">getStartRow</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#getStopRow--">getStopRow</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#isStartRowInclusive--">isStartRowInclusive</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#isStopRowInclusive--">isStopRowInclusive</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#isValid--">isValid</a></span>()</code>&nbsp;</td>
 </tr>
@@ -211,7 +219,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <!--   -->
 </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/ja
 va/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>
+<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#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#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/Ob
 ject.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>
@@ -233,7 +241,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockList">
 <li class="blockList">
 <h4>RowRange</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.429">RowRange</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.430">RowRange</a>()</pre>
 </li>
 </ul>
 <a name="RowRange-java.lang.String-boolean-java.lang.String-boolean-">
@@ -242,7 +250,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockList">
 <li class="blockList">
 <h4>RowRange</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.436">RowRange</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;startRow,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.437">RowRange</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;startRow,
                 boolean&nbsp;startRowInclusive,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;stopRow,
                 boolean&nbsp;stopRowInclusive)</pre>
@@ -257,7 +265,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RowRange</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.444">RowRange</a>(byte[]&nbsp;startRow,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.445">RowRange</a>(byte[]&nbsp;startRow,
                 boolean&nbsp;startRowInclusive,
                 byte[]&nbsp;stopRow,
                 boolean&nbsp;stopRowInclusive)</pre>
@@ -277,7 +285,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockList">
 <li class="blockList">
 <h4>getStartRow</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.452">getStartRow</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.453">getStartRow</a>()</pre>
 </li>
 </ul>
 <a name="getStopRow--">
@@ -286,7 +294,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockList">
 <li class="blockList">
 <h4>getStopRow</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.456">getStopRow</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.457">getStopRow</a>()</pre>
 </li>
 </ul>
 <a name="isStartRowInclusive--">
@@ -295,7 +303,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockList">
 <li class="blockList">
 <h4>isStartRowInclusive</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.463">isStartRowInclusive</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.464">isStartRowInclusive</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>if start row is inclusive.</dd>
@@ -308,7 +316,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockList">
 <li class="blockList">
 <h4>isStopRowInclusive</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.470">isStopRowInclusive</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.471">isStopRowInclusive</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>if stop row is inclusive.</dd>
@@ -321,7 +329,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockList">
 <li class="blockList">
 <h4>contains</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.474">contains</a>(byte[]&nbsp;row)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.475">contains</a>(byte[]&nbsp;row)</pre>
 </li>
 </ul>
 <a name="contains-byte:A-int-int-">
@@ -330,7 +338,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockList">
 <li class="blockList">
 <h4>contains</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.478">contains</a>(byte[]&nbsp;buffer,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.479">contains</a>(byte[]&nbsp;buffer,
                         int&nbsp;offset,
                         int&nbsp;length)</pre>
 </li>
@@ -341,7 +349,7 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <ul class="blockList">
 <li class="blockList">
 <h4>compareTo</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.505">compareTo</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&nbsp;other)</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.506">compareTo</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&nbsp;other)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true#compareTo-T-" title="class or interface in java.lang">compareTo</a></code>&nbsp;in interface&nbsp;<code><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;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;</code></dd>
@@ -351,10 +359,36 @@ implements <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparab
 <a name="isValid--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>isValid</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.509">isValid</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.510">isValid</a>()</pre>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.518">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#line.533">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html b/apidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html
index d2a3846..bfc19a0 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":42,"i3":10,"i4":10,"i5":10,"i6":9,"i7":9,"i8":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":42,"i4":10,"i5":10,"i6":10,"i7":10,"i8":9,"i9":9,"i10":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.51">MultiRowRangeFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.52">MultiRowRangeFilter</a>
 extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <div class="block">Filter to support scan multiple row key ranges. It can construct the row key ranges from the
  passed list which can be accessed by each region server.
@@ -213,51 +213,59 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#filterAllRemaining--">filterAllRemaining</a></span>()</code>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentKV)</code>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><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="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#getRowRanges--">getRowRanges</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>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="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#sortAndMerge-java.util.List-">sortAndMerge</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;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;ranges)</code>
 <div class="block">sort the ranges and if the ranges with overlap, then merge them.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
@@ -283,7 +291,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -305,7 +313,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MultiRowRangeFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.66">MultiRowRangeFilter</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;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;list)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.67">MultiRowRangeFilter</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;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;list)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>list</code> - A list of <code>RowRange</code></dd>
@@ -326,7 +334,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>filterAllRemaining</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.71">filterAllRemaining</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.72">filterAllRemaining</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.
@@ -349,7 +357,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getRowRanges</h4>
-<pre>public&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="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.75">getRowRanges</a>()</pre>
+<pre>public&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="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.76">getRowRanges</a>()</pre>
 </li>
 </ul>
 <a name="filterRowKey-org.apache.hadoop.hbase.Cell-">
@@ -358,7 +366,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.80">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.81">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
  false, each KeyValue in the row will be passed to <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-"><code>Filter.filterCell(Cell)</code></a> below.
@@ -384,7 +392,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.130">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.131">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -419,7 +427,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.135">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.136">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -453,7 +461,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>getNextCellHint</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.140">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentKV)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.141">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentKV)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.
@@ -479,7 +487,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.150">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.151">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -496,7 +504,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.173">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.174">parseFrom</a>(byte[]&nbsp;pbBytes)
                                      throws org.apache.hadoop.hbase.exceptions.DeserializationException</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -511,10 +519,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="sortAndMerge-java.util.List-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>sortAndMerge</h4>
-<pre>public static&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="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.258">sortAndMerge</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;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;ranges)</pre>
+<pre>public static&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="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.259">sortAndMerge</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;<a href="../../../../../org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a>&gt;&nbsp;ranges)</pre>
 <div class="block">sort the ranges and if the ranges with overlap, then merge them.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -524,6 +532,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.542">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#line.551">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>


[09/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
index 7c60d28..54d332f 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
@@ -276,9 +276,9 @@
 <ul>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.MemoryType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Cacheable.MemoryType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.Writer.State.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">HFileBlock.Writer.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockType.BlockCategory</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">CacheConfig.ExternalBlockCaches</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">CacheConfig.ExternalBlockCaches</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockType.BlockCategory</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockPriority.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockPriority</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html b/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
index c12ae36..91a2ed4 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
@@ -353,9 +353,9 @@
 <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.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceFactoryImpl.SourceStorage.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">MetricsHBaseServerSourceFactoryImpl.SourceStorage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/CallEvent.Type.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">CallEvent.Type</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/BufferCallBeforeInitHandler.BufferCallAction.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">BufferCallBeforeInitHandler.BufferCallAction</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceFactoryImpl.SourceStorage.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">MetricsHBaseServerSourceFactoryImpl.SourceStorage</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
index deb19ba..dfed8e7 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
@@ -293,10 +293,10 @@
 <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.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/CellCounter.CellCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">CellCounter.CellCounterMapper.Counters</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/SyncTable.SyncMapper.Counter.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">SyncTable.SyncMapper.Counter</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/RowCounter.RowCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">RowCounter.RowCounterMapper.Counters</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableSplit.Version.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TableSplit.Version</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/CellCounter.CellCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">CellCounter.CellCounterMapper.Counters</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/SyncTable.SyncMapper.Counter.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">SyncTable.SyncMapper.Counter</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html b/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html
index d1b7e01..3ca26df 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":9,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":9,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -735,10 +735,16 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
                  boolean&nbsp;shouldSplitWal)</code>&nbsp;</td>
 </tr>
 <tr id="i86" class="altColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#transitStateAndUpdate-org.apache.hadoop.hbase.master.assignment.RegionStateNode-org.apache.hadoop.hbase.master.RegionState.State-org.apache.hadoop.hbase.master.RegionState.State...-">transitStateAndUpdate</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&nbsp;regionNode,
+                     <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>&nbsp;newState,
+                     <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>...&nbsp;expectedStates)</code>&nbsp;</td>
+</tr>
+<tr id="i87" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#unassign-org.apache.hadoop.hbase.client.RegionInfo-">unassign</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr id="i87" class="rowColor">
+<tr id="i88" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#updateRegionMergeTransition-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">updateRegionMergeTransition</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                            org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode&nbsp;state,
@@ -746,11 +752,11 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
                            <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hriA,
                            <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hriB)</code>&nbsp;</td>
 </tr>
-<tr id="i88" class="altColor">
+<tr id="i89" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#updateRegionsInTransitionMetrics-org.apache.hadoop.hbase.master.assignment.AssignmentManager.RegionInTransitionStat-">updateRegionsInTransitionMetrics</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.RegionInTransitionStat.html" title="class in org.apache.hadoop.hbase.master.assignment">AssignmentManager.RegionInTransitionStat</a>&nbsp;ritStat)</code>&nbsp;</td>
 </tr>
-<tr id="i89" class="rowColor">
+<tr id="i90" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#updateRegionSplitTransition-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.client.RegionInfo-">updateRegionSplitTransition</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                            org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode&nbsp;state,
@@ -758,49 +764,49 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
                            <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hriA,
                            <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hriB)</code>&nbsp;</td>
 </tr>
-<tr id="i90" class="altColor">
+<tr id="i91" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#updateRegionTransition-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode-org.apache.hadoop.hbase.client.RegionInfo-long-">updateRegionTransition</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                       org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode&nbsp;state,
                       <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
                       long&nbsp;seqId)</code>&nbsp;</td>
 </tr>
-<tr id="i91" class="rowColor">
+<tr id="i92" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#waitForAssignment-org.apache.hadoop.hbase.client.RegionInfo-">waitForAssignment</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>&nbsp;</td>
 </tr>
-<tr id="i92" class="altColor">
+<tr id="i93" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#waitForAssignment-org.apache.hadoop.hbase.client.RegionInfo-long-">waitForAssignment</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
                  long&nbsp;timeout)</code>&nbsp;</td>
 </tr>
-<tr id="i93" class="rowColor">
+<tr id="i94" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#waitMetaAssigned-org.apache.hadoop.hbase.procedure2.Procedure-org.apache.hadoop.hbase.client.RegionInfo-">waitMetaAssigned</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc,
                 <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>
 <div class="block">Notice that this event does not mean the AM has already finished region state rebuilding.</div>
 </td>
 </tr>
-<tr id="i94" class="altColor">
+<tr id="i95" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#waitMetaLoaded-org.apache.hadoop.hbase.procedure2.Procedure-">waitMetaLoaded</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</code>
 <div class="block">Wait until AM finishes the meta loading, i.e, the region states rebuilding.</div>
 </td>
 </tr>
-<tr id="i95" class="rowColor">
+<tr id="i96" class="altColor">
 <td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#waitOnAssignQueue--">waitOnAssignQueue</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i96" class="altColor">
+<tr id="i97" class="rowColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#waitServerReportEvent-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.procedure2.Procedure-">waitServerReportEvent</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                      <a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html" title="class in org.apache.hadoop.hbase.procedure2">Procedure</a>&lt;?&gt;&nbsp;proc)</code>&nbsp;</td>
 </tr>
-<tr id="i97" class="rowColor">
+<tr id="i98" class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#wakeMetaLoadedEvent--">wakeMetaLoadedEvent</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i98" class="altColor">
+<tr id="i99" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#wakeServerReportEvent-org.apache.hadoop.hbase.master.assignment.ServerStateNode-">wakeServerReportEvent</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/ServerStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">ServerStateNode</a>&nbsp;serverNode)</code>&nbsp;</td>
 </tr>
@@ -1127,7 +1133,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>pendingAssignQueue</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1547">pendingAssignQueue</a></pre>
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1580">pendingAssignQueue</a></pre>
 </li>
 </ul>
 <a name="assignQueueLock">
@@ -1136,7 +1142,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>assignQueueLock</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantLock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1548">assignQueueLock</a></pre>
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantLock</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1581">assignQueueLock</a></pre>
 </li>
 </ul>
 <a name="assignQueueFullCond">
@@ -1145,7 +1151,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockListLast">
 <li class="blockList">
 <h4>assignQueueFullCond</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Condition.html?is-external=true" title="class or interface in java.util.concurrent.locks">Condition</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1549">assignQueueFullCond</a></pre>
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Condition.html?is-external=true" title="class or interface in java.util.concurrent.locks">Condition</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1582">assignQueueFullCond</a></pre>
 </li>
 </ul>
 </li>
@@ -2112,13 +2118,29 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1408">getRegionInfo</a>(byte[]&nbsp;regionName)</pre>
 </li>
 </ul>
+<a name="transitStateAndUpdate-org.apache.hadoop.hbase.master.assignment.RegionStateNode-org.apache.hadoop.hbase.master.RegionState.State-org.apache.hadoop.hbase.master.RegionState.State...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>transitStateAndUpdate</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1417">transitStateAndUpdate</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&nbsp;regionNode,
+                                   <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>&nbsp;newState,
+                                   <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>...&nbsp;expectedStates)
+                            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>
+<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="regionOpening-org.apache.hadoop.hbase.master.assignment.RegionStateNode-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>regionOpening</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1419">regionOpening</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&nbsp;regionNode)
+<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1434">regionOpening</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&nbsp;regionNode)
             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>
@@ -2132,7 +2154,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>regionFailedOpen</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1431">regionFailedOpen</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&nbsp;regionNode,
+<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1444">regionFailedOpen</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&nbsp;regionNode,
                       boolean&nbsp;giveUp)
                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>
@@ -2147,7 +2169,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>regionOpened</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1443">regionOpened</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&nbsp;regionNode)
+<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1468">regionOpened</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&nbsp;regionNode)
            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>
@@ -2161,7 +2183,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>regionClosing</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1462">regionClosing</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&nbsp;regionNode)
+<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1485">regionClosing</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&nbsp;regionNode)
             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>
@@ -2175,7 +2197,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>regionClosed</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1479">regionClosed</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&nbsp;regionNode,
+<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1502">regionClosed</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&nbsp;regionNode,
                   boolean&nbsp;normally)
            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>
@@ -2190,7 +2212,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>markRegionAsSplit</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1492">markRegionAsSplit</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;parent,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1525">markRegionAsSplit</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;parent,
                               <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                               <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;daughterA,
                               <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;daughterB)
@@ -2207,7 +2229,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>markRegionAsMerged</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1522">markRegionAsMerged</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;child,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1555">markRegionAsMerged</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;child,
                                <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                                <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;mother,
                                <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;father)
@@ -2230,7 +2252,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>shouldAssignFavoredNodes</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1539">shouldAssignFavoredNodes</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region)</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1572">shouldAssignFavoredNodes</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region)</pre>
 </li>
 </ul>
 <a name="queueAssign-org.apache.hadoop.hbase.master.assignment.RegionStateNode-">
@@ -2239,7 +2261,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>queueAssign</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1556">queueAssign</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&nbsp;regionNode)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1589">queueAssign</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&nbsp;regionNode)</pre>
 <div class="block">Add the assign operation to the assignment queue.
  The pending assignment operation will be processed,
  and each region will be assigned by a server using the balancer.</div>
@@ -2251,7 +2273,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>startAssignmentThread</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1573">startAssignmentThread</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1606">startAssignmentThread</a>()</pre>
 </li>
 </ul>
 <a name="stopAssignmentThread--">
@@ -2260,7 +2282,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>stopAssignmentThread</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1591">stopAssignmentThread</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1624">stopAssignmentThread</a>()</pre>
 </li>
 </ul>
 <a name="assignQueueSignal--">
@@ -2269,7 +2291,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>assignQueueSignal</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1604">assignQueueSignal</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1637">assignQueueSignal</a>()</pre>
 </li>
 </ul>
 <a name="waitOnAssignQueue--">
@@ -2278,7 +2300,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>waitOnAssignQueue</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1614">waitOnAssignQueue</a>()</pre>
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1647">waitOnAssignQueue</a>()</pre>
 </li>
 </ul>
 <a name="processAssignQueue--">
@@ -2287,7 +2309,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>processAssignQueue</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1639">processAssignQueue</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1672">processAssignQueue</a>()</pre>
 </li>
 </ul>
 <a name="processAssignmentPlans-java.util.HashMap-java.util.HashMap-java.util.List-java.util.List-">
@@ -2296,7 +2318,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>processAssignmentPlans</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1701">processAssignmentPlans</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&gt;&nbsp;regions,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1734">processAssignmentPlans</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&gt;&nbsp;regions,
                                     <a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;retainMap,
                                     <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="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;hris,
                                     <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="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;servers)</pre>
@@ -2308,7 +2330,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>acceptPlan</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1739">acceptPlan</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&gt;&nbsp;regions,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1772">acceptPlan</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&gt;&nbsp;regions,
                         <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</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;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&gt;&nbsp;plan)
                  throws <a href="../../../../../../org/apache/hadoop/hbase/HBaseIOException.html" title="class in org.apache.hadoop.hbase">HBaseIOException</a></pre>
 <dl>
@@ -2323,7 +2345,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>addToPendingAssignment</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1768">addToPendingAssignment</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&gt;&nbsp;regions,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1801">addToPendingAssignment</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&gt;&nbsp;regions,
                                     <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 href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;pendingRegions)</pre>
 </li>
 </ul>
@@ -2333,7 +2355,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>getExcludedServersForSystemTable</h4>
-<pre>public&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="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1784">getExcludedServersForSystemTable</a>()</pre>
+<pre>public&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="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1817">getExcludedServersForSystemTable</a>()</pre>
 <div class="block">Get a list of servers that this region cannot be assigned to.
  For system tables, we must assign them to a server with highest version.</div>
 </li>
@@ -2344,7 +2366,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>serverAdded</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1807">serverAdded</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1840">serverAdded</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/ServerListener.html#serverAdded-org.apache.hadoop.hbase.ServerName-">ServerListener</a></code></span></div>
 <div class="block">The server has joined the cluster.</div>
 <dl>
@@ -2361,7 +2383,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockList">
 <li class="blockList">
 <h4>serverRemoved</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1811">serverRemoved</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1844">serverRemoved</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/ServerListener.html#serverRemoved-org.apache.hadoop.hbase.ServerName-">ServerListener</a></code></span></div>
 <div class="block">The server was removed from the cluster.</div>
 <dl>
@@ -2378,7 +2400,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/ServerListe
 <ul class="blockListLast">
 <li class="blockList">
 <h4>killRegionServer</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1819">killRegionServer</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/ServerStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">ServerStateNode</a>&nbsp;serverNode)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#line.1852">killRegionServer</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/ServerStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">ServerStateNode</a>&nbsp;serverNode)</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html
index 5c5a243..420d73a 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html
@@ -827,7 +827,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>setTimeoutFailure</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.343">setTimeoutFailure</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.339">setTimeoutFailure</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block">At end of timeout, wake ourselves up so we run again.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
@@ -844,7 +844,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>reportTransitionOpened</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.349">reportTransitionOpened</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.345">reportTransitionOpened</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                     <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&nbsp;regionNode,
                                     <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                                     org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode&nbsp;code,
@@ -862,7 +862,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>reportTransitionClosed</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.384">reportTransitionClosed</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.380">reportTransitionClosed</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                     <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&nbsp;regionNode,
                                     <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                                     org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode&nbsp;code)
@@ -879,7 +879,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>reportTransition</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.402">reportTransition</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.398">reportTransition</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                              <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&nbsp;regionNode,
                              <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                              org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode&nbsp;code,
@@ -897,7 +897,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>serverCrashed</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.418">serverCrashed</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.414">serverCrashed</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                           <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&nbsp;regionNode,
                           <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName)
                    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>
@@ -913,7 +913,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>getBackoffTime</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.448">getBackoffTime</a>(int&nbsp;attempts)</pre>
+<pre>private&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.444">getBackoffTime</a>(int&nbsp;attempts)</pre>
 </li>
 </ul>
 <a name="incrementAndCheckMaxAttempts-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.master.assignment.RegionStateNode-">
@@ -922,7 +922,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>incrementAndCheckMaxAttempts</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.454">incrementAndCheckMaxAttempts</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.450">incrementAndCheckMaxAttempts</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                              <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&nbsp;regionNode)</pre>
 </li>
 </ul>
@@ -932,7 +932,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>rollbackState</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.464">rollbackState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.460">rollbackState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                              org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RegionStateTransitionState&nbsp;state)
                       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>,
                              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
@@ -954,7 +954,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>getState</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RegionStateTransitionState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.471">getState</a>(int&nbsp;stateId)</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RegionStateTransitionState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.467">getState</a>(int&nbsp;stateId)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getState-int-">StateMachineProcedure</a></code></span></div>
 <div class="block">Convert an ordinal (or state id) to an Enum (or more descriptive) state object.</div>
 <dl>
@@ -973,7 +973,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>getStateId</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.476">getStateId</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RegionStateTransitionState&nbsp;state)</pre>
+<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.472">getStateId</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RegionStateTransitionState&nbsp;state)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getStateId-TState-">StateMachineProcedure</a></code></span></div>
 <div class="block">Convert the Enum (or more descriptive) state object to an ordinal (or state id).</div>
 <dl>
@@ -992,7 +992,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>getInitialState</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RegionStateTransitionState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.481">getInitialState</a>()</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.RegionStateTransitionState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.477">getInitialState</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getInitialState--">StateMachineProcedure</a></code></span></div>
 <div class="block">Return the initial state object that will be used for the first call to executeFromState().</div>
 <dl>
@@ -1009,7 +1009,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>serializeStateData</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.486">serializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.482">serializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)
                            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">Procedure</a></code></span></div>
 <div class="block">The user-level code of the procedure may have some state to
@@ -1031,7 +1031,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>deserializeStateData</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.497">deserializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.493">deserializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)
                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">Procedure</a></code></span></div>
 <div class="block">Called on store load to allow the user to decode the previously serialized
@@ -1052,7 +1052,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>getProcedureMetrics</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureMetrics.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureMetrics</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.510">getProcedureMetrics</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureMetrics.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureMetrics</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.506">getProcedureMetrics</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcedureMetrics-TEnvironment-">Procedure</a></code></span></div>
 <div class="block">Override this method to provide procedure specific counters for submitted count, failed
  count and time histogram.</div>
@@ -1072,7 +1072,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>toStringClassDetails</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.520">toStringClassDetails</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.516">toStringClassDetails</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClassDetails-java.lang.StringBuilder-">Procedure</a></code></span></div>
 <div class="block">Extend the toString() information with the procedure details
  e.g. className and parameters</div>
@@ -1090,7 +1090,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>setOwner</h4>
-<pre>private static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">TransitRegionStateProcedure</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.531">setOwner</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>private static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">TransitRegionStateProcedure</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.527">setOwner</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                                     <a href="../../../../../../org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">TransitRegionStateProcedure</a>&nbsp;proc)</pre>
 </li>
 </ul>
@@ -1100,7 +1100,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>assign</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">TransitRegionStateProcedure</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.540">assign</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">TransitRegionStateProcedure</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.536">assign</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                                  <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region,
                                                  @Nullable
                                                  <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;targetServer)</pre>
@@ -1112,7 +1112,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>unassign</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">TransitRegionStateProcedure</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.548">unassign</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">TransitRegionStateProcedure</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.544">unassign</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                                    <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region)</pre>
 </li>
 </ul>
@@ -1122,7 +1122,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockList">
 <li class="blockList">
 <h4>reopen</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">TransitRegionStateProcedure</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.555">reopen</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">TransitRegionStateProcedure</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.551">reopen</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                                  <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region)</pre>
 </li>
 </ul>
@@ -1132,7 +1132,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/Abst
 <ul class="blockListLast">
 <li class="blockList">
 <h4>move</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">TransitRegionStateProcedure</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.562">move</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html" title="class in org.apache.hadoop.hbase.master.assignment">TransitRegionStateProcedure</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.html#line.558">move</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                                <a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;region,
                                                @Nullable
                                                <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;targetServer)</pre>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/master/assignment/class-use/RegionStateNode.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/assignment/class-use/RegionStateNode.html b/devapidocs/org/apache/hadoop/hbase/master/assignment/class-use/RegionStateNode.html
index e31a01d..d5a6a8d 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/assignment/class-use/RegionStateNode.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/assignment/class-use/RegionStateNode.html
@@ -462,24 +462,30 @@
 &nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="typeNameLabel">AssignmentManager.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#transitStateAndUpdate-org.apache.hadoop.hbase.master.assignment.RegionStateNode-org.apache.hadoop.hbase.master.RegionState.State-org.apache.hadoop.hbase.master.RegionState.State...-">transitStateAndUpdate</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&nbsp;regionNode,
+                     <a href="../../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>&nbsp;newState,
+                     <a href="../../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>...&nbsp;expectedStates)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionStateStore.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#updateRegionLocation-org.apache.hadoop.hbase.master.assignment.RegionStateNode-">updateRegionLocation</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&nbsp;regionStateNode)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">UnassignProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/assignment/UnassignProcedure.html#updateTransition-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.master.assignment.RegionStateNode-">updateTransition</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                 <a href="../../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&nbsp;regionNode)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 &nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">AssignProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/assignment/AssignProcedure.html#updateTransition-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.master.assignment.RegionStateNode-">updateTransition</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                 <a href="../../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&nbsp;regionNode)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 &nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected abstract boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionTransitionProcedure.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hbase/master/assignment/RegionTransitionProcedure.html#updateTransition-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-org.apache.hadoop.hbase.master.assignment.RegionStateNode-">updateTransition</a></span>(<a href="../../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                 <a href="../../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&nbsp;regionNode)</code>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
index 1799704..abd92a9 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
@@ -198,8 +198,8 @@
 <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.master.balancer.<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.Action.Type.html" title="enum in org.apache.hadoop.hbase.master.balancer"><span class="typeNameLink">BaseLoadBalancer.Cluster.Action.Type</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.balancer.<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.LocalityType.html" title="enum in org.apache.hadoop.hbase.master.balancer"><span class="typeNameLink">BaseLoadBalancer.Cluster.LocalityType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.balancer.<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.Action.Type.html" title="enum in org.apache.hadoop.hbase.master.balancer"><span class="typeNameLink">BaseLoadBalancer.Cluster.Action.Type</span></a></li>
 </ul>
 </li>
 </ul>


[45/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/QualifierFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/QualifierFilter.html b/apidocs/org/apache/hadoop/hbase/filter/QualifierFilter.html
index eede21a..cfecc97 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/QualifierFilter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/QualifierFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":42,"i3":9,"i4":10};
+var methods = {"i0":9,"i1":10,"i2":10,"i3":42,"i4":10,"i5":9,"i6":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -125,7 +125,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.48">QualifierFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.49">QualifierFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></pre>
 <div class="block">This filter is used to filter based on the column qualifier. It takes an
  operator (equal, greater, not equal, etc) and a byte [] comparator for the
@@ -235,22 +235,30 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/QualifierFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/QualifierFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/QualifierFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/QualifierFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/QualifierFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/QualifierFilter.html" title="class in org.apache.hadoop.hbase.filter">QualifierFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/QualifierFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/QualifierFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
@@ -283,7 +291,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -306,7 +314,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <li class="blockList">
 <h4>QualifierFilter</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.58">QualifierFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;op,
+public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.59">QualifierFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;op,
                                    <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;qualifierComparator)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0.
  Use <a href="../../../../../org/apache/hadoop/hbase/filter/QualifierFilter.html#QualifierFilter-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-"><code>QualifierFilter(CompareOperator, ByteArrayComparable)</code></a> instead.</span></div>
@@ -324,7 +332,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Qual
 <ul class="blockListLast">
 <li class="blockList">
 <h4>QualifierFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.68">QualifierFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.69">QualifierFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                        <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;qualifierComparator)</pre>
 <div class="block">Constructor.</div>
 <dl>
@@ -349,7 +357,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Qual
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.75">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.76">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -384,7 +392,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.80">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.81">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -418,7 +426,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.90">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.91">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -427,7 +435,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.101">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.102">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -441,10 +449,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="parseFrom-byte:A-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/QualifierFilter.html" title="class in org.apache.hadoop.hbase.filter">QualifierFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.114">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/QualifierFilter.html" title="class in org.apache.hadoop.hbase.filter">QualifierFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.115">parseFrom</a>(byte[]&nbsp;pbBytes)
                                  throws org.apache.hadoop.hbase.exceptions.DeserializationException</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -458,6 +466,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.149">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#equals-java.lang.Object-">equals</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.158">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#hashCode--">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/RandomRowFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/RandomRowFilter.html b/apidocs/org/apache/hadoop/hbase/filter/RandomRowFilter.html
index 1f81096..da1356d 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/RandomRowFilter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/RandomRowFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":42,"i3":10,"i4":10,"i5":10,"i6":10,"i7":9,"i8":10,"i9":10,"i10":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":42,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":9,"i10":10,"i11":10,"i12":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.36">RandomRowFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.37">RandomRowFilter</a>
 extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <div class="block">A filter that includes rows based on a chance.</div>
 </li>
@@ -211,24 +211,28 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#filterAllRemaining--">filterAllRemaining</a></span>()</code>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#filterRow--">filterRow</a></span>()</code>
 <div class="block">Filters that never filter by rows based on previously gathered state from
@@ -236,41 +240,45 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
  never filters a row.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>float</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#getChance--">getChance</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#hasFilterRow--">hasFilterRow</a></span>()</code>
 <div class="block">Fitlers that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html" title="class in org.apache.hadoop.hbase.filter">RandomRowFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#reset--">reset</a></span>()</code>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#setChance-float-">setChance</a></span>(float&nbsp;chance)</code>
 <div class="block">Set the chance that a row is included.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
@@ -296,7 +304,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -318,7 +326,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>random</h4>
-<pre>protected static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.37">random</a></pre>
+<pre>protected static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.38">random</a></pre>
 </li>
 </ul>
 <a name="chance">
@@ -327,7 +335,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>chance</h4>
-<pre>protected&nbsp;float <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.39">chance</a></pre>
+<pre>protected&nbsp;float <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.40">chance</a></pre>
 </li>
 </ul>
 <a name="filterOutRow">
@@ -336,7 +344,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>filterOutRow</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.40">filterOutRow</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.41">filterOutRow</a></pre>
 </li>
 </ul>
 </li>
@@ -353,7 +361,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RandomRowFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.47">RandomRowFilter</a>(float&nbsp;chance)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.48">RandomRowFilter</a>(float&nbsp;chance)</pre>
 <div class="block">Create a new filter with a specified chance for a row to be included.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -375,7 +383,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getChance</h4>
-<pre>public&nbsp;float&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.54">getChance</a>()</pre>
+<pre>public&nbsp;float&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.55">getChance</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>The chance that a row gets included.</dd>
@@ -388,7 +396,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>setChance</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.63">setChance</a>(float&nbsp;chance)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.64">setChance</a>(float&nbsp;chance)</pre>
 <div class="block">Set the chance that a row is included.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -402,7 +410,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>filterAllRemaining</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.68">filterAllRemaining</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.69">filterAllRemaining</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.
@@ -426,7 +434,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.74">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.75">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -461,7 +469,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.79">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.80">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -495,7 +503,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.87">filterRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.88">filterRow</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that never filter by rows based on previously gathered state from
  <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-"><code>Filter.filterCell(Cell)</code></a> can inherit this implementation that
@@ -521,7 +529,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>hasFilterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.92">hasFilterRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.93">hasFilterRow</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Fitlers that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.
@@ -542,7 +550,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.97">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.98">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
  false, each KeyValue in the row will be passed to <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-"><code>Filter.filterCell(Cell)</code></a> below.
@@ -567,7 +575,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.112">reset</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.113">reset</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.
@@ -588,7 +596,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.120">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.121">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -602,10 +610,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="parseFrom-byte:A-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html" title="class in org.apache.hadoop.hbase.filter">RandomRowFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.133">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html" title="class in org.apache.hadoop.hbase.filter">RandomRowFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.134">parseFrom</a>(byte[]&nbsp;pbBytes)
                                  throws org.apache.hadoop.hbase.exceptions.DeserializationException</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -619,6 +627,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.160">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.169">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/RowFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/RowFilter.html b/apidocs/org/apache/hadoop/hbase/filter/RowFilter.html
index 0768327..2f519a6 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/RowFilter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/RowFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":42,"i3":10,"i4":10,"i5":9,"i6":10,"i7":10};
+var methods = {"i0":9,"i1":10,"i2":10,"i3":42,"i4":10,"i5":10,"i6":10,"i7":9,"i8":10,"i9":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -125,7 +125,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.47">RowFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.48">RowFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></pre>
 <div class="block">This filter is used to filter based on the key. It takes an operator
  (equal, greater, not equal, etc) and a byte [] comparator for the row,
@@ -234,18 +234,22 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#filterRow--">filterRow</a></span>()</code>
 <div class="block">Filters that never filter by rows based on previously gathered state from
@@ -253,24 +257,28 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
  never filters a row.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html" title="class in org.apache.hadoop.hbase.filter">RowFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#reset--">reset</a></span>()</code>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
@@ -303,7 +311,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -326,7 +334,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <li class="blockList">
 <h4>RowFilter</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.59">RowFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;rowCompareOp,
+public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.60">RowFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;rowCompareOp,
                              <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;rowComparator)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Since 2.0.0. Will remove in 3.0.0. Use
  <a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#RowFilter-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-"><code>RowFilter(CompareOperator, ByteArrayComparable)</code></a>} instead.</span></div>
@@ -344,7 +352,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowF
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RowFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.69">RowFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.70">RowFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                  <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;rowComparator)</pre>
 <div class="block">Constructor.</div>
 <dl>
@@ -368,7 +376,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowF
 <ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.75">reset</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.76">reset</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.
@@ -390,7 +398,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowF
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.81">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.82">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -425,7 +433,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.86">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.87">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -459,7 +467,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.94">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.95">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
  false, each KeyValue in the row will be passed to <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-"><code>Filter.filterCell(Cell)</code></a> below.
@@ -484,7 +492,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.102">filterRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.103">filterRow</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that never filter by rows based on previously gathered state from
  <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-"><code>Filter.filterCell(Cell)</code></a> can inherit this implementation that
@@ -510,7 +518,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.106">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.107">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -519,7 +527,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.118">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.119">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -533,10 +541,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="parseFrom-byte:A-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html" title="class in org.apache.hadoop.hbase.filter">RowFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.131">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html" title="class in org.apache.hadoop.hbase.filter">RowFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.132">parseFrom</a>(byte[]&nbsp;pbBytes)
                            throws org.apache.hadoop.hbase.exceptions.DeserializationException</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -550,6 +558,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.166">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#equals-java.lang.Object-">equals</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.175">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#hashCode--">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.html b/apidocs/org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.html
index 57a6c40..829e2a3 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.html
@@ -299,7 +299,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValue
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter">SingleColumnValueFilter</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterRow--">filterRow</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getComparator--">getComparator</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getCompareOperator--">getCompareOperator</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getFamily--">getFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.
 html#getFilterIfMissing--">getFilterIfMissing</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getLatestVersionOnly--">getLatestVersionOnly</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getOperator--">getOperator</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getQualifier--">getQualifier</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#isFamilyEssential-byte:A-">isFamilyEssential</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#reset--">reset</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#setFilterIfMissing-boolean-">setFilterIfMissing</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#setLatestVersionOnly-boolean-">setLatestVersionOnly</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleC
 olumnValueFilter.html#toString--">toString</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#equals-java.lang.Object-">equals</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterRow--">filterRow</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getComparator--">getComparator</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getCompareOperator--">getCompareOperator</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnVa
 lueFilter.html#getFamily--">getFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getFilterIfMissing--">getFilterIfMissing</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getLatestVersionOnly--">getLatestVersionOnly</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getOperator--">getOperator</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getQualifier--">getQualifier</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#hashCode--">hashCode</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#isFamilyEssential-byte:A-">isFamilyEssential</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#reset--">reset</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#setFilterIfMissing-boole
 an-">setFilterIfMissing</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#setLatestVersionOnly-boolean-">setLatestVersionOnly</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.filter.FilterBase">
@@ -320,7 +320,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValue
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>


[03/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html b/devapidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html
index ad7c82a..1dfa7b8 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html
@@ -29,307 +29,322 @@
 <span class="sourceLineNo">021</span><a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
 <span class="sourceLineNo">023</span>import java.util.ArrayList;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.CompareOperator;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.29"></a>
-<span class="sourceLineNo">030</span><a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.31"></a>
-<span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.CompareType;<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>/**<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * This is a generic filter to be used to filter by comparison.  It takes an<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * operator (equal, greater, not equal, etc) and a byte [] comparator.<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * &lt;p&gt;<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * To filter by row key, use {@link RowFilter}.<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * &lt;p&gt;<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * To filter by column family, use {@link FamilyFilter}.<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * &lt;p&gt;<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * To filter by column qualifier, use {@link QualifierFilter}.<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * &lt;p&gt;<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * To filter by value, use {@link ValueFilter}.<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * &lt;p&gt;<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * These filters can be wrapped with {@link SkipFilter} and {@link WhileMatchFilter}<a name="line.50"></a>
-<span class="sourceLineNo">051</span> * to add more control.<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * &lt;p&gt;<a name="line.52"></a>
-<span class="sourceLineNo">053</span> * Multiple filters can be combined using {@link FilterList}.<a name="line.53"></a>
-<span class="sourceLineNo">054</span> */<a name="line.54"></a>
-<span class="sourceLineNo">055</span>@InterfaceAudience.Public<a name="line.55"></a>
-<span class="sourceLineNo">056</span>public abstract class CompareFilter extends FilterBase {<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  /**<a name="line.57"></a>
-<span class="sourceLineNo">058</span>   * Comparison operators. For filters only!<a name="line.58"></a>
-<span class="sourceLineNo">059</span>   * Use {@link CompareOperator} otherwise.<a name="line.59"></a>
-<span class="sourceLineNo">060</span>   * It (intentionally) has at least the below enums with same names.<a name="line.60"></a>
-<span class="sourceLineNo">061</span>   * @deprecated  since 2.0.0. Will be removed in 3.0.0. Use {@link CompareOperator} instead.<a name="line.61"></a>
-<span class="sourceLineNo">062</span>   */<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  @Deprecated<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  @InterfaceAudience.Public<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  public enum CompareOp {<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    /** less than */<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    LESS,<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    /** less than or equal to */<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    LESS_OR_EQUAL,<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    /** equals */<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    EQUAL,<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    /** not equal */<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    NOT_EQUAL,<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    /** greater than or equal to */<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    GREATER_OR_EQUAL,<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    /** greater than */<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    GREATER,<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    /** no operation */<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    NO_OP,<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  }<a name="line.80"></a>
-<span class="sourceLineNo">081</span><a name="line.81"></a>
-<span class="sourceLineNo">082</span>  protected CompareOperator op;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  protected ByteArrayComparable comparator;<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  /**<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   * Constructor.<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   * @param compareOp the compare op for row matching<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   * @param comparator the comparator for row matching<a name="line.88"></a>
-<span class="sourceLineNo">089</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0. Use other constructor.<a name="line.89"></a>
-<span class="sourceLineNo">090</span>   */<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  @Deprecated<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  public CompareFilter(final CompareOp compareOp,<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      final ByteArrayComparable comparator) {<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    this(CompareOperator.valueOf(compareOp.name()), comparator);<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  }<a name="line.95"></a>
-<span class="sourceLineNo">096</span><a name="line.96"></a>
-<span class="sourceLineNo">097</span>  /**<a name="line.97"></a>
-<span class="sourceLineNo">098</span>   * Constructor.<a name="line.98"></a>
-<span class="sourceLineNo">099</span>   * @param op the compare op for row matching<a name="line.99"></a>
-<span class="sourceLineNo">100</span>   * @param comparator the comparator for row matching<a name="line.100"></a>
-<span class="sourceLineNo">101</span>   */<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  public CompareFilter(final CompareOperator op,<a name="line.102"></a>
-<span class="sourceLineNo">103</span>                       final ByteArrayComparable comparator) {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    this.op = op;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    this.comparator = comparator;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  }<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  /**<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   * @return operator<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   * @deprecated  since 2.0.0. Will be removed in 3.0.0. Use {@link #getCompareOperator()} instead.<a name="line.110"></a>
-<span class="sourceLineNo">111</span>   */<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  @Deprecated<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public CompareOp getOperator() {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    return CompareOp.valueOf(op.name());<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  }<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  public CompareOperator getCompareOperator() {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    return op;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  }<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>  /**<a name="line.121"></a>
-<span class="sourceLineNo">122</span>   * @return the comparator<a name="line.122"></a>
-<span class="sourceLineNo">123</span>   */<a name="line.123"></a>
-<span class="sourceLineNo">124</span>  public ByteArrayComparable getComparator() {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    return comparator;<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>  @Override<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    return false;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  }<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>  /**<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * Use {@link #compareRow(CompareOperator, ByteArrayComparable, Cell)}<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   */<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  @Deprecated<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  protected boolean compareRow(final CompareOp compareOp, final ByteArrayComparable comparator,<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      final Cell cell) {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      return true;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    }<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    int compareResult = PrivateCellUtil.compareRow(cell, comparator);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    return compare(compareOp, compareResult);<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  }<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  protected boolean compareRow(final CompareOperator op, final ByteArrayComparable comparator,<a name="line.148"></a>
-<span class="sourceLineNo">149</span>                               final Cell cell) {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    if (op == CompareOperator.NO_OP) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      return true;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    int compareResult = PrivateCellUtil.compareRow(cell, comparator);<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    return compare(op, compareResult);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  }<a name="line.155"></a>
-<span class="sourceLineNo">156</span><a name="line.156"></a>
-<span class="sourceLineNo">157</span>  /**<a name="line.157"></a>
-<span class="sourceLineNo">158</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.158"></a>
-<span class="sourceLineNo">159</span>   * Use {@link #compareFamily(CompareOperator, ByteArrayComparable, Cell)}<a name="line.159"></a>
-<span class="sourceLineNo">160</span>   */<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  @Deprecated<a name="line.161"></a>
-<span class="sourceLineNo">162</span>  protected boolean compareFamily(final CompareOp compareOp, final ByteArrayComparable comparator,<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      final Cell cell) {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      return true;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    }<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    int compareResult = PrivateCellUtil.compareFamily(cell, comparator);<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    return compare(compareOp, compareResult);<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  }<a name="line.169"></a>
-<span class="sourceLineNo">170</span><a name="line.170"></a>
-<span class="sourceLineNo">171</span>  protected boolean compareFamily(final CompareOperator op, final ByteArrayComparable comparator,<a name="line.171"></a>
-<span class="sourceLineNo">172</span>                                  final Cell cell) {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    if (op == CompareOperator.NO_OP) {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      return true;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    }<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    int compareResult = PrivateCellUtil.compareFamily(cell, comparator);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    return compare(op, compareResult);<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  }<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span>  /**<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   * Use {@link #compareQualifier(CompareOperator, ByteArrayComparable, Cell)}<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   */<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  @Deprecated<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  protected boolean compareQualifier(final CompareOp compareOp,<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      final ByteArrayComparable comparator, final Cell cell) {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    // We do not call through to the non-deprecated method for perf reasons.<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      return true;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    }<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    int compareResult = PrivateCellUtil.compareQualifier(cell, comparator);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    return compare(compareOp, compareResult);<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  }<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span>  protected boolean compareQualifier(final CompareOperator op,<a name="line.195"></a>
-<span class="sourceLineNo">196</span>                                     final ByteArrayComparable comparator, final Cell cell) {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    // We do not call through to the non-deprecated method for perf reasons.<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    if (op == CompareOperator.NO_OP) {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      return true;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    }<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    int compareResult = PrivateCellUtil.compareQualifier(cell, comparator);<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    return compare(op, compareResult);<a name="line.202"></a>
-<span class="sourceLineNo">203</span>  }<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  /**<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.206"></a>
-<span class="sourceLineNo">207</span>   * Use {@link #compareValue(CompareOperator, ByteArrayComparable, Cell)}<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   */<a name="line.208"></a>
-<span class="sourceLineNo">209</span>  @Deprecated<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  protected boolean compareValue(final CompareOp compareOp, final ByteArrayComparable comparator,<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      final Cell cell) {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    // We do not call through to the non-deprecated method for perf reasons.<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      return true;<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    }<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    int compareResult = PrivateCellUtil.compareValue(cell, comparator);<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    return compare(compareOp, compareResult);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  }<a name="line.218"></a>
-<span class="sourceLineNo">219</span><a name="line.219"></a>
-<span class="sourceLineNo">220</span>  protected boolean compareValue(final CompareOperator op, final ByteArrayComparable comparator,<a name="line.220"></a>
-<span class="sourceLineNo">221</span>                                 final Cell cell) {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    if (op == CompareOperator.NO_OP) {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      return true;<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    }<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    int compareResult = PrivateCellUtil.compareValue(cell, comparator);<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    return compare(op, compareResult);<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  }<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  static boolean compare(final CompareOp op, int compareResult) {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    switch (op) {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    case LESS:<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      return compareResult &lt;= 0;<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    case LESS_OR_EQUAL:<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      return compareResult &lt; 0;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    case EQUAL:<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      return compareResult != 0;<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    case NOT_EQUAL:<a name="line.237"></a>
-<span class="sourceLineNo">238</span>      return compareResult == 0;<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    case GREATER_OR_EQUAL:<a name="line.239"></a>
-<span class="sourceLineNo">240</span>      return compareResult &gt; 0;<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    case GREATER:<a name="line.241"></a>
-<span class="sourceLineNo">242</span>      return compareResult &gt;= 0;<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    default:<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      throw new RuntimeException("Unknown Compare op " + op.name());<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    }<a name="line.245"></a>
-<span class="sourceLineNo">246</span>  }<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>  static boolean compare(final CompareOperator op, int compareResult) {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    switch (op) {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      case LESS:<a name="line.250"></a>
-<span class="sourceLineNo">251</span>        return compareResult &lt;= 0;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      case LESS_OR_EQUAL:<a name="line.252"></a>
-<span class="sourceLineNo">253</span>        return compareResult &lt; 0;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      case EQUAL:<a name="line.254"></a>
-<span class="sourceLineNo">255</span>        return compareResult != 0;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      case NOT_EQUAL:<a name="line.256"></a>
-<span class="sourceLineNo">257</span>        return compareResult == 0;<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      case GREATER_OR_EQUAL:<a name="line.258"></a>
-<span class="sourceLineNo">259</span>        return compareResult &gt; 0;<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      case GREATER:<a name="line.260"></a>
-<span class="sourceLineNo">261</span>        return compareResult &gt;= 0;<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      default:<a name="line.262"></a>
-<span class="sourceLineNo">263</span>        throw new RuntimeException("Unknown Compare op " + op.name());<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    }<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  }<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>  // returns an array of heterogeneous objects<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  public static ArrayList&lt;Object&gt; extractArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    Preconditions.checkArgument(filterArguments.size() == 2,<a name="line.269"></a>
-<span class="sourceLineNo">270</span>                                "Expected 2 but got: %s", filterArguments.size());<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    CompareOperator op = ParseFilter.createCompareOperator(filterArguments.get(0));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    ByteArrayComparable comparator = ParseFilter.createComparator(<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      ParseFilter.removeQuotesFromByteArray(filterArguments.get(1)));<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>    if (comparator instanceof RegexStringComparator ||<a name="line.275"></a>
-<span class="sourceLineNo">276</span>        comparator instanceof SubstringComparator) {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      if (op != CompareOperator.EQUAL &amp;&amp;<a name="line.277"></a>
-<span class="sourceLineNo">278</span>          op != CompareOperator.NOT_EQUAL) {<a name="line.278"></a>
-<span class="sourceLineNo">279</span>        throw new IllegalArgumentException ("A regexstring comparator and substring comparator" +<a name="line.279"></a>
-<span class="sourceLineNo">280</span>                                            " can only be used with EQUAL and NOT_EQUAL");<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      }<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    }<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    ArrayList&lt;Object&gt; arguments = new ArrayList&lt;&gt;(2);<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    arguments.add(op);<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    arguments.add(comparator);<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    return arguments;<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  }<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  /**<a name="line.289"></a>
-<span class="sourceLineNo">290</span>   * @return A pb instance to represent this instance.<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   */<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  FilterProtos.CompareFilter convert() {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    FilterProtos.CompareFilter.Builder builder =<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      FilterProtos.CompareFilter.newBuilder();<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    HBaseProtos.CompareType compareOp = CompareType.valueOf(this.op.name());<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    builder.setCompareOp(compareOp);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    if (this.comparator != null) builder.setComparator(ProtobufUtil.toComparator(this.comparator));<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    return builder.build();<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  }<a name="line.299"></a>
-<span class="sourceLineNo">300</span><a name="line.300"></a>
-<span class="sourceLineNo">301</span>  /**<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   *<a name="line.302"></a>
-<span class="sourceLineNo">303</span>   * @param o<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.305"></a>
-<span class="sourceLineNo">306</span>   */<a name="line.306"></a>
-<span class="sourceLineNo">307</span>  @Override<a name="line.307"></a>
-<span class="sourceLineNo">308</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    if (o == this) return true;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    if (!(o instanceof CompareFilter)) return false;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    CompareFilter other = (CompareFilter)o;<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    return this.getCompareOperator().equals(other.getCompareOperator()) &amp;&amp;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      (this.getComparator() == other.getComparator()<a name="line.313"></a>
-<span class="sourceLineNo">314</span>        || this.getComparator().areSerializedFieldsEqual(other.getComparator()));<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  }<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>  @Override<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  public String toString() {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    return String.format("%s (%s, %s)",<a name="line.319"></a>
-<span class="sourceLineNo">320</span>        this.getClass().getSimpleName(),<a name="line.320"></a>
-<span class="sourceLineNo">321</span>        this.op.name(),<a name="line.321"></a>
-<span class="sourceLineNo">322</span>        Bytes.toStringBinary(this.comparator.getValue()));<a name="line.322"></a>
-<span class="sourceLineNo">323</span>  }<a name="line.323"></a>
-<span class="sourceLineNo">324</span>}<a name="line.324"></a>
+<span class="sourceLineNo">024</span>import java.util.Objects;<a name="line.24"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.Cell;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.CompareOperator;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.30"></a>
+<span class="sourceLineNo">031</span><a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.CompareType;<a name="line.37"></a>
+<span class="sourceLineNo">038</span><a name="line.38"></a>
+<span class="sourceLineNo">039</span>/**<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * This is a generic filter to be used to filter by comparison.  It takes an<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * operator (equal, greater, not equal, etc) and a byte [] comparator.<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * &lt;p&gt;<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * To filter by row key, use {@link RowFilter}.<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * &lt;p&gt;<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * To filter by column family, use {@link FamilyFilter}.<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * &lt;p&gt;<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * To filter by column qualifier, use {@link QualifierFilter}.<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * &lt;p&gt;<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * To filter by value, use {@link ValueFilter}.<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * &lt;p&gt;<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * These filters can be wrapped with {@link SkipFilter} and {@link WhileMatchFilter}<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * to add more control.<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * &lt;p&gt;<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * Multiple filters can be combined using {@link FilterList}.<a name="line.54"></a>
+<span class="sourceLineNo">055</span> */<a name="line.55"></a>
+<span class="sourceLineNo">056</span>@InterfaceAudience.Public<a name="line.56"></a>
+<span class="sourceLineNo">057</span>public abstract class CompareFilter extends FilterBase {<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  /**<a name="line.58"></a>
+<span class="sourceLineNo">059</span>   * Comparison operators. For filters only!<a name="line.59"></a>
+<span class="sourceLineNo">060</span>   * Use {@link CompareOperator} otherwise.<a name="line.60"></a>
+<span class="sourceLineNo">061</span>   * It (intentionally) has at least the below enums with same names.<a name="line.61"></a>
+<span class="sourceLineNo">062</span>   * @deprecated  since 2.0.0. Will be removed in 3.0.0. Use {@link CompareOperator} instead.<a name="line.62"></a>
+<span class="sourceLineNo">063</span>   */<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  @Deprecated<a name="line.64"></a>
+<span class="sourceLineNo">065</span>  @InterfaceAudience.Public<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  public enum CompareOp {<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    /** less than */<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    LESS,<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    /** less than or equal to */<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    LESS_OR_EQUAL,<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    /** equals */<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    EQUAL,<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    /** not equal */<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    NOT_EQUAL,<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    /** greater than or equal to */<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    GREATER_OR_EQUAL,<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    /** greater than */<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    GREATER,<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    /** no operation */<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    NO_OP,<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  }<a name="line.81"></a>
+<span class="sourceLineNo">082</span><a name="line.82"></a>
+<span class="sourceLineNo">083</span>  protected CompareOperator op;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  protected ByteArrayComparable comparator;<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>  /**<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   * Constructor.<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   * @param compareOp the compare op for row matching<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   * @param comparator the comparator for row matching<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0. Use other constructor.<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   */<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  @Deprecated<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  public CompareFilter(final CompareOp compareOp,<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      final ByteArrayComparable comparator) {<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    this(CompareOperator.valueOf(compareOp.name()), comparator);<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  }<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>  /**<a name="line.98"></a>
+<span class="sourceLineNo">099</span>   * Constructor.<a name="line.99"></a>
+<span class="sourceLineNo">100</span>   * @param op the compare op for row matching<a name="line.100"></a>
+<span class="sourceLineNo">101</span>   * @param comparator the comparator for row matching<a name="line.101"></a>
+<span class="sourceLineNo">102</span>   */<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  public CompareFilter(final CompareOperator op,<a name="line.103"></a>
+<span class="sourceLineNo">104</span>                       final ByteArrayComparable comparator) {<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    this.op = op;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    this.comparator = comparator;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  }<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>   * @return operator<a name="line.110"></a>
+<span class="sourceLineNo">111</span>   * @deprecated  since 2.0.0. Will be removed in 3.0.0. Use {@link #getCompareOperator()} instead.<a name="line.111"></a>
+<span class="sourceLineNo">112</span>   */<a name="line.112"></a>
+<span class="sourceLineNo">113</span>  @Deprecated<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  public CompareOp getOperator() {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    return CompareOp.valueOf(op.name());<a name="line.115"></a>
+<span class="sourceLineNo">116</span>  }<a name="line.116"></a>
+<span class="sourceLineNo">117</span><a name="line.117"></a>
+<span class="sourceLineNo">118</span>  public CompareOperator getCompareOperator() {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    return op;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  }<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>  /**<a name="line.122"></a>
+<span class="sourceLineNo">123</span>   * @return the comparator<a name="line.123"></a>
+<span class="sourceLineNo">124</span>   */<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  public ByteArrayComparable getComparator() {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    return comparator;<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>  @Override<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    return false;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>  }<a name="line.133"></a>
+<span class="sourceLineNo">134</span><a name="line.134"></a>
+<span class="sourceLineNo">135</span>  /**<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   * Use {@link #compareRow(CompareOperator, ByteArrayComparable, Cell)}<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   */<a name="line.138"></a>
+<span class="sourceLineNo">139</span>  @Deprecated<a name="line.139"></a>
+<span class="sourceLineNo">140</span>  protected boolean compareRow(final CompareOp compareOp, final ByteArrayComparable comparator,<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      final Cell cell) {<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.142"></a>
+<span class="sourceLineNo">143</span>      return true;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    }<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    int compareResult = PrivateCellUtil.compareRow(cell, comparator);<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    return compare(compareOp, compareResult);<a name="line.146"></a>
+<span class="sourceLineNo">147</span>  }<a name="line.147"></a>
+<span class="sourceLineNo">148</span><a name="line.148"></a>
+<span class="sourceLineNo">149</span>  protected boolean compareRow(final CompareOperator op, final ByteArrayComparable comparator,<a name="line.149"></a>
+<span class="sourceLineNo">150</span>                               final Cell cell) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    if (op == CompareOperator.NO_OP) {<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      return true;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    }<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    int compareResult = PrivateCellUtil.compareRow(cell, comparator);<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    return compare(op, compareResult);<a name="line.155"></a>
+<span class="sourceLineNo">156</span>  }<a name="line.156"></a>
+<span class="sourceLineNo">157</span><a name="line.157"></a>
+<span class="sourceLineNo">158</span>  /**<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   * Use {@link #compareFamily(CompareOperator, ByteArrayComparable, Cell)}<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   */<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  @Deprecated<a name="line.162"></a>
+<span class="sourceLineNo">163</span>  protected boolean compareFamily(final CompareOp compareOp, final ByteArrayComparable comparator,<a name="line.163"></a>
+<span class="sourceLineNo">164</span>      final Cell cell) {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      return true;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    }<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    int compareResult = PrivateCellUtil.compareFamily(cell, comparator);<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    return compare(compareOp, compareResult);<a name="line.169"></a>
+<span class="sourceLineNo">170</span>  }<a name="line.170"></a>
+<span class="sourceLineNo">171</span><a name="line.171"></a>
+<span class="sourceLineNo">172</span>  protected boolean compareFamily(final CompareOperator op, final ByteArrayComparable comparator,<a name="line.172"></a>
+<span class="sourceLineNo">173</span>                                  final Cell cell) {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    if (op == CompareOperator.NO_OP) {<a name="line.174"></a>
+<span class="sourceLineNo">175</span>      return true;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    }<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    int compareResult = PrivateCellUtil.compareFamily(cell, comparator);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    return compare(op, compareResult);<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  }<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span>  /**<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   * Use {@link #compareQualifier(CompareOperator, ByteArrayComparable, Cell)}<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   */<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  @Deprecated<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  protected boolean compareQualifier(final CompareOp compareOp,<a name="line.186"></a>
+<span class="sourceLineNo">187</span>      final ByteArrayComparable comparator, final Cell cell) {<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    // We do not call through to the non-deprecated method for perf reasons.<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      return true;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    }<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    int compareResult = PrivateCellUtil.compareQualifier(cell, comparator);<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    return compare(compareOp, compareResult);<a name="line.193"></a>
+<span class="sourceLineNo">194</span>  }<a name="line.194"></a>
+<span class="sourceLineNo">195</span><a name="line.195"></a>
+<span class="sourceLineNo">196</span>  protected boolean compareQualifier(final CompareOperator op,<a name="line.196"></a>
+<span class="sourceLineNo">197</span>                                     final ByteArrayComparable comparator, final Cell cell) {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    // We do not call through to the non-deprecated method for perf reasons.<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    if (op == CompareOperator.NO_OP) {<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      return true;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    }<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    int compareResult = PrivateCellUtil.compareQualifier(cell, comparator);<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    return compare(op, compareResult);<a name="line.203"></a>
+<span class="sourceLineNo">204</span>  }<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>  /**<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * Use {@link #compareValue(CompareOperator, ByteArrayComparable, Cell)}<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   */<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  @Deprecated<a name="line.210"></a>
+<span class="sourceLineNo">211</span>  protected boolean compareValue(final CompareOp compareOp, final ByteArrayComparable comparator,<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      final Cell cell) {<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    // We do not call through to the non-deprecated method for perf reasons.<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    if (compareOp == CompareOp.NO_OP) {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      return true;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    }<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    int compareResult = PrivateCellUtil.compareValue(cell, comparator);<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    return compare(compareOp, compareResult);<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  }<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  protected boolean compareValue(final CompareOperator op, final ByteArrayComparable comparator,<a name="line.221"></a>
+<span class="sourceLineNo">222</span>                                 final Cell cell) {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    if (op == CompareOperator.NO_OP) {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      return true;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    }<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    int compareResult = PrivateCellUtil.compareValue(cell, comparator);<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    return compare(op, compareResult);<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  }<a name="line.228"></a>
+<span class="sourceLineNo">229</span><a name="line.229"></a>
+<span class="sourceLineNo">230</span>  static boolean compare(final CompareOp op, int compareResult) {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    switch (op) {<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    case LESS:<a name="line.232"></a>
+<span class="sourceLineNo">233</span>      return compareResult &lt;= 0;<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    case LESS_OR_EQUAL:<a name="line.234"></a>
+<span class="sourceLineNo">235</span>      return compareResult &lt; 0;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    case EQUAL:<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      return compareResult != 0;<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    case NOT_EQUAL:<a name="line.238"></a>
+<span class="sourceLineNo">239</span>      return compareResult == 0;<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    case GREATER_OR_EQUAL:<a name="line.240"></a>
+<span class="sourceLineNo">241</span>      return compareResult &gt; 0;<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    case GREATER:<a name="line.242"></a>
+<span class="sourceLineNo">243</span>      return compareResult &gt;= 0;<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    default:<a name="line.244"></a>
+<span class="sourceLineNo">245</span>      throw new RuntimeException("Unknown Compare op " + op.name());<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    }<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  }<a name="line.247"></a>
+<span class="sourceLineNo">248</span><a name="line.248"></a>
+<span class="sourceLineNo">249</span>  static boolean compare(final CompareOperator op, int compareResult) {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    switch (op) {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>      case LESS:<a name="line.251"></a>
+<span class="sourceLineNo">252</span>        return compareResult &lt;= 0;<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      case LESS_OR_EQUAL:<a name="line.253"></a>
+<span class="sourceLineNo">254</span>        return compareResult &lt; 0;<a name="line.254"></a>
+<span class="sourceLineNo">255</span>      case EQUAL:<a name="line.255"></a>
+<span class="sourceLineNo">256</span>        return compareResult != 0;<a name="line.256"></a>
+<span class="sourceLineNo">257</span>      case NOT_EQUAL:<a name="line.257"></a>
+<span class="sourceLineNo">258</span>        return compareResult == 0;<a name="line.258"></a>
+<span class="sourceLineNo">259</span>      case GREATER_OR_EQUAL:<a name="line.259"></a>
+<span class="sourceLineNo">260</span>        return compareResult &gt; 0;<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      case GREATER:<a name="line.261"></a>
+<span class="sourceLineNo">262</span>        return compareResult &gt;= 0;<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      default:<a name="line.263"></a>
+<span class="sourceLineNo">264</span>        throw new RuntimeException("Unknown Compare op " + op.name());<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    }<a name="line.265"></a>
+<span class="sourceLineNo">266</span>  }<a name="line.266"></a>
+<span class="sourceLineNo">267</span><a name="line.267"></a>
+<span class="sourceLineNo">268</span>  // returns an array of heterogeneous objects<a name="line.268"></a>
+<span class="sourceLineNo">269</span>  public static ArrayList&lt;Object&gt; extractArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    Preconditions.checkArgument(filterArguments.size() == 2,<a name="line.270"></a>
+<span class="sourceLineNo">271</span>                                "Expected 2 but got: %s", filterArguments.size());<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    CompareOperator op = ParseFilter.createCompareOperator(filterArguments.get(0));<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    ByteArrayComparable comparator = ParseFilter.createComparator(<a name="line.273"></a>
+<span class="sourceLineNo">274</span>      ParseFilter.removeQuotesFromByteArray(filterArguments.get(1)));<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>    if (comparator instanceof RegexStringComparator ||<a name="line.276"></a>
+<span class="sourceLineNo">277</span>        comparator instanceof SubstringComparator) {<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      if (op != CompareOperator.EQUAL &amp;&amp;<a name="line.278"></a>
+<span class="sourceLineNo">279</span>          op != CompareOperator.NOT_EQUAL) {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>        throw new IllegalArgumentException ("A regexstring comparator and substring comparator" +<a name="line.280"></a>
+<span class="sourceLineNo">281</span>                                            " can only be used with EQUAL and NOT_EQUAL");<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      }<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    }<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    ArrayList&lt;Object&gt; arguments = new ArrayList&lt;&gt;(2);<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    arguments.add(op);<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    arguments.add(comparator);<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    return arguments;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>  }<a name="line.288"></a>
+<span class="sourceLineNo">289</span><a name="line.289"></a>
+<span class="sourceLineNo">290</span>  /**<a name="line.290"></a>
+<span class="sourceLineNo">291</span>   * @return A pb instance to represent this instance.<a name="line.291"></a>
+<span class="sourceLineNo">292</span>   */<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  FilterProtos.CompareFilter convert() {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    FilterProtos.CompareFilter.Builder builder =<a name="line.294"></a>
+<span class="sourceLineNo">295</span>      FilterProtos.CompareFilter.newBuilder();<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    HBaseProtos.CompareType compareOp = CompareType.valueOf(this.op.name());<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    builder.setCompareOp(compareOp);<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    if (this.comparator != null) builder.setComparator(ProtobufUtil.toComparator(this.comparator));<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    return builder.build();<a name="line.299"></a>
+<span class="sourceLineNo">300</span>  }<a name="line.300"></a>
+<span class="sourceLineNo">301</span><a name="line.301"></a>
+<span class="sourceLineNo">302</span>  /**<a name="line.302"></a>
+<span class="sourceLineNo">303</span>   *<a name="line.303"></a>
+<span class="sourceLineNo">304</span>   * @param o<a name="line.304"></a>
+<span class="sourceLineNo">305</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.305"></a>
+<span class="sourceLineNo">306</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.306"></a>
+<span class="sourceLineNo">307</span>   */<a name="line.307"></a>
+<span class="sourceLineNo">308</span>  @Override<a name="line.308"></a>
+<span class="sourceLineNo">309</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    if (o == this) return true;<a name="line.310"></a>
+<span class="sourceLineNo">311</span>    if (!(o instanceof CompareFilter)) return false;<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    CompareFilter other = (CompareFilter)o;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    return this.getCompareOperator().equals(other.getCompareOperator()) &amp;&amp;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      (this.getComparator() == other.getComparator()<a name="line.314"></a>
+<span class="sourceLineNo">315</span>        || this.getComparator().areSerializedFieldsEqual(other.getComparator()));<a name="line.315"></a>
+<span class="sourceLineNo">316</span>  }<a name="line.316"></a>
+<span class="sourceLineNo">317</span><a name="line.317"></a>
+<span class="sourceLineNo">318</span>  @Override<a name="line.318"></a>
+<span class="sourceLineNo">319</span>  public String toString() {<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    return String.format("%s (%s, %s)",<a name="line.320"></a>
+<span class="sourceLineNo">321</span>        this.getClass().getSimpleName(),<a name="line.321"></a>
+<span class="sourceLineNo">322</span>        this.op.name(),<a name="line.322"></a>
+<span class="sourceLineNo">323</span>        Bytes.toStringBinary(this.comparator.getValue()));<a name="line.323"></a>
+<span class="sourceLineNo">324</span>  }<a name="line.324"></a>
+<span class="sourceLineNo">325</span><a name="line.325"></a>
+<span class="sourceLineNo">326</span>  @Override<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  public boolean equals(Object obj) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    if (obj == null || (!(obj instanceof CompareFilter))) {<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      return false;<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    }<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    CompareFilter f = (CompareFilter) obj;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>    return this.areSerializedFieldsEqual(f);<a name="line.332"></a>
+<span class="sourceLineNo">333</span>  }<a name="line.333"></a>
+<span class="sourceLineNo">334</span><a name="line.334"></a>
+<span class="sourceLineNo">335</span>  @Override<a name="line.335"></a>
+<span class="sourceLineNo">336</span>  public int hashCode() {<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    return Objects.hash(this.getComparator(), this.getCompareOperator());<a name="line.337"></a>
+<span class="sourceLineNo">338</span>  }<a name="line.338"></a>
+<span class="sourceLineNo">339</span>}<a name="line.339"></a>
 
 
 


[30/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html
index 4804996..c3cf972 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html
@@ -28,500 +28,538 @@
 <span class="sourceLineNo">020</span>import java.util.ArrayList;<a name="line.20"></a>
 <span class="sourceLineNo">021</span>import java.util.Collections;<a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.util.List;<a name="line.22"></a>
-<span class="sourceLineNo">023</span><a name="line.23"></a>
-<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.Cell;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.HConstants;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.PrivateCellUtil;<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>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.33"></a>
-<span class="sourceLineNo">034</span><a name="line.34"></a>
-<span class="sourceLineNo">035</span>/**<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * Filter to support scan multiple row key ranges. It can construct the row key ranges from the<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * passed list which can be accessed by each region server.<a name="line.37"></a>
-<span class="sourceLineNo">038</span> *<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * HBase is quite efficient when scanning only one small row key range. If user needs to specify<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * multiple row key ranges in one scan, the typical solutions are: 1. through FilterList which is a<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * list of row key Filters, 2. using the SQL layer over HBase to join with two table, such as hive,<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * phoenix etc. However, both solutions are inefficient. Both of them can't utilize the range info<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * to perform fast forwarding during scan which is quite time consuming. If the number of ranges<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * are quite big (e.g. millions), join is a proper solution though it is slow. However, there are<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * cases that user wants to specify a small number of ranges to scan (e.g. &amp;lt;1000 ranges). Both<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * solutions can't provide satisfactory performance in such case. MultiRowRangeFilter is to support<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * such usec ase (scan multiple row key ranges), which can construct the row key ranges from user<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * specified list and perform fast-forwarding during scan. Thus, the scan will be quite efficient.<a name="line.48"></a>
-<span class="sourceLineNo">049</span> */<a name="line.49"></a>
-<span class="sourceLineNo">050</span>@InterfaceAudience.Public<a name="line.50"></a>
-<span class="sourceLineNo">051</span>public class MultiRowRangeFilter extends FilterBase {<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>  private List&lt;RowRange&gt; rangeList;<a name="line.53"></a>
-<span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>  private static final int ROW_BEFORE_FIRST_RANGE = -1;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  private boolean EXCLUSIVE = false;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  private boolean done = false;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  private boolean initialized = false;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  private int index;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>  private RowRange range;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  private ReturnCode currentReturnCode;<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>   * @param list A list of &lt;code&gt;RowRange&lt;/code&gt;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>   */<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  public MultiRowRangeFilter(List&lt;RowRange&gt; list) {<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    this.rangeList = sortAndMerge(list);<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  }<a name="line.68"></a>
-<span class="sourceLineNo">069</span><a name="line.69"></a>
-<span class="sourceLineNo">070</span>  @Override<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  public boolean filterAllRemaining() {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    return done;<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>  public List&lt;RowRange&gt; getRowRanges() {<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    return this.rangeList;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  }<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  @Override<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  public boolean filterRowKey(Cell firstRowCell) {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    if (filterAllRemaining()) return true;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    // If it is the first time of running, calculate the current range index for<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    // the row key. If index is out of bound which happens when the start row<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    // user sets is after the largest stop row of the ranges, stop the scan.<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    // If row key is after the current range, find the next range and update index.<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    byte[] rowArr = firstRowCell.getRowArray();<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    int length = firstRowCell.getRowLength();<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    int offset = firstRowCell.getRowOffset();<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    if (!initialized<a name="line.89"></a>
-<span class="sourceLineNo">090</span>        || !range.contains(rowArr, offset, length)) {<a name="line.90"></a>
-<span class="sourceLineNo">091</span>      byte[] rowkey = CellUtil.cloneRow(firstRowCell);<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      index = getNextRangeIndex(rowkey);<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      if (index &gt;= rangeList.size()) {<a name="line.93"></a>
-<span class="sourceLineNo">094</span>        done = true;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>        currentReturnCode = ReturnCode.NEXT_ROW;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>        return false;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>      }<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      if(index != ROW_BEFORE_FIRST_RANGE) {<a name="line.98"></a>
-<span class="sourceLineNo">099</span>        range = rangeList.get(index);<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      } else {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>        range = rangeList.get(0);<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      }<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      if (EXCLUSIVE) {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>        EXCLUSIVE = false;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>        currentReturnCode = ReturnCode.NEXT_ROW;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>        return false;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      }<a name="line.107"></a>
-<span class="sourceLineNo">108</span>      if (!initialized) {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>        if(index != ROW_BEFORE_FIRST_RANGE) {<a name="line.109"></a>
-<span class="sourceLineNo">110</span>          currentReturnCode = ReturnCode.INCLUDE;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>        } else {<a name="line.111"></a>
-<span class="sourceLineNo">112</span>          currentReturnCode = ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>        }<a name="line.113"></a>
-<span class="sourceLineNo">114</span>        initialized = true;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      } else {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>        if (range.contains(rowArr, offset, length)) {<a name="line.116"></a>
-<span class="sourceLineNo">117</span>          currentReturnCode = ReturnCode.INCLUDE;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>        } else {<a name="line.118"></a>
-<span class="sourceLineNo">119</span>          currentReturnCode = ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>        }<a name="line.120"></a>
-<span class="sourceLineNo">121</span>      }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    } else {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      currentReturnCode = ReturnCode.INCLUDE;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    }<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    return false;<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>  @Deprecated<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  @Override<a name="line.129"></a>
-<span class="sourceLineNo">130</span>  public ReturnCode filterKeyValue(final Cell ignored) {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    return filterCell(ignored);<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  }<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>  @Override<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  public ReturnCode filterCell(final Cell ignored) {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    return currentReturnCode;<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>  @Override<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  public Cell getNextCellHint(Cell currentKV) {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    // skip to the next range's start row<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    return PrivateCellUtil.createFirstOnRow(range.startRow, 0,<a name="line.142"></a>
-<span class="sourceLineNo">143</span>        (short) range.startRow.length);<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  }<a name="line.144"></a>
-<span class="sourceLineNo">145</span><a name="line.145"></a>
-<span class="sourceLineNo">146</span>  /**<a name="line.146"></a>
-<span class="sourceLineNo">147</span>   * @return The filter serialized using pb<a name="line.147"></a>
-<span class="sourceLineNo">148</span>   */<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  @Override<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  public byte[] toByteArray() {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    FilterProtos.MultiRowRangeFilter.Builder builder = FilterProtos.MultiRowRangeFilter<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        .newBuilder();<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    for (RowRange range : rangeList) {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      if (range != null) {<a name="line.154"></a>
-<span class="sourceLineNo">155</span>        FilterProtos.RowRange.Builder rangebuilder = FilterProtos.RowRange.newBuilder();<a name="line.155"></a>
-<span class="sourceLineNo">156</span>        if (range.startRow != null)<a name="line.156"></a>
-<span class="sourceLineNo">157</span>          rangebuilder.setStartRow(UnsafeByteOperations.unsafeWrap(range.startRow));<a name="line.157"></a>
-<span class="sourceLineNo">158</span>        rangebuilder.setStartRowInclusive(range.startRowInclusive);<a name="line.158"></a>
-<span class="sourceLineNo">159</span>        if (range.stopRow != null)<a name="line.159"></a>
-<span class="sourceLineNo">160</span>          rangebuilder.setStopRow(UnsafeByteOperations.unsafeWrap(range.stopRow));<a name="line.160"></a>
-<span class="sourceLineNo">161</span>        rangebuilder.setStopRowInclusive(range.stopRowInclusive);<a name="line.161"></a>
-<span class="sourceLineNo">162</span>        builder.addRowRangeList(rangebuilder.build());<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      }<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    }<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    return builder.build().toByteArray();<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>   * @param pbBytes A pb serialized instance<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   * @return An instance of MultiRowRangeFilter<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   * @throws org.apache.hadoop.hbase.exceptions.DeserializationException<a name="line.171"></a>
-<span class="sourceLineNo">172</span>   */<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  public static MultiRowRangeFilter parseFrom(final byte[] pbBytes)<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      throws DeserializationException {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    FilterProtos.MultiRowRangeFilter proto;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    try {<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      proto = FilterProtos.MultiRowRangeFilter.parseFrom(pbBytes);<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    } catch (InvalidProtocolBufferException e) {<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      throw new DeserializationException(e);<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    }<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    int length = proto.getRowRangeListCount();<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    List&lt;FilterProtos.RowRange&gt; rangeProtos = proto.getRowRangeListList();<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    List&lt;RowRange&gt; rangeList = new ArrayList&lt;&gt;(length);<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    for (FilterProtos.RowRange rangeProto : rangeProtos) {<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      RowRange range = new RowRange(rangeProto.hasStartRow() ? rangeProto.getStartRow()<a name="line.185"></a>
-<span class="sourceLineNo">186</span>          .toByteArray() : null, rangeProto.getStartRowInclusive(), rangeProto.hasStopRow() ?<a name="line.186"></a>
-<span class="sourceLineNo">187</span>              rangeProto.getStopRow().toByteArray() : null, rangeProto.getStopRowInclusive());<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      rangeList.add(range);<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    }<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    return new MultiRowRangeFilter(rangeList);<a name="line.190"></a>
-<span class="sourceLineNo">191</span>  }<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span>  /**<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   * @param o the filter to compare<a name="line.194"></a>
-<span class="sourceLineNo">195</span>   * @return true if and only if the fields of the filter that are serialized are equal to the<a name="line.195"></a>
-<span class="sourceLineNo">196</span>   *         corresponding fields in other. Used for testing.<a name="line.196"></a>
-<span class="sourceLineNo">197</span>   */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  @Override<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    if (o == this)<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      return true;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    if (!(o instanceof MultiRowRangeFilter))<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      return false;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>    MultiRowRangeFilter other = (MultiRowRangeFilter) o;<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    if (this.rangeList.size() != other.rangeList.size())<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      return false;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    for (int i = 0; i &lt; rangeList.size(); ++i) {<a name="line.208"></a>
-<span class="sourceLineNo">209</span>      RowRange thisRange = this.rangeList.get(i);<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      RowRange otherRange = other.rangeList.get(i);<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      if (!(Bytes.equals(thisRange.startRow, otherRange.startRow) &amp;&amp; Bytes.equals(<a name="line.211"></a>
-<span class="sourceLineNo">212</span>          thisRange.stopRow, otherRange.stopRow) &amp;&amp; (thisRange.startRowInclusive ==<a name="line.212"></a>
-<span class="sourceLineNo">213</span>          otherRange.startRowInclusive) &amp;&amp; (thisRange.stopRowInclusive ==<a name="line.213"></a>
-<span class="sourceLineNo">214</span>          otherRange.stopRowInclusive))) {<a name="line.214"></a>
-<span class="sourceLineNo">215</span>        return false;<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      }<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    }<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    return true;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  }<a name="line.219"></a>
-<span class="sourceLineNo">220</span><a name="line.220"></a>
-<span class="sourceLineNo">221</span>  /**<a name="line.221"></a>
-<span class="sourceLineNo">222</span>   * calculate the position where the row key in the ranges list.<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   *<a name="line.223"></a>
-<span class="sourceLineNo">224</span>   * @param rowKey the row key to calculate<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   * @return index the position of the row key<a name="line.225"></a>
-<span class="sourceLineNo">226</span>   */<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  private int getNextRangeIndex(byte[] rowKey) {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    RowRange temp = new RowRange(rowKey, true, null, true);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    int index = Collections.binarySearch(rangeList, temp);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    if (index &lt; 0) {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>      int insertionPosition = -index - 1;<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      // check if the row key in the range before the insertion position<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      if (insertionPosition != 0 &amp;&amp; rangeList.get(insertionPosition - 1).contains(rowKey)) {<a name="line.233"></a>
-<span class="sourceLineNo">234</span>        return insertionPosition - 1;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      }<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      // check if the row key is before the first range<a name="line.236"></a>
-<span class="sourceLineNo">237</span>      if (insertionPosition == 0 &amp;&amp; !rangeList.get(insertionPosition).contains(rowKey)) {<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        return ROW_BEFORE_FIRST_RANGE;<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      }<a name="line.239"></a>
-<span class="sourceLineNo">240</span>      if (!initialized) {<a name="line.240"></a>
-<span class="sourceLineNo">241</span>        initialized = true;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>      }<a name="line.242"></a>
-<span class="sourceLineNo">243</span>      return insertionPosition;<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    }<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    // the row key equals one of the start keys, and the the range exclude the start key<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    if(rangeList.get(index).startRowInclusive == false) {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>      EXCLUSIVE = true;<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    }<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    return index;<a name="line.249"></a>
-<span class="sourceLineNo">250</span>  }<a name="line.250"></a>
-<span class="sourceLineNo">251</span><a name="line.251"></a>
-<span class="sourceLineNo">252</span>  /**<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   * sort the ranges and if the ranges with overlap, then merge them.<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   *<a name="line.254"></a>
-<span class="sourceLineNo">255</span>   * @param ranges the list of ranges to sort and merge.<a name="line.255"></a>
-<span class="sourceLineNo">256</span>   * @return the ranges after sort and merge.<a name="line.256"></a>
-<span class="sourceLineNo">257</span>   */<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  public static List&lt;RowRange&gt; sortAndMerge(List&lt;RowRange&gt; ranges) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    if (ranges.isEmpty()) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      throw new IllegalArgumentException("No ranges found.");<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    }<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    List&lt;RowRange&gt; invalidRanges = new ArrayList&lt;&gt;();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    List&lt;RowRange&gt; newRanges = new ArrayList&lt;&gt;(ranges.size());<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    Collections.sort(ranges);<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    if(ranges.get(0).isValid()) {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      if (ranges.size() == 1) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        newRanges.add(ranges.get(0));<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      }<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    } else {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      invalidRanges.add(ranges.get(0));<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    }<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span>    byte[] lastStartRow = ranges.get(0).startRow;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    boolean lastStartRowInclusive = ranges.get(0).startRowInclusive;<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    byte[] lastStopRow = ranges.get(0).stopRow;<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    boolean lastStopRowInclusive = ranges.get(0).stopRowInclusive;<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    int i = 1;<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    for (; i &lt; ranges.size(); i++) {<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      RowRange range = ranges.get(i);<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      if (!range.isValid()) {<a name="line.280"></a>
-<span class="sourceLineNo">281</span>        invalidRanges.add(range);<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      }<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      if(Bytes.equals(lastStopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span>        newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.284"></a>
-<span class="sourceLineNo">285</span>            lastStopRowInclusive));<a name="line.285"></a>
-<span class="sourceLineNo">286</span>        break;<a name="line.286"></a>
-<span class="sourceLineNo">287</span>      }<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      // with overlap in the ranges<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      if ((Bytes.compareTo(lastStopRow, range.startRow) &gt; 0) ||<a name="line.289"></a>
-<span class="sourceLineNo">290</span>          (Bytes.compareTo(lastStopRow, range.startRow) == 0 &amp;&amp; !(lastStopRowInclusive == false &amp;&amp;<a name="line.290"></a>
-<span class="sourceLineNo">291</span>          range.isStartRowInclusive() == false))) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        if(Bytes.equals(range.stopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>          newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, range.stopRow,<a name="line.293"></a>
-<span class="sourceLineNo">294</span>              range.stopRowInclusive));<a name="line.294"></a>
-<span class="sourceLineNo">295</span>          break;<a name="line.295"></a>
-<span class="sourceLineNo">296</span>        }<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        // if first range contains second range, ignore the second range<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        if (Bytes.compareTo(lastStopRow, range.stopRow) &gt;= 0) {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>          if((Bytes.compareTo(lastStopRow, range.stopRow) == 0)) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span>            if(lastStopRowInclusive == true || range.stopRowInclusive == true) {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>              lastStopRowInclusive = true;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>            }<a name="line.302"></a>
-<span class="sourceLineNo">303</span>          }<a name="line.303"></a>
-<span class="sourceLineNo">304</span>          if ((i + 1) == ranges.size()) {<a name="line.304"></a>
-<span class="sourceLineNo">305</span>            newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.305"></a>
-<span class="sourceLineNo">306</span>                lastStopRowInclusive));<a name="line.306"></a>
-<span class="sourceLineNo">307</span>          }<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        } else {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>          lastStopRow = range.stopRow;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>          lastStopRowInclusive = range.stopRowInclusive;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>          if ((i + 1) &lt; ranges.size()) {<a name="line.311"></a>
-<span class="sourceLineNo">312</span>            i++;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>            range = ranges.get(i);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>            if (!range.isValid()) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>              invalidRanges.add(range);<a name="line.315"></a>
-<span class="sourceLineNo">316</span>            }<a name="line.316"></a>
-<span class="sourceLineNo">317</span>          } else {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>            newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.318"></a>
-<span class="sourceLineNo">319</span>                lastStopRowInclusive));<a name="line.319"></a>
-<span class="sourceLineNo">320</span>            break;<a name="line.320"></a>
-<span class="sourceLineNo">321</span>          }<a name="line.321"></a>
-<span class="sourceLineNo">322</span>          while ((Bytes.compareTo(lastStopRow, range.startRow) &gt; 0) ||<a name="line.322"></a>
-<span class="sourceLineNo">323</span>              (Bytes.compareTo(lastStopRow, range.startRow) == 0 &amp;&amp;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>              (lastStopRowInclusive == true || range.startRowInclusive==true))) {<a name="line.324"></a>
-<span class="sourceLineNo">325</span>            if(Bytes.equals(range.stopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>              break;<a name="line.326"></a>
-<span class="sourceLineNo">327</span>            }<a name="line.327"></a>
-<span class="sourceLineNo">328</span>            // if this first range contain second range, ignore the second range<a name="line.328"></a>
-<span class="sourceLineNo">329</span>            if (Bytes.compareTo(lastStopRow, range.stopRow) &gt;= 0) {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>              if(lastStopRowInclusive == true || range.stopRowInclusive == true) {<a name="line.330"></a>
-<span class="sourceLineNo">331</span>                lastStopRowInclusive = true;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>              }<a name="line.332"></a>
-<span class="sourceLineNo">333</span>              i++;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>              if (i &lt; ranges.size()) {<a name="line.334"></a>
-<span class="sourceLineNo">335</span>                range = ranges.get(i);<a name="line.335"></a>
-<span class="sourceLineNo">336</span>                if (!range.isValid()) {<a name="line.336"></a>
-<span class="sourceLineNo">337</span>                  invalidRanges.add(range);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>                }<a name="line.338"></a>
-<span class="sourceLineNo">339</span>              } else {<a name="line.339"></a>
-<span class="sourceLineNo">340</span>                break;<a name="line.340"></a>
-<span class="sourceLineNo">341</span>              }<a name="line.341"></a>
-<span class="sourceLineNo">342</span>            } else {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>              lastStopRow = range.stopRow;<a name="line.343"></a>
-<span class="sourceLineNo">344</span>              lastStopRowInclusive = range.stopRowInclusive;<a name="line.344"></a>
-<span class="sourceLineNo">345</span>              i++;<a name="line.345"></a>
-<span class="sourceLineNo">346</span>              if (i &lt; ranges.size()) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>                range = ranges.get(i);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>                if (!range.isValid()) {<a name="line.348"></a>
-<span class="sourceLineNo">349</span>                  invalidRanges.add(range);<a name="line.349"></a>
-<span class="sourceLineNo">350</span>                }<a name="line.350"></a>
-<span class="sourceLineNo">351</span>              } else {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>                break;<a name="line.352"></a>
-<span class="sourceLineNo">353</span>              }<a name="line.353"></a>
-<span class="sourceLineNo">354</span>            }<a name="line.354"></a>
-<span class="sourceLineNo">355</span>          }<a name="line.355"></a>
-<span class="sourceLineNo">356</span>          if(Bytes.equals(range.stopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.356"></a>
-<span class="sourceLineNo">357</span>            if((Bytes.compareTo(lastStopRow, range.startRow) &lt; 0) ||<a name="line.357"></a>
-<span class="sourceLineNo">358</span>                (Bytes.compareTo(lastStopRow, range.startRow) == 0 &amp;&amp;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>                lastStopRowInclusive == false &amp;&amp; range.startRowInclusive == false)) {<a name="line.359"></a>
-<span class="sourceLineNo">360</span>              newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.360"></a>
-<span class="sourceLineNo">361</span>                  lastStopRowInclusive));<a name="line.361"></a>
-<span class="sourceLineNo">362</span>              newRanges.add(range);<a name="line.362"></a>
-<span class="sourceLineNo">363</span>            } else {<a name="line.363"></a>
-<span class="sourceLineNo">364</span>              newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, range.stopRow,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>                  range.stopRowInclusive));<a name="line.365"></a>
-<span class="sourceLineNo">366</span>              break;<a name="line.366"></a>
-<span class="sourceLineNo">367</span>            }<a name="line.367"></a>
-<span class="sourceLineNo">368</span>          }<a name="line.368"></a>
-<span class="sourceLineNo">369</span>          newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.369"></a>
-<span class="sourceLineNo">370</span>              lastStopRowInclusive));<a name="line.370"></a>
-<span class="sourceLineNo">371</span>          if ((i + 1) == ranges.size()) {<a name="line.371"></a>
-<span class="sourceLineNo">372</span>            newRanges.add(range);<a name="line.372"></a>
-<span class="sourceLineNo">373</span>          }<a name="line.373"></a>
-<span class="sourceLineNo">374</span>          lastStartRow = range.startRow;<a name="line.374"></a>
-<span class="sourceLineNo">375</span>          lastStartRowInclusive = range.startRowInclusive;<a name="line.375"></a>
-<span class="sourceLineNo">376</span>          lastStopRow = range.stopRow;<a name="line.376"></a>
-<span class="sourceLineNo">377</span>          lastStopRowInclusive = range.stopRowInclusive;<a name="line.377"></a>
-<span class="sourceLineNo">378</span>        }<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      } else {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>        newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.380"></a>
-<span class="sourceLineNo">381</span>            lastStopRowInclusive));<a name="line.381"></a>
-<span class="sourceLineNo">382</span>        if ((i + 1) == ranges.size()) {<a name="line.382"></a>
-<span class="sourceLineNo">383</span>          newRanges.add(range);<a name="line.383"></a>
-<span class="sourceLineNo">384</span>        }<a name="line.384"></a>
-<span class="sourceLineNo">385</span>        lastStartRow = range.startRow;<a name="line.385"></a>
-<span class="sourceLineNo">386</span>        lastStartRowInclusive = range.startRowInclusive;<a name="line.386"></a>
-<span class="sourceLineNo">387</span>        lastStopRow = range.stopRow;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>        lastStopRowInclusive = range.stopRowInclusive;<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      }<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    }<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    // check the remaining ranges<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    for(int j=i; j &lt; ranges.size(); j++) {<a name="line.392"></a>
-<span class="sourceLineNo">393</span>      if(!ranges.get(j).isValid()) {<a name="line.393"></a>
-<span class="sourceLineNo">394</span>        invalidRanges.add(ranges.get(j));<a name="line.394"></a>
-<span class="sourceLineNo">395</span>      }<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    }<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    // if invalid range exists, throw the exception<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    if (invalidRanges.size() != 0) {<a name="line.398"></a>
-<span class="sourceLineNo">399</span>      throwExceptionForInvalidRanges(invalidRanges, true);<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    }<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    // If no valid ranges found, throw the exception<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    if(newRanges.isEmpty()) {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      throw new IllegalArgumentException("No valid ranges found.");<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    }<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    return newRanges;<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  }<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>  private static void throwExceptionForInvalidRanges(List&lt;RowRange&gt; invalidRanges,<a name="line.408"></a>
-<span class="sourceLineNo">409</span>      boolean details) {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    StringBuilder sb = new StringBuilder();<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    sb.append(invalidRanges.size()).append(" invaild ranges.\n");<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    if (details) {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      for (RowRange range : invalidRanges) {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>        sb.append(<a name="line.414"></a>
-<span class="sourceLineNo">415</span>            "Invalid range: start row =&gt; " + Bytes.toString(range.startRow) + ", stop row =&gt; "<a name="line.415"></a>
-<span class="sourceLineNo">416</span>                + Bytes.toString(range.stopRow)).append('\n');<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      }<a name="line.417"></a>
-<span class="sourceLineNo">418</span>    }<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    throw new IllegalArgumentException(sb.toString());<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  }<a name="line.420"></a>
-<span class="sourceLineNo">421</span><a name="line.421"></a>
-<span class="sourceLineNo">422</span>  @InterfaceAudience.Public<a name="line.422"></a>
-<span class="sourceLineNo">423</span>  public static class RowRange implements Comparable&lt;RowRange&gt; {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    private byte[] startRow;<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    private boolean startRowInclusive = true;<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    private byte[] stopRow;<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    private boolean stopRowInclusive = false;<a name="line.427"></a>
-<span class="sourceLineNo">428</span><a name="line.428"></a>
-<span class="sourceLineNo">429</span>    public RowRange() {<a name="line.429"></a>
-<span class="sourceLineNo">430</span>    }<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    /**<a name="line.431"></a>
-<span class="sourceLineNo">432</span>     * If the startRow is empty or null, set it to HConstants.EMPTY_BYTE_ARRAY, means begin at the<a name="line.432"></a>
-<span class="sourceLineNo">433</span>     * start row of the table. If the stopRow is empty or null, set it to<a name="line.433"></a>
-<span class="sourceLineNo">434</span>     * HConstants.EMPTY_BYTE_ARRAY, means end of the last row of table.<a name="line.434"></a>
-<span class="sourceLineNo">435</span>     */<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    public RowRange(String startRow, boolean startRowInclusive, String stopRow,<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        boolean stopRowInclusive) {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>      this((startRow == null || startRow.isEmpty()) ? HConstants.EMPTY_BYTE_ARRAY :<a name="line.438"></a>
-<span class="sourceLineNo">439</span>        Bytes.toBytes(startRow), startRowInclusive,<a name="line.439"></a>
-<span class="sourceLineNo">440</span>        (stopRow == null || stopRow.isEmpty()) ? HConstants.EMPTY_BYTE_ARRAY :<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        Bytes.toBytes(stopRow), stopRowInclusive);<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    }<a name="line.442"></a>
-<span class="sourceLineNo">443</span><a name="line.443"></a>
-<span class="sourceLineNo">444</span>    public RowRange(byte[] startRow,  boolean startRowInclusive, byte[] stopRow,<a name="line.444"></a>
-<span class="sourceLineNo">445</span>        boolean stopRowInclusive) {<a name="line.445"></a>
-<span class="sourceLineNo">446</span>      this.startRow = (startRow == null) ? HConstants.EMPTY_BYTE_ARRAY : startRow;<a name="line.446"></a>
-<span class="sourceLineNo">447</span>      this.startRowInclusive = startRowInclusive;<a name="line.447"></a>
-<span class="sourceLineNo">448</span>      this.stopRow = (stopRow == null) ? HConstants.EMPTY_BYTE_ARRAY :stopRow;<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      this.stopRowInclusive = stopRowInclusive;<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    }<a name="line.450"></a>
-<span class="sourceLineNo">451</span><a name="line.451"></a>
-<span class="sourceLineNo">452</span>    public byte[] getStartRow() {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      return startRow;<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    }<a name="line.454"></a>
-<span class="sourceLineNo">455</span><a name="line.455"></a>
-<span class="sourceLineNo">456</span>    public byte[] getStopRow() {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      return stopRow;<a name="line.457"></a>
-<span class="sourceLineNo">458</span>    }<a name="line.458"></a>
-<span class="sourceLineNo">459</span><a name="line.459"></a>
-<span class="sourceLineNo">460</span>    /**<a name="line.460"></a>
-<span class="sourceLineNo">461</span>     * @return if start row is inclusive.<a name="line.461"></a>
-<span class="sourceLineNo">462</span>     */<a name="line.462"></a>
-<span class="sourceLineNo">463</span>    public boolean isStartRowInclusive() {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>      return startRowInclusive;<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    }<a name="line.465"></a>
-<span class="sourceLineNo">466</span><a name="line.466"></a>
-<span class="sourceLineNo">467</span>    /**<a name="line.467"></a>
-<span class="sourceLineNo">468</span>     * @return if stop row is inclusive.<a name="line.468"></a>
-<span class="sourceLineNo">469</span>     */<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    public boolean isStopRowInclusive() {<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      return stopRowInclusive;<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    }<a name="line.472"></a>
-<span class="sourceLineNo">473</span><a name="line.473"></a>
-<span class="sourceLineNo">474</span>    public boolean contains(byte[] row) {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      return contains(row, 0, row.length);<a name="line.475"></a>
-<span class="sourceLineNo">476</span>    }<a name="line.476"></a>
-<span class="sourceLineNo">477</span><a name="line.477"></a>
-<span class="sourceLineNo">478</span>    public boolean contains(byte[] buffer, int offset, int length) {<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if(startRowInclusive) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        if(stopRowInclusive) {<a name="line.480"></a>
-<span class="sourceLineNo">481</span>          return Bytes.compareTo(buffer, offset, length, startRow, 0, startRow.length) &gt;= 0<a name="line.481"></a>
-<span class="sourceLineNo">482</span>              &amp;&amp; (Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY) ||<a name="line.482"></a>
-<span class="sourceLineNo">483</span>                  Bytes.compareTo(buffer, offset, length, stopRow, 0, stopRow.length) &lt;= 0);<a name="line.483"></a>
-<span class="sourceLineNo">484</span>        } else {<a name="line.484"></a>
-<span class="sourceLineNo">485</span>          return Bytes.compareTo(buffer, offset, length, startRow, 0, startRow.length) &gt;= 0<a name="line.485"></a>
-<span class="sourceLineNo">486</span>              &amp;&amp; (Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY) ||<a name="line.486"></a>
-<span class="sourceLineNo">487</span>                  Bytes.compareTo(buffer, offset, length, stopRow, 0, stopRow.length) &lt; 0);<a name="line.487"></a>
-<span class="sourceLineNo">488</span>        }<a name="line.488"></a>
-<span class="sourceLineNo">489</span>      } else {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>        if(stopRowInclusive) {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>          return Bytes.compareTo(buffer, offset, length, startRow, 0, startRow.length) &gt; 0<a name="line.491"></a>
-<span class="sourceLineNo">492</span>              &amp;&amp; (Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY) ||<a name="line.492"></a>
-<span class="sourceLineNo">493</span>                  Bytes.compareTo(buffer, offset, length, stopRow, 0, stopRow.length) &lt;= 0);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        } else {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>          return Bytes.compareTo(buffer, offset, length, startRow, 0, startRow.length) &gt; 0<a name="line.495"></a>
-<span class="sourceLineNo">496</span>              &amp;&amp; (Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY) ||<a name="line.496"></a>
-<span class="sourceLineNo">497</span>                  Bytes.compareTo(buffer, offset, length, stopRow, 0, stopRow.length) &lt; 0);<a name="line.497"></a>
-<span class="sourceLineNo">498</span>        }<a name="line.498"></a>
-<span class="sourceLineNo">499</span>      }<a name="line.499"></a>
-<span class="sourceLineNo">500</span>    }<a name="line.500"></a>
-<span class="sourceLineNo">501</span><a name="line.501"></a>
-<span class="sourceLineNo">502</span>    @Override<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="EQ_COMPARETO_USE_OBJECT_EQUALS",<a name="line.503"></a>
-<span class="sourceLineNo">504</span>      justification="This compareTo is not of this Object, but of referenced RowRange")<a name="line.504"></a>
-<span class="sourceLineNo">505</span>    public int compareTo(RowRange other) {<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      return Bytes.compareTo(this.startRow, other.startRow);<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    }<a name="line.507"></a>
-<span class="sourceLineNo">508</span><a name="line.508"></a>
-<span class="sourceLineNo">509</span>    public boolean isValid() {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      return Bytes.equals(startRow, HConstants.EMPTY_BYTE_ARRAY)<a name="line.510"></a>
-<span class="sourceLineNo">511</span>          || Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY)<a name="line.511"></a>
-<span class="sourceLineNo">512</span>          || Bytes.compareTo(startRow, stopRow) &lt; 0<a name="line.512"></a>
-<span class="sourceLineNo">513</span>          || (Bytes.compareTo(startRow, stopRow) == 0 &amp;&amp; stopRowInclusive == true);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    }<a name="line.514"></a>
-<span class="sourceLineNo">515</span>  }<a name="line.515"></a>
-<span class="sourceLineNo">516</span>}<a name="line.516"></a>
+<span class="sourceLineNo">023</span>import java.util.Objects;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.HConstants;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.34"></a>
+<span class="sourceLineNo">035</span><a name="line.35"></a>
+<span class="sourceLineNo">036</span>/**<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * Filter to support scan multiple row key ranges. It can construct the row key ranges from the<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * passed list which can be accessed by each region server.<a name="line.38"></a>
+<span class="sourceLineNo">039</span> *<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * HBase is quite efficient when scanning only one small row key range. If user needs to specify<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * multiple row key ranges in one scan, the typical solutions are: 1. through FilterList which is a<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * list of row key Filters, 2. using the SQL layer over HBase to join with two table, such as hive,<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * phoenix etc. However, both solutions are inefficient. Both of them can't utilize the range info<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * to perform fast forwarding during scan which is quite time consuming. If the number of ranges<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * are quite big (e.g. millions), join is a proper solution though it is slow. However, there are<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * cases that user wants to specify a small number of ranges to scan (e.g. &amp;lt;1000 ranges). Both<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * solutions can't provide satisfactory performance in such case. MultiRowRangeFilter is to support<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * such usec ase (scan multiple row key ranges), which can construct the row key ranges from user<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * specified list and perform fast-forwarding during scan. Thus, the scan will be quite efficient.<a name="line.49"></a>
+<span class="sourceLineNo">050</span> */<a name="line.50"></a>
+<span class="sourceLineNo">051</span>@InterfaceAudience.Public<a name="line.51"></a>
+<span class="sourceLineNo">052</span>public class MultiRowRangeFilter extends FilterBase {<a name="line.52"></a>
+<span class="sourceLineNo">053</span><a name="line.53"></a>
+<span class="sourceLineNo">054</span>  private List&lt;RowRange&gt; rangeList;<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>  private static final int ROW_BEFORE_FIRST_RANGE = -1;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  private boolean EXCLUSIVE = false;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  private boolean done = false;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  private boolean initialized = false;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  private int index;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>  private RowRange range;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>  private ReturnCode currentReturnCode;<a name="line.62"></a>
+<span class="sourceLineNo">063</span><a name="line.63"></a>
+<span class="sourceLineNo">064</span>  /**<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   * @param list A list of &lt;code&gt;RowRange&lt;/code&gt;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>   */<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  public MultiRowRangeFilter(List&lt;RowRange&gt; list) {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    this.rangeList = sortAndMerge(list);<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  }<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>  @Override<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  public boolean filterAllRemaining() {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    return done;<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>  public List&lt;RowRange&gt; getRowRanges() {<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    return this.rangeList;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  }<a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>  @Override<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  public boolean filterRowKey(Cell firstRowCell) {<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    if (filterAllRemaining()) return true;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    // If it is the first time of running, calculate the current range index for<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    // the row key. If index is out of bound which happens when the start row<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    // user sets is after the largest stop row of the ranges, stop the scan.<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    // If row key is after the current range, find the next range and update index.<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    byte[] rowArr = firstRowCell.getRowArray();<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    int length = firstRowCell.getRowLength();<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    int offset = firstRowCell.getRowOffset();<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    if (!initialized<a name="line.90"></a>
+<span class="sourceLineNo">091</span>        || !range.contains(rowArr, offset, length)) {<a name="line.91"></a>
+<span class="sourceLineNo">092</span>      byte[] rowkey = CellUtil.cloneRow(firstRowCell);<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      index = getNextRangeIndex(rowkey);<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      if (index &gt;= rangeList.size()) {<a name="line.94"></a>
+<span class="sourceLineNo">095</span>        done = true;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>        currentReturnCode = ReturnCode.NEXT_ROW;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>        return false;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      }<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      if(index != ROW_BEFORE_FIRST_RANGE) {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>        range = rangeList.get(index);<a name="line.100"></a>
+<span class="sourceLineNo">101</span>      } else {<a name="line.101"></a>
+<span class="sourceLineNo">102</span>        range = rangeList.get(0);<a name="line.102"></a>
+<span class="sourceLineNo">103</span>      }<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      if (EXCLUSIVE) {<a name="line.104"></a>
+<span class="sourceLineNo">105</span>        EXCLUSIVE = false;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>        currentReturnCode = ReturnCode.NEXT_ROW;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>        return false;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>      }<a name="line.108"></a>
+<span class="sourceLineNo">109</span>      if (!initialized) {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>        if(index != ROW_BEFORE_FIRST_RANGE) {<a name="line.110"></a>
+<span class="sourceLineNo">111</span>          currentReturnCode = ReturnCode.INCLUDE;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>        } else {<a name="line.112"></a>
+<span class="sourceLineNo">113</span>          currentReturnCode = ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>        }<a name="line.114"></a>
+<span class="sourceLineNo">115</span>        initialized = true;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      } else {<a name="line.116"></a>
+<span class="sourceLineNo">117</span>        if (range.contains(rowArr, offset, length)) {<a name="line.117"></a>
+<span class="sourceLineNo">118</span>          currentReturnCode = ReturnCode.INCLUDE;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>        } else {<a name="line.119"></a>
+<span class="sourceLineNo">120</span>          currentReturnCode = ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>        }<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      }<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    } else {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>      currentReturnCode = ReturnCode.INCLUDE;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    }<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    return false;<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<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  @Override<a name="line.130"></a>
+<span class="sourceLineNo">131</span>  public ReturnCode filterKeyValue(final Cell ignored) {<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    return filterCell(ignored);<a name="line.132"></a>
+<span class="sourceLineNo">133</span>  }<a name="line.133"></a>
+<span class="sourceLineNo">134</span><a name="line.134"></a>
+<span class="sourceLineNo">135</span>  @Override<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  public ReturnCode filterCell(final Cell ignored) {<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    return currentReturnCode;<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>  @Override<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  public Cell getNextCellHint(Cell currentKV) {<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    // skip to the next range's start row<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    return PrivateCellUtil.createFirstOnRow(range.startRow, 0,<a name="line.143"></a>
+<span class="sourceLineNo">144</span>        (short) range.startRow.length);<a name="line.144"></a>
+<span class="sourceLineNo">145</span>  }<a name="line.145"></a>
+<span class="sourceLineNo">146</span><a name="line.146"></a>
+<span class="sourceLineNo">147</span>  /**<a name="line.147"></a>
+<span class="sourceLineNo">148</span>   * @return The filter serialized using pb<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   */<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  @Override<a name="line.150"></a>
+<span class="sourceLineNo">151</span>  public byte[] toByteArray() {<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    FilterProtos.MultiRowRangeFilter.Builder builder = FilterProtos.MultiRowRangeFilter<a name="line.152"></a>
+<span class="sourceLineNo">153</span>        .newBuilder();<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    for (RowRange range : rangeList) {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>      if (range != null) {<a name="line.155"></a>
+<span class="sourceLineNo">156</span>        FilterProtos.RowRange.Builder rangebuilder = FilterProtos.RowRange.newBuilder();<a name="line.156"></a>
+<span class="sourceLineNo">157</span>        if (range.startRow != null)<a name="line.157"></a>
+<span class="sourceLineNo">158</span>          rangebuilder.setStartRow(UnsafeByteOperations.unsafeWrap(range.startRow));<a name="line.158"></a>
+<span class="sourceLineNo">159</span>        rangebuilder.setStartRowInclusive(range.startRowInclusive);<a name="line.159"></a>
+<span class="sourceLineNo">160</span>        if (range.stopRow != null)<a name="line.160"></a>
+<span class="sourceLineNo">161</span>          rangebuilder.setStopRow(UnsafeByteOperations.unsafeWrap(range.stopRow));<a name="line.161"></a>
+<span class="sourceLineNo">162</span>        rangebuilder.setStopRowInclusive(range.stopRowInclusive);<a name="line.162"></a>
+<span class="sourceLineNo">163</span>        builder.addRowRangeList(rangebuilder.build());<a name="line.163"></a>
+<span class="sourceLineNo">164</span>      }<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    }<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    return builder.build().toByteArray();<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>   * @param pbBytes A pb serialized instance<a name="line.170"></a>
+<span class="sourceLineNo">171</span>   * @return An instance of MultiRowRangeFilter<a name="line.171"></a>
+<span class="sourceLineNo">172</span>   * @throws org.apache.hadoop.hbase.exceptions.DeserializationException<a name="line.172"></a>
+<span class="sourceLineNo">173</span>   */<a name="line.173"></a>
+<span class="sourceLineNo">174</span>  public static MultiRowRangeFilter parseFrom(final byte[] pbBytes)<a name="line.174"></a>
+<span class="sourceLineNo">175</span>      throws DeserializationException {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    FilterProtos.MultiRowRangeFilter proto;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    try {<a name="line.177"></a>
+<span class="sourceLineNo">178</span>      proto = FilterProtos.MultiRowRangeFilter.parseFrom(pbBytes);<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    } catch (InvalidProtocolBufferException e) {<a name="line.179"></a>
+<span class="sourceLineNo">180</span>      throw new DeserializationException(e);<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    }<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    int length = proto.getRowRangeListCount();<a name="line.182"></a>
+<span class="sourceLineNo">183</span>    List&lt;FilterProtos.RowRange&gt; rangeProtos = proto.getRowRangeListList();<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    List&lt;RowRange&gt; rangeList = new ArrayList&lt;&gt;(length);<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    for (FilterProtos.RowRange rangeProto : rangeProtos) {<a name="line.185"></a>
+<span class="sourceLineNo">186</span>      RowRange range = new RowRange(rangeProto.hasStartRow() ? rangeProto.getStartRow()<a name="line.186"></a>
+<span class="sourceLineNo">187</span>          .toByteArray() : null, rangeProto.getStartRowInclusive(), rangeProto.hasStopRow() ?<a name="line.187"></a>
+<span class="sourceLineNo">188</span>              rangeProto.getStopRow().toByteArray() : null, rangeProto.getStopRowInclusive());<a name="line.188"></a>
+<span class="sourceLineNo">189</span>      rangeList.add(range);<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    }<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    return new MultiRowRangeFilter(rangeList);<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  }<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>  /**<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   * @param o the filter to compare<a name="line.195"></a>
+<span class="sourceLineNo">196</span>   * @return true if and only if the fields of the filter that are serialized are equal to the<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   *         corresponding fields in other. Used for testing.<a name="line.197"></a>
+<span class="sourceLineNo">198</span>   */<a name="line.198"></a>
+<span class="sourceLineNo">199</span>  @Override<a name="line.199"></a>
+<span class="sourceLineNo">200</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    if (o == this)<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      return true;<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    if (!(o instanceof MultiRowRangeFilter))<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      return false;<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>    MultiRowRangeFilter other = (MultiRowRangeFilter) o;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    if (this.rangeList.size() != other.rangeList.size())<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      return false;<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    for (int i = 0; i &lt; rangeList.size(); ++i) {<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      RowRange thisRange = this.rangeList.get(i);<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      RowRange otherRange = other.rangeList.get(i);<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      if (!(Bytes.equals(thisRange.startRow, otherRange.startRow) &amp;&amp; Bytes.equals(<a name="line.212"></a>
+<span class="sourceLineNo">213</span>          thisRange.stopRow, otherRange.stopRow) &amp;&amp; (thisRange.startRowInclusive ==<a name="line.213"></a>
+<span class="sourceLineNo">214</span>          otherRange.startRowInclusive) &amp;&amp; (thisRange.stopRowInclusive ==<a name="line.214"></a>
+<span class="sourceLineNo">215</span>          otherRange.stopRowInclusive))) {<a name="line.215"></a>
+<span class="sourceLineNo">216</span>        return false;<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      }<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    }<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    return true;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>  }<a name="line.220"></a>
+<span class="sourceLineNo">221</span><a name="line.221"></a>
+<span class="sourceLineNo">222</span>  /**<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   * calculate the position where the row key in the ranges list.<a name="line.223"></a>
+<span class="sourceLineNo">224</span>   *<a name="line.224"></a>
+<span class="sourceLineNo">225</span>   * @param rowKey the row key to calculate<a name="line.225"></a>
+<span class="sourceLineNo">226</span>   * @return index the position of the row key<a name="line.226"></a>
+<span class="sourceLineNo">227</span>   */<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  private int getNextRangeIndex(byte[] rowKey) {<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    RowRange temp = new RowRange(rowKey, true, null, true);<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    int index = Collections.binarySearch(rangeList, temp);<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    if (index &lt; 0) {<a name="line.231"></a>
+<span class="sourceLineNo">232</span>      int insertionPosition = -index - 1;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>      // check if the row key in the range before the insertion position<a name="line.233"></a>
+<span class="sourceLineNo">234</span>      if (insertionPosition != 0 &amp;&amp; rangeList.get(insertionPosition - 1).contains(rowKey)) {<a name="line.234"></a>
+<span class="sourceLineNo">235</span>        return insertionPosition - 1;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>      }<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      // check if the row key is before the first range<a name="line.237"></a>
+<span class="sourceLineNo">238</span>      if (insertionPosition == 0 &amp;&amp; !rangeList.get(insertionPosition).contains(rowKey)) {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>        return ROW_BEFORE_FIRST_RANGE;<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      }<a name="line.240"></a>
+<span class="sourceLineNo">241</span>      if (!initialized) {<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        initialized = true;<a name="line.242"></a>
+<span class="sourceLineNo">243</span>      }<a name="line.243"></a>
+<span class="sourceLineNo">244</span>      return insertionPosition;<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    }<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    // the row key equals one of the start keys, and the the range exclude the start key<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    if(rangeList.get(index).startRowInclusive == false) {<a name="line.247"></a>
+<span class="sourceLineNo">248</span>      EXCLUSIVE = true;<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    }<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    return index;<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  }<a name="line.251"></a>
+<span class="sourceLineNo">252</span><a name="line.252"></a>
+<span class="sourceLineNo">253</span>  /**<a name="line.253"></a>
+<span class="sourceLineNo">254</span>   * sort the ranges and if the ranges with overlap, then merge them.<a name="line.254"></a>
+<span class="sourceLineNo">255</span>   *<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   * @param ranges the list of ranges to sort and merge.<a name="line.256"></a>
+<span class="sourceLineNo">257</span>   * @return the ranges after sort and merge.<a name="line.257"></a>
+<span class="sourceLineNo">258</span>   */<a name="line.258"></a>
+<span class="sourceLineNo">259</span>  public static List&lt;RowRange&gt; sortAndMerge(List&lt;RowRange&gt; ranges) {<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    if (ranges.isEmpty()) {<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      throw new IllegalArgumentException("No ranges found.");<a name="line.261"></a>
+<span class="sourceLineNo">262</span>    }<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    List&lt;RowRange&gt; invalidRanges = new ArrayList&lt;&gt;();<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    List&lt;RowRange&gt; newRanges = new ArrayList&lt;&gt;(ranges.size());<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    Collections.sort(ranges);<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    if(ranges.get(0).isValid()) {<a name="line.266"></a>
+<span class="sourceLineNo">267</span>      if (ranges.size() == 1) {<a name="line.267"></a>
+<span class="sourceLineNo">268</span>        newRanges.add(ranges.get(0));<a name="line.268"></a>
+<span class="sourceLineNo">269</span>      }<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    } else {<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      invalidRanges.add(ranges.get(0));<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    }<a name="line.272"></a>
+<span class="sourceLineNo">273</span><a name="line.273"></a>
+<span class="sourceLineNo">274</span>    byte[] lastStartRow = ranges.get(0).startRow;<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    boolean lastStartRowInclusive = ranges.get(0).startRowInclusive;<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    byte[] lastStopRow = ranges.get(0).stopRow;<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    boolean lastStopRowInclusive = ranges.get(0).stopRowInclusive;<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    int i = 1;<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    for (; i &lt; ranges.size(); i++) {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      RowRange range = ranges.get(i);<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      if (!range.isValid()) {<a name="line.281"></a>
+<span class="sourceLineNo">282</span>        invalidRanges.add(range);<a name="line.282"></a>
+<span class="sourceLineNo">283</span>      }<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      if(Bytes.equals(lastStopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span>        newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.285"></a>
+<span class="sourceLineNo">286</span>            lastStopRowInclusive));<a name="line.286"></a>
+<span class="sourceLineNo">287</span>        break;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>      }<a name="line.288"></a>
+<span class="sourceLineNo">289</span>      // with overlap in the ranges<a name="line.289"></a>
+<span class="sourceLineNo">290</span>      if ((Bytes.compareTo(lastStopRow, range.startRow) &gt; 0) ||<a name="line.290"></a>
+<span class="sourceLineNo">291</span>          (Bytes.compareTo(lastStopRow, range.startRow) == 0 &amp;&amp; !(lastStopRowInclusive == false &amp;&amp;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>          range.isStartRowInclusive() == false))) {<a name="line.292"></a>
+<span class="sourceLineNo">293</span>        if(Bytes.equals(range.stopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>          newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, range.stopRow,<a name="line.294"></a>
+<span class="sourceLineNo">295</span>              range.stopRowInclusive));<a name="line.295"></a>
+<span class="sourceLineNo">296</span>          break;<a name="line.296"></a>
+<span class="sourceLineNo">297</span>        }<a name="line.297"></a>
+<span class="sourceLineNo">298</span>        // if first range contains second range, ignore the second range<a name="line.298"></a>
+<span class="sourceLineNo">299</span>        if (Bytes.compareTo(lastStopRow, range.stopRow) &gt;= 0) {<a name="line.299"></a>
+<span class="sourceLineNo">300</span>          if((Bytes.compareTo(lastStopRow, range.stopRow) == 0)) {<a name="line.300"></a>
+<span class="sourceLineNo">301</span>            if(lastStopRowInclusive == true || range.stopRowInclusive == true) {<a name="line.301"></a>
+<span class="sourceLineNo">302</span>              lastStopRowInclusive = true;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>            }<a name="line.303"></a>
+<span class="sourceLineNo">304</span>          }<a name="line.304"></a>
+<span class="sourceLineNo">305</span>          if ((i + 1) == ranges.size()) {<a name="line.305"></a>
+<span class="sourceLineNo">306</span>            newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.306"></a>
+<span class="sourceLineNo">307</span>                lastStopRowInclusive));<a name="line.307"></a>
+<span class="sourceLineNo">308</span>          }<a name="line.308"></a>
+<span class="sourceLineNo">309</span>        } else {<a name="line.309"></a>
+<span class="sourceLineNo">310</span>          lastStopRow = range.stopRow;<a name="line.310"></a>
+<span class="sourceLineNo">311</span>          lastStopRowInclusive = range.stopRowInclusive;<a name="line.311"></a>
+<span class="sourceLineNo">312</span>          if ((i + 1) &lt; ranges.size()) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>            i++;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>            range = ranges.get(i);<a name="line.314"></a>
+<span class="sourceLineNo">315</span>            if (!range.isValid()) {<a name="line.315"></a>
+<span class="sourceLineNo">316</span>              invalidRanges.add(range);<a name="line.316"></a>
+<span class="sourceLineNo">317</span>            }<a name="line.317"></a>
+<span class="sourceLineNo">318</span>          } else {<a name="line.318"></a>
+<span class="sourceLineNo">319</span>            newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.319"></a>
+<span class="sourceLineNo">320</span>                lastStopRowInclusive));<a name="line.320"></a>
+<span class="sourceLineNo">321</span>            break;<a name="line.321"></a>
+<span class="sourceLineNo">322</span>          }<a name="line.322"></a>
+<span class="sourceLineNo">323</span>          while ((Bytes.compareTo(lastStopRow, range.startRow) &gt; 0) ||<a name="line.323"></a>
+<span class="sourceLineNo">324</span>              (Bytes.compareTo(lastStopRow, range.startRow) == 0 &amp;&amp;<a name="line.324"></a>
+<span class="sourceLineNo">325</span>              (lastStopRowInclusive == true || range.startRowInclusive==true))) {<a name="line.325"></a>
+<span class="sourceLineNo">326</span>            if(Bytes.equals(range.stopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>              break;<a name="line.327"></a>
+<span class="sourceLineNo">328</span>            }<a name="line.328"></a>
+<span class="sourceLineNo">329</span>            // if this first range contain second range, ignore the second range<a name="line.329"></a>
+<span class="sourceLineNo">330</span>            if (Bytes.compareTo(lastStopRow, range.stopRow) &gt;= 0) {<a name="line.330"></a>
+<span class="sourceLineNo">331</span>              if(lastStopRowInclusive == true || range.stopRowInclusive == true) {<a name="line.331"></a>
+<span class="sourceLineNo">332</span>                lastStopRowInclusive = true;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>              }<a name="line.333"></a>
+<span class="sourceLineNo">334</span>              i++;<a name="line.334"></a>
+<span class="sourceLineNo">335</span>              if (i &lt; ranges.size()) {<a name="line.335"></a>
+<span class="sourceLineNo">336</span>                range = ranges.get(i);<a name="line.336"></a>
+<span class="sourceLineNo">337</span>                if (!range.isValid()) {<a name="line.337"></a>
+<span class="sourceLineNo">338</span>                  invalidRanges.add(range);<a name="line.338"></a>
+<span class="sourceLineNo">339</span>                }<a name="line.339"></a>
+<span class="sourceLineNo">340</span>              } else {<a name="line.340"></a>
+<span class="sourceLineNo">341</span>                break;<a name="line.341"></a>
+<span class="sourceLineNo">342</span>              }<a name="line.342"></a>
+<span class="sourceLineNo">343</span>            } else {<a name="line.343"></a>
+<span class="sourceLineNo">344</span>              lastStopRow = range.stopRow;<a name="line.344"></a>
+<span class="sourceLineNo">345</span>              lastStopRowInclusive = range.stopRowInclusive;<a name="line.345"></a>
+<span class="sourceLineNo">346</span>              i++;<a name="line.346"></a>
+<span class="sourceLineNo">347</span>              if (i &lt; ranges.size()) {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>                range = ranges.get(i);<a name="line.348"></a>
+<span class="sourceLineNo">349</span>                if (!range.isValid()) {<a name="line.349"></a>
+<span class="sourceLineNo">350</span>                  invalidRanges.add(range);<a name="line.350"></a>
+<span class="sourceLineNo">351</span>                }<a name="line.351"></a>
+<span class="sourceLineNo">352</span>              } else {<a name="line.352"></a>
+<span class="sourceLineNo">353</span>                break;<a name="line.353"></a>
+<span class="sourceLineNo">354</span>              }<a name="line.354"></a>
+<span class="sourceLineNo">355</span>            }<a name="line.355"></a>
+<span class="sourceLineNo">356</span>          }<a name="line.356"></a>
+<span class="sourceLineNo">357</span>          if(Bytes.equals(range.stopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.357"></a>
+<span class="sourceLineNo">358</span>            if((Bytes.compareTo(lastStopRow, range.startRow) &lt; 0) ||<a name="line.358"></a>
+<span class="sourceLineNo">359</span>                (Bytes.compareTo(lastStopRow, range.startRow) == 0 &amp;&amp;<a name="line.359"></a>
+<span class="sourceLineNo">360</span>                lastStopRowInclusive == false &amp;&amp; range.startRowInclusive == false)) {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>              newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.361"></a>
+<span class="sourceLineNo">362</span>                  lastStopRowInclusive));<a name="line.362"></a>
+<span class="sourceLineNo">363</span>              newRanges.add(range);<a name="line.363"></a>
+<span class="sourceLineNo">364</span>            } else {<a name="line.364"></a>
+<span class="sourceLineNo">365</span>              newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, range.stopRow,<a name="line.365"></a>
+<span class="sourceLineNo">366</span>                  range.stopRowInclusive));<a name="line.366"></a>
+<span class="sourceLineNo">367</span>              break;<a name="line.367"></a>
+<span class="sourceLineNo">368</span>            }<a name="line.368"></a>
+<span class="sourceLineNo">369</span>          }<a name="line.369"></a>
+<span class="sourceLineNo">370</span>          newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.370"></a>
+<span class="sourceLineNo">371</span>              lastStopRowInclusive));<a name="line.371"></a>
+<span class="sourceLineNo">372</span>          if ((i + 1) == ranges.size()) {<a name="line.372"></a>
+<span class="sourceLineNo">373</span>            newRanges.add(range);<a name="line.373"></a>
+<span class="sourceLineNo">374</span>          }<a name="line.374"></a>
+<span class="sourceLineNo">375</span>          lastStartRow = range.startRow;<a name="line.375"></a>
+<span class="sourceLineNo">376</span>          lastStartRowInclusive = range.startRowInclusive;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>          lastStopRow = range.stopRow;<a name="line.377"></a>
+<span class="sourceLineNo">378</span>          lastStopRowInclusive = range.stopRowInclusive;<a name="line.378"></a>
+<span class="sourceLineNo">379</span>        }<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      } else {<a name="line.380"></a>
+<span class="sourceLineNo">381</span>        newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.381"></a>
+<span class="sourceLineNo">382</span>            lastStopRowInclusive));<a name="line.382"></a>
+<span class="sourceLineNo">383</span>        if ((i + 1) == ranges.size()) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span>          newRanges.add(range);<a name="line.384"></a>
+<span class="sourceLineNo">385</span>        }<a name="line.385"></a>
+<span class="sourceLineNo">386</span>        lastStartRow = range.startRow;<a name="line.386"></a>
+<span class="sourceLineNo">387</span>        lastStartRowInclusive = range.startRowInclusive;<a name="line.387"></a>
+<span class="sourceLineNo">388</span>        lastStopRow = range.stopRow;<a name="line.388"></a>
+<span class="sourceLineNo">389</span>        lastStopRowInclusive = range.stopRowInclusive;<a name="line.389"></a>
+<span class="sourceLineNo">390</span>      }<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    }<a name="line.391"></a>
+<span class="sourceLineNo">392</span>    // check the remaining ranges<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    for(int j=i; j &lt; ranges.size(); j++) {<a name="line.393"></a>
+<span class="sourceLineNo">394</span>      if(!ranges.get(j).isValid()) {<a name="line.394"></a>
+<span class="sourceLineNo">395</span>        invalidRanges.add(ranges.get(j));<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      }<a name="line.396"></a>
+<span class="sourceLineNo">397</span>    }<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    // if invalid range exists, throw the exception<a name="line.398"></a>
+<span class="sourceLineNo">399</span>    if (invalidRanges.size() != 0) {<a name="line.399"></a>
+<span class="sourceLineNo">400</span>      throwExceptionForInvalidRanges(invalidRanges, true);<a name="line.400"></a>
+<span class="sourceLineNo">401</span>    }<a name="line.401"></a>
+<span class="sourceLineNo">402</span>    // If no valid ranges found, throw the exception<a name="line.402"></a>
+<span class="sourceLineNo">403</span>    if(newRanges.isEmpty()) {<a name="line.403"></a>
+<span class="sourceLineNo">404</span>      throw new IllegalArgumentException("No valid ranges found.");<a name="line.404"></a>
+<span class="sourceLineNo">405</span>    }<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    return newRanges;<a name="line.406"></a>
+<span class="sourceLineNo">407</span>  }<a name="line.407"></a>
+<span class="sourceLineNo">408</span><a name="line.408"></a>
+<span class="sourceLineNo">409</span>  private static void throwExceptionForInvalidRanges(List&lt;RowRange&gt; invalidRanges,<a name="line.409"></a>
+<span class="sourceLineNo">410</span>      boolean details) {<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    StringBuilder sb = new StringBuilder();<a name="line.411"></a>
+<span class="sourceLineNo">412</span>    sb.append(invalidRanges.size()).append(" invaild ranges.\n");<a name="line.412"></a>
+<span class="sourceLineNo">413</span>    if (details) {<a name="line.413"></a>
+<span class="sourceLineNo">414</span>      for (RowRange range : invalidRanges) {<a name="line.414"></a>
+<span class="sourceLineNo">415</span>        sb.append(<a name="line.415"></a>
+<span class="sourceLineNo">416</span>            "Invalid range: start row =&gt; " + Bytes.toString(range.startRow) + ", stop row =&gt; "<a name="line.416"></a>
+<span class="sourceLineNo">417</span>                + Bytes.toString(range.stopRow)).append('\n');<a name="line.417"></a>
+<span class="so

<TRUNCATED>

[24/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/src-html/org/apache/hadoop/hbase/filter/ValueFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/ValueFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/ValueFilter.html
index ab5f2a7..2f19834 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/ValueFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/ValueFilter.html
@@ -29,125 +29,140 @@
 <span class="sourceLineNo">021</span><a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
 <span class="sourceLineNo">023</span>import java.util.ArrayList;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.CompareOperator;<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>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.31"></a>
-<span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>/**<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * This filter is used to filter based on column value. It takes an<a name="line.34"></a>
-<span class="sourceLineNo">035</span> * operator (equal, greater, not equal, etc) and a byte [] comparator for the<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * cell value.<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * &lt;p&gt;<a name="line.37"></a>
-<span class="sourceLineNo">038</span> * This filter can be wrapped with {@link WhileMatchFilter} and {@link SkipFilter}<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * to add more control.<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * &lt;p&gt;<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * Multiple filters can be combined using {@link FilterList}.<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * &lt;p&gt;<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * To test the value of a single qualifier when scanning multiple qualifiers,<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * use {@link SingleColumnValueFilter}.<a name="line.44"></a>
-<span class="sourceLineNo">045</span> */<a name="line.45"></a>
-<span class="sourceLineNo">046</span>@InterfaceAudience.Public<a name="line.46"></a>
-<span class="sourceLineNo">047</span>public class ValueFilter extends CompareFilter {<a name="line.47"></a>
-<span class="sourceLineNo">048</span><a name="line.48"></a>
-<span class="sourceLineNo">049</span>  /**<a name="line.49"></a>
-<span class="sourceLineNo">050</span>   * Constructor.<a name="line.50"></a>
-<span class="sourceLineNo">051</span>   * @param valueCompareOp the compare op for value matching<a name="line.51"></a>
-<span class="sourceLineNo">052</span>   * @param valueComparator the comparator for value matching<a name="line.52"></a>
-<span class="sourceLineNo">053</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.53"></a>
-<span class="sourceLineNo">054</span>   * Use {@link #ValueFilter(CompareOperator, ByteArrayComparable)}<a name="line.54"></a>
-<span class="sourceLineNo">055</span>   */<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  public ValueFilter(final CompareOp valueCompareOp,<a name="line.56"></a>
-<span class="sourceLineNo">057</span>      final ByteArrayComparable valueComparator) {<a name="line.57"></a>
-<span class="sourceLineNo">058</span>    super(valueCompareOp, valueComparator);<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  }<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span>  /**<a name="line.61"></a>
-<span class="sourceLineNo">062</span>   * Constructor.<a name="line.62"></a>
-<span class="sourceLineNo">063</span>   * @param valueCompareOp the compare op for value matching<a name="line.63"></a>
-<span class="sourceLineNo">064</span>   * @param valueComparator the comparator for value matching<a name="line.64"></a>
-<span class="sourceLineNo">065</span>   */<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  public ValueFilter(final CompareOperator valueCompareOp,<a name="line.66"></a>
-<span class="sourceLineNo">067</span>                     final ByteArrayComparable valueComparator) {<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    super(valueCompareOp, valueComparator);<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  }<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>  @Deprecated<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  @Override<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    return filterCell(c);<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>  @Override<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  public ReturnCode filterCell(final Cell c) {<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    if (compareValue(getCompareOperator(), this.comparator, c)) {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>      return ReturnCode.SKIP;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    }<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    return ReturnCode.INCLUDE;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  }<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    @SuppressWarnings("rawtypes")  // for arguments<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    ArrayList arguments = CompareFilter.extractArguments(filterArguments);<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    CompareOperator compareOp = (CompareOperator)arguments.get(0);<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    ByteArrayComparable comparator = (ByteArrayComparable)arguments.get(1);<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    return new ValueFilter(compareOp, comparator);<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  }<a name="line.91"></a>
-<span class="sourceLineNo">092</span><a name="line.92"></a>
-<span class="sourceLineNo">093</span>  /**<a name="line.93"></a>
-<span class="sourceLineNo">094</span>   * @return The filter serialized using pb<a name="line.94"></a>
-<span class="sourceLineNo">095</span>   */<a name="line.95"></a>
-<span class="sourceLineNo">096</span>  @Override<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  public byte [] toByteArray() {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    FilterProtos.ValueFilter.Builder builder =<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      FilterProtos.ValueFilter.newBuilder();<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    builder.setCompareFilter(super.convert());<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    return builder.build().toByteArray();<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  }<a name="line.102"></a>
-<span class="sourceLineNo">103</span><a name="line.103"></a>
-<span class="sourceLineNo">104</span>  /**<a name="line.104"></a>
-<span class="sourceLineNo">105</span>   * @param pbBytes A pb serialized {@link ValueFilter} instance<a name="line.105"></a>
-<span class="sourceLineNo">106</span>   * @return An instance of {@link ValueFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>   * @throws DeserializationException<a name="line.107"></a>
-<span class="sourceLineNo">108</span>   * @see #toByteArray<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   */<a name="line.109"></a>
-<span class="sourceLineNo">110</span>  public static ValueFilter parseFrom(final byte [] pbBytes)<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  throws DeserializationException {<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    FilterProtos.ValueFilter proto;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    try {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      proto = FilterProtos.ValueFilter.parseFrom(pbBytes);<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    } catch (InvalidProtocolBufferException e) {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      throw new DeserializationException(e);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    }<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    final CompareOperator valueCompareOp =<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      CompareOperator.valueOf(proto.getCompareFilter().getCompareOp().name());<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    ByteArrayComparable valueComparator = null;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    try {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      if (proto.getCompareFilter().hasComparator()) {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>        valueComparator = ProtobufUtil.toComparator(proto.getCompareFilter().getComparator());<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      }<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    } catch (IOException ioe) {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      throw new DeserializationException(ioe);<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    }<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    return new ValueFilter(valueCompareOp,valueComparator);<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>  /**<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   */<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  @Override<a name="line.135"></a>
-<span class="sourceLineNo">136</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    if (o == this) return true;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    if (!(o instanceof ValueFilter)) return false;<a name="line.138"></a>
-<span class="sourceLineNo">139</span><a name="line.139"></a>
-<span class="sourceLineNo">140</span>    return super.areSerializedFieldsEqual(o);<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
-<span class="sourceLineNo">142</span>}<a name="line.142"></a>
+<span class="sourceLineNo">024</span>import java.util.Objects;<a name="line.24"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.Cell;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.CompareOperator;<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>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>/**<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * This filter is used to filter based on column value. It takes an<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * operator (equal, greater, not equal, etc) and a byte [] comparator for the<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * cell value.<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * &lt;p&gt;<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * This filter can be wrapped with {@link WhileMatchFilter} and {@link SkipFilter}<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * to add more control.<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * &lt;p&gt;<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * Multiple filters can be combined using {@link FilterList}.<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * &lt;p&gt;<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * To test the value of a single qualifier when scanning multiple qualifiers,<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * use {@link SingleColumnValueFilter}.<a name="line.45"></a>
+<span class="sourceLineNo">046</span> */<a name="line.46"></a>
+<span class="sourceLineNo">047</span>@InterfaceAudience.Public<a name="line.47"></a>
+<span class="sourceLineNo">048</span>public class ValueFilter extends CompareFilter {<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>  /**<a name="line.50"></a>
+<span class="sourceLineNo">051</span>   * Constructor.<a name="line.51"></a>
+<span class="sourceLineNo">052</span>   * @param valueCompareOp the compare op for value matching<a name="line.52"></a>
+<span class="sourceLineNo">053</span>   * @param valueComparator the comparator for value matching<a name="line.53"></a>
+<span class="sourceLineNo">054</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.54"></a>
+<span class="sourceLineNo">055</span>   * Use {@link #ValueFilter(CompareOperator, ByteArrayComparable)}<a name="line.55"></a>
+<span class="sourceLineNo">056</span>   */<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  public ValueFilter(final CompareOp valueCompareOp,<a name="line.57"></a>
+<span class="sourceLineNo">058</span>      final ByteArrayComparable valueComparator) {<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    super(valueCompareOp, valueComparator);<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  }<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>   * Constructor.<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   * @param valueCompareOp the compare op for value matching<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   * @param valueComparator the comparator for value matching<a name="line.65"></a>
+<span class="sourceLineNo">066</span>   */<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  public ValueFilter(final CompareOperator valueCompareOp,<a name="line.67"></a>
+<span class="sourceLineNo">068</span>                     final ByteArrayComparable valueComparator) {<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    super(valueCompareOp, valueComparator);<a name="line.69"></a>
+<span class="sourceLineNo">070</span>  }<a name="line.70"></a>
+<span class="sourceLineNo">071</span><a name="line.71"></a>
+<span class="sourceLineNo">072</span>  @Deprecated<a name="line.72"></a>
+<span class="sourceLineNo">073</span>  @Override<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    return filterCell(c);<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>  @Override<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  public ReturnCode filterCell(final Cell c) {<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    if (compareValue(getCompareOperator(), this.comparator, c)) {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      return ReturnCode.SKIP;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    }<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    return ReturnCode.INCLUDE;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  }<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    @SuppressWarnings("rawtypes")  // for arguments<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    ArrayList arguments = CompareFilter.extractArguments(filterArguments);<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    CompareOperator compareOp = (CompareOperator)arguments.get(0);<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    ByteArrayComparable comparator = (ByteArrayComparable)arguments.get(1);<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    return new ValueFilter(compareOp, comparator);<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  }<a name="line.92"></a>
+<span class="sourceLineNo">093</span><a name="line.93"></a>
+<span class="sourceLineNo">094</span>  /**<a name="line.94"></a>
+<span class="sourceLineNo">095</span>   * @return The filter serialized using pb<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   */<a name="line.96"></a>
+<span class="sourceLineNo">097</span>  @Override<a name="line.97"></a>
+<span class="sourceLineNo">098</span>  public byte [] toByteArray() {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    FilterProtos.ValueFilter.Builder builder =<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      FilterProtos.ValueFilter.newBuilder();<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    builder.setCompareFilter(super.convert());<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    return builder.build().toByteArray();<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  }<a name="line.103"></a>
+<span class="sourceLineNo">104</span><a name="line.104"></a>
+<span class="sourceLineNo">105</span>  /**<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   * @param pbBytes A pb serialized {@link ValueFilter} instance<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   * @return An instance of {@link ValueFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   * @throws DeserializationException<a name="line.108"></a>
+<span class="sourceLineNo">109</span>   * @see #toByteArray<a name="line.109"></a>
+<span class="sourceLineNo">110</span>   */<a name="line.110"></a>
+<span class="sourceLineNo">111</span>  public static ValueFilter parseFrom(final byte [] pbBytes)<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  throws DeserializationException {<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    FilterProtos.ValueFilter proto;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    try {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>      proto = FilterProtos.ValueFilter.parseFrom(pbBytes);<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    } catch (InvalidProtocolBufferException e) {<a name="line.116"></a>
+<span class="sourceLineNo">117</span>      throw new DeserializationException(e);<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    }<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    final CompareOperator valueCompareOp =<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      CompareOperator.valueOf(proto.getCompareFilter().getCompareOp().name());<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    ByteArrayComparable valueComparator = null;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    try {<a name="line.122"></a>
+<span class="sourceLineNo">123</span>      if (proto.getCompareFilter().hasComparator()) {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>        valueComparator = ProtobufUtil.toComparator(proto.getCompareFilter().getComparator());<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      }<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    } catch (IOException ioe) {<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      throw new DeserializationException(ioe);<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    }<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    return new ValueFilter(valueCompareOp,valueComparator);<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  }<a name="line.130"></a>
+<span class="sourceLineNo">131</span><a name="line.131"></a>
+<span class="sourceLineNo">132</span>  /**<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   */<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  @Override<a name="line.136"></a>
+<span class="sourceLineNo">137</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    if (o == this) return true;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    if (!(o instanceof ValueFilter)) return false;<a name="line.139"></a>
+<span class="sourceLineNo">140</span><a name="line.140"></a>
+<span class="sourceLineNo">141</span>    return super.areSerializedFieldsEqual(o);<a name="line.141"></a>
+<span class="sourceLineNo">142</span>  }<a name="line.142"></a>
+<span class="sourceLineNo">143</span><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 == null || (!(obj instanceof ValueFilter))) {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>      return false;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    }<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    ValueFilter f = (ValueFilter) obj;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    return this.areSerializedFieldsEqual(f);<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>  @Override<a name="line.153"></a>
+<span class="sourceLineNo">154</span>  public int hashCode() {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    return Objects.hash(this.getComparator(), this.getCompareOperator());<a name="line.155"></a>
+<span class="sourceLineNo">156</span>  }<a name="line.156"></a>
+<span class="sourceLineNo">157</span>}<a name="line.157"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html
index 530fa34..0908411 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html
@@ -28,150 +28,165 @@
 <span class="sourceLineNo">020</span>package org.apache.hadoop.hbase.filter;<a name="line.20"></a>
 <span class="sourceLineNo">021</span><a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span><a name="line.23"></a>
-<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.Cell;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.29"></a>
-<span class="sourceLineNo">030</span><a name="line.30"></a>
-<span class="sourceLineNo">031</span>/**<a name="line.31"></a>
-<span class="sourceLineNo">032</span> * A wrapper filter that returns true from {@link #filterAllRemaining()} as soon<a name="line.32"></a>
-<span class="sourceLineNo">033</span> * as the wrapped filters {@link Filter#filterRowKey(byte[], int, int)},<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * {@link Filter#filterCell(org.apache.hadoop.hbase.Cell)},<a name="line.34"></a>
-<span class="sourceLineNo">035</span> * {@link org.apache.hadoop.hbase.filter.Filter#filterRow()} or<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * {@link org.apache.hadoop.hbase.filter.Filter#filterAllRemaining()} methods<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * returns true.<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 WhileMatchFilter extends FilterBase {<a name="line.40"></a>
-<span class="sourceLineNo">041</span>  private boolean filterAllRemaining = false;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>  private Filter filter;<a name="line.42"></a>
-<span class="sourceLineNo">043</span><a name="line.43"></a>
-<span class="sourceLineNo">044</span>  public WhileMatchFilter(Filter filter) {<a name="line.44"></a>
-<span class="sourceLineNo">045</span>    this.filter = filter;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>  }<a name="line.46"></a>
-<span class="sourceLineNo">047</span><a name="line.47"></a>
-<span class="sourceLineNo">048</span>  public Filter getFilter() {<a name="line.48"></a>
-<span class="sourceLineNo">049</span>    return filter;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>  }<a name="line.50"></a>
-<span class="sourceLineNo">051</span><a name="line.51"></a>
-<span class="sourceLineNo">052</span>  @Override<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  public void reset() throws IOException {<a name="line.53"></a>
-<span class="sourceLineNo">054</span>    this.filter.reset();<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 void changeFAR(boolean value) {<a name="line.57"></a>
-<span class="sourceLineNo">058</span>    filterAllRemaining = filterAllRemaining || value;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  }<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span>  @Override<a name="line.61"></a>
-<span class="sourceLineNo">062</span>  public boolean filterAllRemaining() throws IOException {<a name="line.62"></a>
-<span class="sourceLineNo">063</span>    return this.filterAllRemaining || this.filter.filterAllRemaining();<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  }<a name="line.64"></a>
-<span class="sourceLineNo">065</span><a name="line.65"></a>
-<span class="sourceLineNo">066</span>  @Override<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  public boolean filterRowKey(byte[] buffer, int offset, int length) throws IOException {<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    boolean value = filter.filterRowKey(buffer, offset, length);<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    changeFAR(value);<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    return value;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  }<a name="line.71"></a>
-<span class="sourceLineNo">072</span><a name="line.72"></a>
-<span class="sourceLineNo">073</span>  @Override<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    if (filterAllRemaining()) return true;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    boolean value = filter.filterRowKey(cell);<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    changeFAR(value);<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    return value;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  }<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>  @Deprecated<a name="line.81"></a>
-<span class="sourceLineNo">082</span>  @Override<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  public ReturnCode filterKeyValue(final Cell c) throws IOException {<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    return filterCell(c);<a name="line.84"></a>
-<span class="sourceLineNo">085</span>  }<a name="line.85"></a>
-<span class="sourceLineNo">086</span><a name="line.86"></a>
-<span class="sourceLineNo">087</span>  @Override<a name="line.87"></a>
-<span class="sourceLineNo">088</span>  public ReturnCode filterCell(final Cell c) throws IOException {<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    ReturnCode code = filter.filterCell(c);<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    changeFAR(code != ReturnCode.INCLUDE);<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    return code;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  }<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>  @Override<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  public Cell transformCell(Cell v) throws IOException {<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    return filter.transformCell(v);<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  }<a name="line.97"></a>
-<span class="sourceLineNo">098</span><a name="line.98"></a>
-<span class="sourceLineNo">099</span>  @Override<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  public boolean filterRow() throws IOException {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    boolean filterRow = this.filter.filterRow();<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    changeFAR(filterRow);<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    return filterRow;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>  }<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  <a name="line.105"></a>
-<span class="sourceLineNo">106</span>  @Override<a name="line.106"></a>
-<span class="sourceLineNo">107</span>  public boolean hasFilterRow() {<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    return true;<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>   * @return The filter serialized using pb<a name="line.112"></a>
-<span class="sourceLineNo">113</span>   */<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  @Override<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  public byte[] toByteArray() throws IOException {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    FilterProtos.WhileMatchFilter.Builder builder =<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      FilterProtos.WhileMatchFilter.newBuilder();<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    builder.setFilter(ProtobufUtil.toFilter(this.filter));<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    return builder.build().toByteArray();<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  }<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>  /**<a name="line.122"></a>
-<span class="sourceLineNo">123</span>   * @param pbBytes A pb serialized {@link WhileMatchFilter} instance<a name="line.123"></a>
-<span class="sourceLineNo">124</span>   * @return An instance of {@link WhileMatchFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   * @throws org.apache.hadoop.hbase.exceptions.DeserializationException<a name="line.125"></a>
-<span class="sourceLineNo">126</span>   * @see #toByteArray<a name="line.126"></a>
-<span class="sourceLineNo">127</span>   */<a name="line.127"></a>
-<span class="sourceLineNo">128</span>  public static WhileMatchFilter parseFrom(final byte [] pbBytes)<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  throws DeserializationException {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    FilterProtos.WhileMatchFilter proto;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    try {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      proto = FilterProtos.WhileMatchFilter.parseFrom(pbBytes);<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    } catch (InvalidProtocolBufferException e) {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      throw new DeserializationException(e);<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    }<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    try {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      return new WhileMatchFilter(ProtobufUtil.toFilter(proto.getFilter()));<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    } catch (IOException ioe) {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      throw new DeserializationException(ioe);<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    }<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
-<span class="sourceLineNo">142</span><a name="line.142"></a>
-<span class="sourceLineNo">143</span>  /**<a name="line.143"></a>
-<span class="sourceLineNo">144</span>   * @param o the other filter to compare with<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.146"></a>
-<span class="sourceLineNo">147</span>   */<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  @Override<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    if (o == this) return true;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    if (!(o instanceof WhileMatchFilter)) return false;<a name="line.151"></a>
-<span class="sourceLineNo">152</span><a name="line.152"></a>
-<span class="sourceLineNo">153</span>    WhileMatchFilter other = (WhileMatchFilter)o;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    return getFilter().areSerializedFieldsEqual(other.getFilter());<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  }<a name="line.155"></a>
-<span class="sourceLineNo">156</span><a name="line.156"></a>
-<span class="sourceLineNo">157</span>  @Override<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  public boolean isFamilyEssential(byte[] name) throws IOException {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    return filter.isFamilyEssential(name);<a name="line.159"></a>
-<span class="sourceLineNo">160</span>  }<a name="line.160"></a>
-<span class="sourceLineNo">161</span><a name="line.161"></a>
-<span class="sourceLineNo">162</span>  @Override<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  public String toString() {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    return this.getClass().getSimpleName() + " " + this.filter.toString();<a name="line.164"></a>
-<span class="sourceLineNo">165</span>  }<a name="line.165"></a>
-<span class="sourceLineNo">166</span>}<a name="line.166"></a>
+<span class="sourceLineNo">023</span>import java.util.Objects;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.30"></a>
+<span class="sourceLineNo">031</span><a name="line.31"></a>
+<span class="sourceLineNo">032</span>/**<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * A wrapper filter that returns true from {@link #filterAllRemaining()} as soon<a name="line.33"></a>
+<span class="sourceLineNo">034</span> * as the wrapped filters {@link Filter#filterRowKey(byte[], int, int)},<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * {@link Filter#filterCell(org.apache.hadoop.hbase.Cell)},<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * {@link org.apache.hadoop.hbase.filter.Filter#filterRow()} or<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * {@link org.apache.hadoop.hbase.filter.Filter#filterAllRemaining()} methods<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * returns true.<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 WhileMatchFilter extends FilterBase {<a name="line.41"></a>
+<span class="sourceLineNo">042</span>  private boolean filterAllRemaining = false;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>  private Filter filter;<a name="line.43"></a>
+<span class="sourceLineNo">044</span><a name="line.44"></a>
+<span class="sourceLineNo">045</span>  public WhileMatchFilter(Filter filter) {<a name="line.45"></a>
+<span class="sourceLineNo">046</span>    this.filter = filter;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>  }<a name="line.47"></a>
+<span class="sourceLineNo">048</span><a name="line.48"></a>
+<span class="sourceLineNo">049</span>  public Filter getFilter() {<a name="line.49"></a>
+<span class="sourceLineNo">050</span>    return filter;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>  }<a name="line.51"></a>
+<span class="sourceLineNo">052</span><a name="line.52"></a>
+<span class="sourceLineNo">053</span>  @Override<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  public void reset() throws IOException {<a name="line.54"></a>
+<span class="sourceLineNo">055</span>    this.filter.reset();<a name="line.55"></a>
+<span class="sourceLineNo">056</span>  }<a name="line.56"></a>
+<span class="sourceLineNo">057</span><a name="line.57"></a>
+<span class="sourceLineNo">058</span>  private void changeFAR(boolean value) {<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    filterAllRemaining = filterAllRemaining || value;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  }<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span>  @Override<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  public boolean filterAllRemaining() throws IOException {<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    return this.filterAllRemaining || this.filter.filterAllRemaining();<a name="line.64"></a>
+<span class="sourceLineNo">065</span>  }<a name="line.65"></a>
+<span class="sourceLineNo">066</span><a name="line.66"></a>
+<span class="sourceLineNo">067</span>  @Override<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  public boolean filterRowKey(byte[] buffer, int offset, int length) throws IOException {<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    boolean value = filter.filterRowKey(buffer, offset, length);<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    changeFAR(value);<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    return value;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  }<a name="line.72"></a>
+<span class="sourceLineNo">073</span><a name="line.73"></a>
+<span class="sourceLineNo">074</span>  @Override<a name="line.74"></a>
+<span class="sourceLineNo">075</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    if (filterAllRemaining()) return true;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    boolean value = filter.filterRowKey(cell);<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    changeFAR(value);<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    return value;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>  }<a name="line.80"></a>
+<span class="sourceLineNo">081</span><a name="line.81"></a>
+<span class="sourceLineNo">082</span>  @Deprecated<a name="line.82"></a>
+<span class="sourceLineNo">083</span>  @Override<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  public ReturnCode filterKeyValue(final Cell c) throws IOException {<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    return filterCell(c);<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>  @Override<a name="line.88"></a>
+<span class="sourceLineNo">089</span>  public ReturnCode filterCell(final Cell c) throws IOException {<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    ReturnCode code = filter.filterCell(c);<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    changeFAR(code != ReturnCode.INCLUDE);<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    return code;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  }<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>  @Override<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  public Cell transformCell(Cell v) throws IOException {<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    return filter.transformCell(v);<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>  @Override<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  public boolean filterRow() throws IOException {<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    boolean filterRow = this.filter.filterRow();<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    changeFAR(filterRow);<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    return filterRow;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  }<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  <a name="line.106"></a>
+<span class="sourceLineNo">107</span>  @Override<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  public boolean hasFilterRow() {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    return true;<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>  /**<a name="line.112"></a>
+<span class="sourceLineNo">113</span>   * @return The filter serialized using pb<a name="line.113"></a>
+<span class="sourceLineNo">114</span>   */<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  @Override<a name="line.115"></a>
+<span class="sourceLineNo">116</span>  public byte[] toByteArray() throws IOException {<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    FilterProtos.WhileMatchFilter.Builder builder =<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      FilterProtos.WhileMatchFilter.newBuilder();<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    builder.setFilter(ProtobufUtil.toFilter(this.filter));<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    return builder.build().toByteArray();<a name="line.120"></a>
+<span class="sourceLineNo">121</span>  }<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>   * @param pbBytes A pb serialized {@link WhileMatchFilter} instance<a name="line.124"></a>
+<span class="sourceLineNo">125</span>   * @return An instance of {@link WhileMatchFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>   * @throws org.apache.hadoop.hbase.exceptions.DeserializationException<a name="line.126"></a>
+<span class="sourceLineNo">127</span>   * @see #toByteArray<a name="line.127"></a>
+<span class="sourceLineNo">128</span>   */<a name="line.128"></a>
+<span class="sourceLineNo">129</span>  public static WhileMatchFilter parseFrom(final byte [] pbBytes)<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  throws DeserializationException {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    FilterProtos.WhileMatchFilter proto;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    try {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      proto = FilterProtos.WhileMatchFilter.parseFrom(pbBytes);<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    } catch (InvalidProtocolBufferException e) {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      throw new DeserializationException(e);<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    }<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    try {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>      return new WhileMatchFilter(ProtobufUtil.toFilter(proto.getFilter()));<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    } catch (IOException ioe) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>      throw new DeserializationException(ioe);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    }<a name="line.141"></a>
+<span class="sourceLineNo">142</span>  }<a name="line.142"></a>
+<span class="sourceLineNo">143</span><a name="line.143"></a>
+<span class="sourceLineNo">144</span>  /**<a name="line.144"></a>
+<span class="sourceLineNo">145</span>   * @param o the other filter to compare with<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.147"></a>
+<span class="sourceLineNo">148</span>   */<a name="line.148"></a>
+<span class="sourceLineNo">149</span>  @Override<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    if (o == this) return true;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    if (!(o instanceof WhileMatchFilter)) return false;<a name="line.152"></a>
+<span class="sourceLineNo">153</span><a name="line.153"></a>
+<span class="sourceLineNo">154</span>    WhileMatchFilter other = (WhileMatchFilter)o;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    return getFilter().areSerializedFieldsEqual(other.getFilter());<a name="line.155"></a>
+<span class="sourceLineNo">156</span>  }<a name="line.156"></a>
+<span class="sourceLineNo">157</span><a name="line.157"></a>
+<span class="sourceLineNo">158</span>  @Override<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  public boolean isFamilyEssential(byte[] name) throws IOException {<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    return filter.isFamilyEssential(name);<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 String toString() {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    return this.getClass().getSimpleName() + " " + this.filter.toString();<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>  @Override<a name="line.168"></a>
+<span class="sourceLineNo">169</span>  public boolean equals(Object obj) {<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    if (obj == null || (!(obj.getClass() == this.getClass()))) {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      return false;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    }<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    WhileMatchFilter f = (WhileMatchFilter) obj;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    return this.areSerializedFieldsEqual(f);<a name="line.174"></a>
+<span class="sourceLineNo">175</span>  }<a name="line.175"></a>
+<span class="sourceLineNo">176</span><a name="line.176"></a>
+<span class="sourceLineNo">177</span>  @Override<a name="line.177"></a>
+<span class="sourceLineNo">178</span>  public int hashCode() {<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    return Objects.hash(this.filter);<a name="line.179"></a>
+<span class="sourceLineNo">180</span>  }<a name="line.180"></a>
+<span class="sourceLineNo">181</span>}<a name="line.181"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/book.html
----------------------------------------------------------------------
diff --git a/book.html b/book.html
index e7f46a7..cbd3531 100644
--- a/book.html
+++ b/book.html
@@ -41151,7 +41151,7 @@ org/apache/hadoop/hbase/security/access/AccessControlClient.revoke:(Lorg/apache/
 <div id="footer">
 <div id="footer-text">
 Version 3.0.0-SNAPSHOT<br>
-Last updated 2018-08-23 14:29:57 UTC
+Last updated 2018-08-24 14:29:55 UTC
 </div>
 </div>
 </body>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/bulk-loads.html
----------------------------------------------------------------------
diff --git a/bulk-loads.html b/bulk-loads.html
index 3576db7..5a76fd9 100644
--- a/bulk-loads.html
+++ b/bulk-loads.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180823" />
+    <meta name="Date-Revision-yyyymmdd" content="20180824" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Bulk Loads in Apache HBase (TM)
@@ -306,7 +306,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-08-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-08-24</li>
             </p>
                 </div>
 


[08/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/master/class-use/RegionState.State.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/class-use/RegionState.State.html b/devapidocs/org/apache/hadoop/hbase/master/class-use/RegionState.State.html
index d799dd2..0412da9 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/class-use/RegionState.State.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/class-use/RegionState.State.html
@@ -395,6 +395,18 @@ the order they are declared.</div>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="typeNameLabel">AssignmentManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#transitStateAndUpdate-org.apache.hadoop.hbase.master.assignment.RegionStateNode-org.apache.hadoop.hbase.master.RegionState.State-org.apache.hadoop.hbase.master.RegionState.State...-">transitStateAndUpdate</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&nbsp;regionNode,
+                     <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>&nbsp;newState,
+                     <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>...&nbsp;expectedStates)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="typeNameLabel">AssignmentManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/AssignmentManager.html#transitStateAndUpdate-org.apache.hadoop.hbase.master.assignment.RegionStateNode-org.apache.hadoop.hbase.master.RegionState.State-org.apache.hadoop.hbase.master.RegionState.State...-">transitStateAndUpdate</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateNode.html" title="class in org.apache.hadoop.hbase.master.assignment">RegionStateNode</a>&nbsp;regionNode,
+                     <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>&nbsp;newState,
+                     <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>...&nbsp;expectedStates)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="typeNameLabel">RegionStateStore.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/assignment/RegionStateStore.html#updateMetaLocation-org.apache.hadoop.hbase.client.RegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.master.RegionState.State-">updateMetaLocation</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
                   <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                   <a href="../../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master">RegionState.State</a>&nbsp;state)</code>&nbsp;</td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
index 0445bee..2caa10b 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
@@ -347,11 +347,11 @@
 <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.master.<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MasterRpcServices.BalanceSwitchMode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.ResubmitDirective.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.ResubmitDirective</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">RegionState.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MetricsMasterSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MetricsMasterSourceFactoryImpl.FactoryStorage</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.ResubmitDirective.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.ResubmitDirective</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.TerminationStatus.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.TerminationStatus</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MasterRpcServices.BalanceSwitchMode</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html
index a112762..fc6eafc 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html
@@ -584,7 +584,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
 <ul class="blockList">
 <li class="blockList">
 <h4>filterDefaultMetaRegions</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.187">filterDefaultMetaRegions</a>()</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.194">filterDefaultMetaRegions</a>()</pre>
 </li>
 </ul>
 <a name="isDefaultMetaRegion-org.apache.hadoop.hbase.client.RegionInfo-">
@@ -593,7 +593,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
 <ul class="blockList">
 <li class="blockList">
 <h4>isDefaultMetaRegion</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.195">isDefaultMetaRegion</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hri)</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.202">isDefaultMetaRegion</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hri)</pre>
 </li>
 </ul>
 <a name="splitMetaLogs-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">
@@ -602,7 +602,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
 <ul class="blockList">
 <li class="blockList">
 <h4>splitMetaLogs</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.199">splitMetaLogs</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.206">splitMetaLogs</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                     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>
@@ -616,7 +616,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
 <ul class="blockList">
 <li class="blockList">
 <h4>splitLogs</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.209">splitLogs</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.216">splitLogs</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)
                 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>
@@ -630,7 +630,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
 <ul class="blockList">
 <li class="blockList">
 <h4>rollbackState</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.222">rollbackState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.229">rollbackState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                              org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ServerCrashState&nbsp;state)
                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#rollbackState-TEnvironment-TState-">StateMachineProcedure</a></code></span></div>
@@ -650,7 +650,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
 <ul class="blockList">
 <li class="blockList">
 <h4>getState</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ServerCrashState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.229">getState</a>(int&nbsp;stateId)</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ServerCrashState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.236">getState</a>(int&nbsp;stateId)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getState-int-">StateMachineProcedure</a></code></span></div>
 <div class="block">Convert an ordinal (or state id) to an Enum (or more descriptive) state object.</div>
 <dl>
@@ -669,7 +669,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
 <ul class="blockList">
 <li class="blockList">
 <h4>getStateId</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.234">getStateId</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ServerCrashState&nbsp;state)</pre>
+<pre>protected&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.241">getStateId</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ServerCrashState&nbsp;state)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getStateId-TState-">StateMachineProcedure</a></code></span></div>
 <div class="block">Convert the Enum (or more descriptive) state object to an ordinal (or state id).</div>
 <dl>
@@ -688,7 +688,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
 <ul class="blockList">
 <li class="blockList">
 <h4>getInitialState</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ServerCrashState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.239">getInitialState</a>()</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ServerCrashState&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.246">getInitialState</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.html#getInitialState--">StateMachineProcedure</a></code></span></div>
 <div class="block">Return the initial state object that will be used for the first call to executeFromState().</div>
 <dl>
@@ -705,7 +705,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
 <ul class="blockList">
 <li class="blockList">
 <h4>abort</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.244">abort</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.251">abort</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#abort-TEnvironment-">Procedure</a></code></span></div>
 <div class="block">The abort() call is asynchronous and each procedure must decide how to deal
  with it, if they want to be abortable. The simplest implementation
@@ -728,7 +728,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
 <ul class="blockList">
 <li class="blockList">
 <h4>acquireLock</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.LockState.html" title="enum in org.apache.hadoop.hbase.procedure2">Procedure.LockState</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.250">acquireLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.LockState.html" title="enum in org.apache.hadoop.hbase.procedure2">Procedure.LockState</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.257">acquireLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#acquireLock-TEnvironment-">Procedure</a></code></span></div>
 <div class="block">The user should override this method if they need a lock on an Entity. A lock can be anything,
  and it is up to the implementor. The Procedure Framework will call this method just before it
@@ -765,7 +765,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
 <ul class="blockList">
 <li class="blockList">
 <h4>releaseLock</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.258">releaseLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.265">releaseLock</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#releaseLock-TEnvironment-">Procedure</a></code></span></div>
 <div class="block">The user should override this method, and release lock if necessary.</div>
 <dl>
@@ -780,7 +780,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
 <ul class="blockList">
 <li class="blockList">
 <h4>toStringClassDetails</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.263">toStringClassDetails</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.270">toStringClassDetails</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;sb)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#toStringClassDetails-java.lang.StringBuilder-">Procedure</a></code></span></div>
 <div class="block">Extend the toString() information with the procedure details
  e.g. className and parameters</div>
@@ -798,7 +798,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
 <ul class="blockList">
 <li class="blockList">
 <h4>serializeStateData</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.274">serializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.281">serializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)
                            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#serializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">Procedure</a></code></span></div>
 <div class="block">The user-level code of the procedure may have some state to
@@ -820,7 +820,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
 <ul class="blockList">
 <li class="blockList">
 <h4>deserializeStateData</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.292">deserializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.299">deserializeStateData</a>(<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureStateSerializer.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureStateSerializer</a>&nbsp;serializer)
                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#deserializeStateData-org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer-">Procedure</a></code></span></div>
 <div class="block">Called on store load to allow the user to decode the previously serialized
@@ -841,7 +841,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
 <ul class="blockList">
 <li class="blockList">
 <h4>getServerName</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.312">getServerName</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.319">getServerName</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html#getServerName--">getServerName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface</a></code></dd>
@@ -856,7 +856,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
 <ul class="blockList">
 <li class="blockList">
 <h4>hasMetaTableRegion</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.317">hasMetaTableRegion</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.324">hasMetaTableRegion</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html#hasMetaTableRegion--">hasMetaTableRegion</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html" title="interface in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface</a></code></dd>
@@ -871,7 +871,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
 <ul class="blockList">
 <li class="blockList">
 <h4>getServerOperationType</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface.ServerOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.322">getServerOperationType</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure">ServerProcedureInterface.ServerOperationType</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.329">getServerOperationType</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.html#getServerOperationType--">ServerProcedureInterface</a></code></span></div>
 <div class="block">Given an operation type we can take decisions about what to do with pending operations.
  e.g. if we get a crash handler and we have some assignment operation pending
@@ -890,7 +890,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
 <ul class="blockList">
 <li class="blockList">
 <h4>isYieldBeforeExecuteFromState</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.334">isYieldBeforeExecuteFromState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.341">isYieldBeforeExecuteFromState</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                                                 org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ServerCrashState&nbsp;state)</pre>
 <div class="block">For this procedure, yield at end of each successful flow step so that all crashed servers
  can make progress rather than do the default which has each procedure running to completion
@@ -913,7 +913,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
 <ul class="blockList">
 <li class="blockList">
 <h4>shouldWaitClientAck</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.339">shouldWaitClientAck</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.346">shouldWaitClientAck</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#shouldWaitClientAck-TEnvironment-">Procedure</a></code></span></div>
 <div class="block">By default, the executor will keep the procedure result around util
  the eviction TTL is expired. The client can cut down the waiting time
@@ -936,7 +936,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
 <ul class="blockList">
 <li class="blockList">
 <h4>assignRegions</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.355">assignRegions</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.362">assignRegions</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env,
                            <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="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&gt;&nbsp;regions)
                     throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Assign the regions on the crashed RS to other Rses.
@@ -959,7 +959,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/master/procedure/S
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getProcedureMetrics</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureMetrics.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureMetrics</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.380">getProcedureMetrics</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure2/ProcedureMetrics.html" title="interface in org.apache.hadoop.hbase.procedure2">ProcedureMetrics</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.html#line.387">getProcedureMetrics</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MasterProcedureEnv.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureEnv</a>&nbsp;env)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/procedure2/Procedure.html#getProcedureMetrics-TEnvironment-">Procedure</a></code></span></div>
 <div class="block">Override this method to provide procedure specific counters for submitted count, failed
  count and time histogram.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
index d02e7c6..a189946 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
@@ -216,10 +216,10 @@
 <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.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">TableProcedureInterface.TableOperationType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">ServerProcedureInterface.ServerOperationType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MetaProcedureInterface.MetaOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">MetaProcedureInterface.MetaOperationType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">TableProcedureInterface.TableOperationType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.PeerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">PeerProcedureInterface.PeerOperationType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">ServerProcedureInterface.ServerOperationType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/monitoring/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/monitoring/package-tree.html b/devapidocs/org/apache/hadoop/hbase/monitoring/package-tree.html
index 4b549da..7b435d2 100644
--- a/devapidocs/org/apache/hadoop/hbase/monitoring/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/monitoring/package-tree.html
@@ -127,8 +127,8 @@
 <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.monitoring.<a href="../../../../../org/apache/hadoop/hbase/monitoring/TaskMonitor.TaskFilter.TaskType.html" title="enum in org.apache.hadoop.hbase.monitoring"><span class="typeNameLink">TaskMonitor.TaskFilter.TaskType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.monitoring.<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.State.html" title="enum in org.apache.hadoop.hbase.monitoring"><span class="typeNameLink">MonitoredTask.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.monitoring.<a href="../../../../../org/apache/hadoop/hbase/monitoring/TaskMonitor.TaskFilter.TaskType.html" title="enum in org.apache.hadoop.hbase.monitoring"><span class="typeNameLink">TaskMonitor.TaskFilter.TaskType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/package-tree.html b/devapidocs/org/apache/hadoop/hbase/package-tree.html
index bb6fe5d..115d29f 100644
--- a/devapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -437,19 +437,19 @@
 <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.<a href="../../../../org/apache/hadoop/hbase/KeyValue.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeyValue.Type</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HConstants.OperationStatusCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Size.Unit.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Size.Unit</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompareOperator</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MemoryCompactionPolicy.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MemoryCompactionPolicy</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Cell.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Cell.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HConstants.OperationStatusCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HealthChecker.HealthCheckerExitStatus.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HealthChecker.HealthCheckerExitStatus</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ClusterMetrics.Option.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ClusterMetrics.Option</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Coprocessor.State.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Coprocessor.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeepDeletedCells</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MemoryCompactionPolicy.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MemoryCompactionPolicy</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Coprocessor.State.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Coprocessor.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Cell.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Cell.Type</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompatibilitySingletonFactory.SingletonStorage.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompatibilitySingletonFactory.SingletonStorage</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HealthChecker.HealthCheckerExitStatus.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HealthChecker.HealthCheckerExitStatus</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.QueryType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CellBuilderType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CellBuilderType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Size.Unit.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Size.Unit</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.QueryType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeyValue.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeyValue.Type</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
index b3e04df..f7d34e6 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
@@ -217,10 +217,10 @@
 <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.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.LockState.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Procedure.LockState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockedResourceType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockedResourceType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">RootProcedureState.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.LockState.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Procedure.LockState</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">StateMachineProcedure.Flow</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockedResourceType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockedResourceType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
index 6e8e22f..826cc63 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
@@ -229,13 +229,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.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaScope.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaScope</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">SpaceViolationPolicy</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.OperationType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">OperationQuota.OperationType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottleType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottlingException.Type</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/RpcThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">RpcThrottlingException.Type</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">SpaceViolationPolicy</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaScope.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaScope</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottleType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottlingException.Type</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
index 28aa73e..658d1e5 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -708,20 +708,20 @@
 <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.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsRegionServerSourceFactoryImpl.FactoryStorage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/BloomType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">BloomType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">FlushType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TimeRangeTracker.Type.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TimeRangeTracker.Type</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreCompactionStrategy.Action.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MemStoreCompactionStrategy.Action</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultHeapMemoryTuner.StepDirection.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">DefaultHeapMemoryTuner.StepDirection</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.LimitScope</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ChunkCreator.ChunkType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ChunkCreator.ChunkType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Region.Operation</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.NextState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.LimitScope</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScanType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultHeapMemoryTuner.StepDirection.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">DefaultHeapMemoryTuner.StepDirection</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">HRegion.FlushResult.Result</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Region.Operation</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">FlushType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactingMemStore.IndexType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">CompactingMemStore.IndexType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.Status.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">SplitLogWorker.TaskExecutor.Status</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScanType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.NextState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsRegionServerSourceFactoryImpl.FactoryStorage</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
index b377318..23060c2 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
@@ -131,8 +131,8 @@
 <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.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/StripeCompactionScanQueryMatcher.DropDeletesInOutput.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">StripeCompactionScanQueryMatcher.DropDeletesInOutput</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">ScanQueryMatcher.MatchCode</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">DeleteTracker.DeleteResult</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">ScanQueryMatcher.MatchCode</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
index 46651a5..f0c55c8 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
@@ -247,9 +247,9 @@
 <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.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/ProtobufLogReader.WALHdrResult.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">ProtobufLogReader.WALHdrResult</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/CompressionContext.DictionaryIndex.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">CompressionContext.DictionaryIndex</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/RingBufferTruck.Type.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">RingBufferTruck.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/CompressionContext.DictionaryIndex.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">CompressionContext.DictionaryIndex</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/ProtobufLogReader.WALHdrResult.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">ProtobufLogReader.WALHdrResult</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html b/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html
index 034077c..c20ff47 100644
--- a/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html
@@ -110,8 +110,8 @@
 <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.rest.model.<a href="../../../../../../org/apache/hadoop/hbase/rest/model/ScannerModel.FilterModel.ByteArrayComparableModel.ComparatorType.html" title="enum in org.apache.hadoop.hbase.rest.model"><span class="typeNameLink">ScannerModel.FilterModel.ByteArrayComparableModel.ComparatorType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.rest.model.<a href="../../../../../../org/apache/hadoop/hbase/rest/model/ScannerModel.FilterModel.FilterType.html" title="enum in org.apache.hadoop.hbase.rest.model"><span class="typeNameLink">ScannerModel.FilterModel.FilterType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.rest.model.<a href="../../../../../../org/apache/hadoop/hbase/rest/model/ScannerModel.FilterModel.ByteArrayComparableModel.ComparatorType.html" title="enum in org.apache.hadoop.hbase.rest.model"><span class="typeNameLink">ScannerModel.FilterModel.ByteArrayComparableModel.ComparatorType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html b/devapidocs/org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html
index 65e7b2e..aaef1fe 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static enum <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.53">AccessControlFilter.Strategy</a>
+<pre>public static enum <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.html#line.54">AccessControlFilter.Strategy</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html" title="enum in org.apache.hadoop.hbase.security.access">AccessControlFilter.Strategy</a>&gt;</pre>
 </li>
 </ul>
@@ -214,7 +214,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>CHECK_TABLE_AND_CF_ONLY</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html" title="enum in org.apache.hadoop.hbase.security.access">AccessControlFilter.Strategy</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html#line.55">CHECK_TABLE_AND_CF_ONLY</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html" title="enum in org.apache.hadoop.hbase.security.access">AccessControlFilter.Strategy</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html#line.56">CHECK_TABLE_AND_CF_ONLY</a></pre>
 <div class="block">Filter only by checking the table or CF permissions</div>
 </li>
 </ul>
@@ -224,7 +224,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CHECK_CELL_DEFAULT</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html" title="enum in org.apache.hadoop.hbase.security.access">AccessControlFilter.Strategy</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html#line.57">CHECK_CELL_DEFAULT</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html" title="enum in org.apache.hadoop.hbase.security.access">AccessControlFilter.Strategy</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html#line.58">CHECK_CELL_DEFAULT</a></pre>
 <div class="block">Cell permissions can override table or CF permissions</div>
 </li>
 </ul>
@@ -242,7 +242,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html" title="enum in org.apache.hadoop.hbase.security.access">AccessControlFilter.Strategy</a>[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html#line.53">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html" title="enum in org.apache.hadoop.hbase.security.access">AccessControlFilter.Strategy</a>[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html#line.54">values</a>()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
@@ -262,7 +262,7 @@ for (AccessControlFilter.Strategy c : AccessControlFilter.Strategy.values())
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html" title="enum in org.apache.hadoop.hbase.security.access">AccessControlFilter.Strategy</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html#line.53">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html" title="enum in org.apache.hadoop.hbase.security.access">AccessControlFilter.Strategy</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html#line.54">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 


[06/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html b/devapidocs/src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html
index c6137d0..4ca69da 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html
@@ -29,118 +29,133 @@
 <span class="sourceLineNo">021</span><a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
 <span class="sourceLineNo">023</span>import java.util.ArrayList;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.28"></a>
-<span class="sourceLineNo">029</span><a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.31"></a>
-<span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>/**<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * Simple filter that returns first N columns on row only.<a name="line.34"></a>
-<span class="sourceLineNo">035</span> * This filter was written to test filters in Get and as soon as it gets<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * its quota of columns, {@link #filterAllRemaining()} returns true.  This<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * makes this filter unsuitable as a Scan filter.<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 ColumnCountGetFilter extends FilterBase {<a name="line.40"></a>
-<span class="sourceLineNo">041</span>  private int limit = 0;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>  private int count = 0;<a name="line.42"></a>
-<span class="sourceLineNo">043</span><a name="line.43"></a>
-<span class="sourceLineNo">044</span>  public ColumnCountGetFilter(final int n) {<a name="line.44"></a>
-<span class="sourceLineNo">045</span>    Preconditions.checkArgument(n &gt;= 0, "limit be positive %s", n);<a name="line.45"></a>
-<span class="sourceLineNo">046</span>    this.limit = n;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>  }<a name="line.47"></a>
-<span class="sourceLineNo">048</span><a name="line.48"></a>
-<span class="sourceLineNo">049</span>  public int getLimit() {<a name="line.49"></a>
-<span class="sourceLineNo">050</span>    return limit;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>  }<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>  @Override<a name="line.53"></a>
-<span class="sourceLineNo">054</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.54"></a>
-<span class="sourceLineNo">055</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.55"></a>
-<span class="sourceLineNo">056</span>    if (filterAllRemaining()) return true;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>    return false;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  }<a name="line.58"></a>
-<span class="sourceLineNo">059</span><a name="line.59"></a>
-<span class="sourceLineNo">060</span>  @Override<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  public boolean filterAllRemaining() {<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    return this.count &gt; this.limit;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  }<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span>  @Deprecated<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  @Override<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    return filterCell(c);<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  }<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>  @Override<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  public ReturnCode filterCell(final Cell c) {<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    this.count++;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    return filterAllRemaining() ? ReturnCode.NEXT_COL : ReturnCode.INCLUDE_AND_NEXT_COL;<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>  @Override<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  public void reset() {<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    this.count = 0;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  }<a name="line.80"></a>
-<span class="sourceLineNo">081</span><a name="line.81"></a>
-<span class="sourceLineNo">082</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    Preconditions.checkArgument(filterArguments.size() == 1,<a name="line.83"></a>
-<span class="sourceLineNo">084</span>                                "Expected 1 but got: %s", filterArguments.size());<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    int limit = ParseFilter.convertByteArrayToInt(filterArguments.get(0));<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    return new ColumnCountGetFilter(limit);<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>   * @return The filter serialized using pb<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   */<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  @Override<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  public byte [] toByteArray() {<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    FilterProtos.ColumnCountGetFilter.Builder builder =<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      FilterProtos.ColumnCountGetFilter.newBuilder();<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    builder.setLimit(this.limit);<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    return builder.build().toByteArray();<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>   * @param pbBytes A pb serialized {@link ColumnCountGetFilter} instance<a name="line.101"></a>
-<span class="sourceLineNo">102</span>   * @return An instance of {@link ColumnCountGetFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>   * @throws org.apache.hadoop.hbase.exceptions.DeserializationException<a name="line.103"></a>
-<span class="sourceLineNo">104</span>   * @see #toByteArray<a name="line.104"></a>
-<span class="sourceLineNo">105</span>   */<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  public static ColumnCountGetFilter parseFrom(final byte [] pbBytes)<a name="line.106"></a>
-<span class="sourceLineNo">107</span>  throws DeserializationException {<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    FilterProtos.ColumnCountGetFilter proto;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    try {<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      proto = FilterProtos.ColumnCountGetFilter.parseFrom(pbBytes);<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    } catch (InvalidProtocolBufferException e) {<a name="line.111"></a>
-<span class="sourceLineNo">112</span>      throw new DeserializationException(e);<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    }<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    return new ColumnCountGetFilter(proto.getLimit());<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  }<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  /**<a name="line.117"></a>
-<span class="sourceLineNo">118</span>   * @param o the other filter to compare with<a name="line.118"></a>
-<span class="sourceLineNo">119</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.119"></a>
-<span class="sourceLineNo">120</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   */<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  @Override<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    if (o == this) return true;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    if (!(o instanceof ColumnCountGetFilter)) return false;<a name="line.125"></a>
-<span class="sourceLineNo">126</span><a name="line.126"></a>
-<span class="sourceLineNo">127</span>    ColumnCountGetFilter other = (ColumnCountGetFilter)o;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    return this.getLimit() == other.getLimit();<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>  @Override<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  public String toString() {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    return this.getClass().getSimpleName() + " " + this.limit;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>  }<a name="line.134"></a>
-<span class="sourceLineNo">135</span>}<a name="line.135"></a>
+<span class="sourceLineNo">024</span>import java.util.Objects;<a name="line.24"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.Cell;<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>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.29"></a>
+<span class="sourceLineNo">030</span><a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>/**<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * Simple filter that returns first N columns on row only.<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * This filter was written to test filters in Get and as soon as it gets<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * its quota of columns, {@link #filterAllRemaining()} returns true.  This<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * makes this filter unsuitable as a Scan filter.<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 ColumnCountGetFilter extends FilterBase {<a name="line.41"></a>
+<span class="sourceLineNo">042</span>  private int limit = 0;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>  private int count = 0;<a name="line.43"></a>
+<span class="sourceLineNo">044</span><a name="line.44"></a>
+<span class="sourceLineNo">045</span>  public ColumnCountGetFilter(final int n) {<a name="line.45"></a>
+<span class="sourceLineNo">046</span>    Preconditions.checkArgument(n &gt;= 0, "limit be positive %s", n);<a name="line.46"></a>
+<span class="sourceLineNo">047</span>    this.limit = n;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>  }<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>  public int getLimit() {<a name="line.50"></a>
+<span class="sourceLineNo">051</span>    return limit;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>  }<a name="line.52"></a>
+<span class="sourceLineNo">053</span><a name="line.53"></a>
+<span class="sourceLineNo">054</span>  @Override<a name="line.54"></a>
+<span class="sourceLineNo">055</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.56"></a>
+<span class="sourceLineNo">057</span>    if (filterAllRemaining()) return true;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    return false;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  }<a name="line.59"></a>
+<span class="sourceLineNo">060</span><a name="line.60"></a>
+<span class="sourceLineNo">061</span>  @Override<a name="line.61"></a>
+<span class="sourceLineNo">062</span>  public boolean filterAllRemaining() {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    return this.count &gt; this.limit;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  }<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>  @Deprecated<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  @Override<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    return filterCell(c);<a name="line.69"></a>
+<span class="sourceLineNo">070</span>  }<a name="line.70"></a>
+<span class="sourceLineNo">071</span><a name="line.71"></a>
+<span class="sourceLineNo">072</span>  @Override<a name="line.72"></a>
+<span class="sourceLineNo">073</span>  public ReturnCode filterCell(final Cell c) {<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    this.count++;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    return filterAllRemaining() ? ReturnCode.NEXT_COL : ReturnCode.INCLUDE_AND_NEXT_COL;<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>  @Override<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  public void reset() {<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    this.count = 0;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  }<a name="line.81"></a>
+<span class="sourceLineNo">082</span><a name="line.82"></a>
+<span class="sourceLineNo">083</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    Preconditions.checkArgument(filterArguments.size() == 1,<a name="line.84"></a>
+<span class="sourceLineNo">085</span>                                "Expected 1 but got: %s", filterArguments.size());<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    int limit = ParseFilter.convertByteArrayToInt(filterArguments.get(0));<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    return new ColumnCountGetFilter(limit);<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>  /**<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   * @return The filter serialized using pb<a name="line.91"></a>
+<span class="sourceLineNo">092</span>   */<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  @Override<a name="line.93"></a>
+<span class="sourceLineNo">094</span>  public byte [] toByteArray() {<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    FilterProtos.ColumnCountGetFilter.Builder builder =<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      FilterProtos.ColumnCountGetFilter.newBuilder();<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    builder.setLimit(this.limit);<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    return builder.build().toByteArray();<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>   * @param pbBytes A pb serialized {@link ColumnCountGetFilter} instance<a name="line.102"></a>
+<span class="sourceLineNo">103</span>   * @return An instance of {@link ColumnCountGetFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   * @throws org.apache.hadoop.hbase.exceptions.DeserializationException<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   * @see #toByteArray<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   */<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  public static ColumnCountGetFilter parseFrom(final byte [] pbBytes)<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  throws DeserializationException {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    FilterProtos.ColumnCountGetFilter proto;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    try {<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      proto = FilterProtos.ColumnCountGetFilter.parseFrom(pbBytes);<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    } catch (InvalidProtocolBufferException e) {<a name="line.112"></a>
+<span class="sourceLineNo">113</span>      throw new DeserializationException(e);<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    }<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    return new ColumnCountGetFilter(proto.getLimit());<a name="line.115"></a>
+<span class="sourceLineNo">116</span>  }<a name="line.116"></a>
+<span class="sourceLineNo">117</span><a name="line.117"></a>
+<span class="sourceLineNo">118</span>  /**<a name="line.118"></a>
+<span class="sourceLineNo">119</span>   * @param o the other filter to compare with<a name="line.119"></a>
+<span class="sourceLineNo">120</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.120"></a>
+<span class="sourceLineNo">121</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.121"></a>
+<span class="sourceLineNo">122</span>   */<a name="line.122"></a>
+<span class="sourceLineNo">123</span>  @Override<a name="line.123"></a>
+<span class="sourceLineNo">124</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    if (o == this) return true;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    if (!(o instanceof ColumnCountGetFilter)) return false;<a name="line.126"></a>
+<span class="sourceLineNo">127</span><a name="line.127"></a>
+<span class="sourceLineNo">128</span>    ColumnCountGetFilter other = (ColumnCountGetFilter)o;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    return this.getLimit() == other.getLimit();<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  }<a name="line.130"></a>
+<span class="sourceLineNo">131</span><a name="line.131"></a>
+<span class="sourceLineNo">132</span>  @Override<a name="line.132"></a>
+<span class="sourceLineNo">133</span>  public String toString() {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    return this.getClass().getSimpleName() + " " + this.limit;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>  }<a name="line.135"></a>
+<span class="sourceLineNo">136</span><a name="line.136"></a>
+<span class="sourceLineNo">137</span>  @Override<a name="line.137"></a>
+<span class="sourceLineNo">138</span>  public boolean equals(Object obj) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    if (obj == null || (!(obj instanceof ColumnCountGetFilter))) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>      return false;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    }<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    ColumnCountGetFilter f = (ColumnCountGetFilter) obj;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    return this.areSerializedFieldsEqual(f);<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  }<a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span>  @Override<a name="line.146"></a>
+<span class="sourceLineNo">147</span>  public int hashCode() {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    return Objects.hash(this.limit);<a name="line.148"></a>
+<span class="sourceLineNo">149</span>  }<a name="line.149"></a>
+<span class="sourceLineNo">150</span>}<a name="line.150"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html b/devapidocs/src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html
index 4fc026d..0b46d9f 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html
@@ -28,217 +28,232 @@
 <span class="sourceLineNo">020</span><a name="line.20"></a>
 <span class="sourceLineNo">021</span>import java.io.IOException;<a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.util.ArrayList;<a name="line.22"></a>
-<span class="sourceLineNo">023</span><a name="line.23"></a>
-<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.Cell;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.PrivateCellUtil;<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>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.30"></a>
-<span class="sourceLineNo">031</span><a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.34"></a>
-<span class="sourceLineNo">035</span><a name="line.35"></a>
-<span class="sourceLineNo">036</span>/**<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * A filter, based on the ColumnCountGetFilter, takes two arguments: limit and offset.<a name="line.37"></a>
-<span class="sourceLineNo">038</span> * This filter can be used for row-based indexing, where references to other tables are stored across many columns,<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * in order to efficient lookups and paginated results for end users. Only most recent versions are considered<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * for pagination.<a name="line.40"></a>
-<span class="sourceLineNo">041</span> */<a name="line.41"></a>
-<span class="sourceLineNo">042</span>@InterfaceAudience.Public<a name="line.42"></a>
-<span class="sourceLineNo">043</span>public class ColumnPaginationFilter extends FilterBase {<a name="line.43"></a>
-<span class="sourceLineNo">044</span><a name="line.44"></a>
-<span class="sourceLineNo">045</span>  private int limit = 0;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>  private int offset = -1;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>  private byte[] columnOffset = null;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>  private int count = 0;<a name="line.48"></a>
-<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span>  /**<a name="line.50"></a>
-<span class="sourceLineNo">051</span>   * Initializes filter with an integer offset and limit. The offset is arrived at<a name="line.51"></a>
-<span class="sourceLineNo">052</span>   * scanning sequentially and skipping entries. @limit number of columns are<a name="line.52"></a>
-<span class="sourceLineNo">053</span>   * then retrieved. If multiple column families are involved, the columns may be spread<a name="line.53"></a>
-<span class="sourceLineNo">054</span>   * across them.<a name="line.54"></a>
-<span class="sourceLineNo">055</span>   *<a name="line.55"></a>
-<span class="sourceLineNo">056</span>   * @param limit Max number of columns to return.<a name="line.56"></a>
-<span class="sourceLineNo">057</span>   * @param offset The integer offset where to start pagination.<a name="line.57"></a>
-<span class="sourceLineNo">058</span>   */<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  public ColumnPaginationFilter(final int limit, final int offset)<a name="line.59"></a>
-<span class="sourceLineNo">060</span>  {<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    Preconditions.checkArgument(limit &gt;= 0, "limit must be positive %s", limit);<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    Preconditions.checkArgument(offset &gt;= 0, "offset must be positive %s", offset);<a name="line.62"></a>
-<span class="sourceLineNo">063</span>    this.limit = limit;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    this.offset = offset;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  }<a name="line.65"></a>
-<span class="sourceLineNo">066</span><a name="line.66"></a>
-<span class="sourceLineNo">067</span>  /**<a name="line.67"></a>
-<span class="sourceLineNo">068</span>   * Initializes filter with a string/bookmark based offset and limit. The offset is arrived<a name="line.68"></a>
-<span class="sourceLineNo">069</span>   * at, by seeking to it using scanner hints. If multiple column families are involved,<a name="line.69"></a>
-<span class="sourceLineNo">070</span>   * pagination starts at the first column family which contains @columnOffset. Columns are<a name="line.70"></a>
-<span class="sourceLineNo">071</span>   * then retrieved sequentially upto @limit number of columns which maybe spread across<a name="line.71"></a>
-<span class="sourceLineNo">072</span>   * multiple column families, depending on how the scan is setup.<a name="line.72"></a>
-<span class="sourceLineNo">073</span>   *<a name="line.73"></a>
-<span class="sourceLineNo">074</span>   * @param limit Max number of columns to return.<a name="line.74"></a>
-<span class="sourceLineNo">075</span>   * @param columnOffset The string/bookmark offset on where to start pagination.<a name="line.75"></a>
-<span class="sourceLineNo">076</span>   */<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  public ColumnPaginationFilter(final int limit, final byte[] columnOffset) {<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    Preconditions.checkArgument(limit &gt;= 0, "limit must be positive %s", limit);<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    Preconditions.checkArgument(columnOffset != null,<a name="line.79"></a>
-<span class="sourceLineNo">080</span>                                "columnOffset must be non-null %s",<a name="line.80"></a>
-<span class="sourceLineNo">081</span>                                columnOffset);<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    this.limit = limit;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    this.columnOffset = columnOffset;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>  }<a name="line.84"></a>
-<span class="sourceLineNo">085</span><a name="line.85"></a>
-<span class="sourceLineNo">086</span>  /**<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   * @return limit<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   */<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  public int getLimit() {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    return limit;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  }<a name="line.91"></a>
-<span class="sourceLineNo">092</span><a name="line.92"></a>
-<span class="sourceLineNo">093</span>  /**<a name="line.93"></a>
-<span class="sourceLineNo">094</span>   * @return offset<a name="line.94"></a>
-<span class="sourceLineNo">095</span>   */<a name="line.95"></a>
-<span class="sourceLineNo">096</span>  public int getOffset() {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    return offset;<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>   * @return columnOffset<a name="line.101"></a>
-<span class="sourceLineNo">102</span>   */<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  public byte[] getColumnOffset() {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    return columnOffset;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  }<a name="line.105"></a>
-<span class="sourceLineNo">106</span><a name="line.106"></a>
-<span class="sourceLineNo">107</span>  @Override<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    return false;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  }<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>  @Override<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  @Deprecated<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    return filterCell(c);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
-<span class="sourceLineNo">118</span><a name="line.118"></a>
-<span class="sourceLineNo">119</span>  @Override<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  public ReturnCode filterCell(final Cell c)<a name="line.120"></a>
-<span class="sourceLineNo">121</span>  {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    if (columnOffset != null) {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      if (count &gt;= limit) {<a name="line.123"></a>
-<span class="sourceLineNo">124</span>        return ReturnCode.NEXT_ROW;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      }<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      int cmp = 0;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      // Only compare if no KV's have been seen so far.<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      if (count == 0) {<a name="line.128"></a>
-<span class="sourceLineNo">129</span>        cmp = CellUtil.compareQualifiers(c, this.columnOffset, 0, this.columnOffset.length);<a name="line.129"></a>
-<span class="sourceLineNo">130</span>      }<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      if (cmp &lt; 0) {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>        return ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      } else {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>        count++;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>        return ReturnCode.INCLUDE_AND_NEXT_COL;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      }<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    } else {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>      if (count &gt;= offset + limit) {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>        return ReturnCode.NEXT_ROW;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      }<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span>      ReturnCode code = count &lt; offset ? ReturnCode.NEXT_COL :<a name="line.142"></a>
-<span class="sourceLineNo">143</span>                                         ReturnCode.INCLUDE_AND_NEXT_COL;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      count++;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      return code;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    }<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  }<a name="line.147"></a>
-<span class="sourceLineNo">148</span><a name="line.148"></a>
-<span class="sourceLineNo">149</span>  @Override<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  public Cell getNextCellHint(Cell cell) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    return PrivateCellUtil.createFirstOnRowCol(cell, columnOffset, 0, columnOffset.length);<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>  @Override<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  public void reset()<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    this.count = 0;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  }<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    Preconditions.checkArgument(filterArguments.size() == 2,<a name="line.161"></a>
-<span class="sourceLineNo">162</span>                                "Expected 2 but got: %s", filterArguments.size());<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    int limit = ParseFilter.convertByteArrayToInt(filterArguments.get(0));<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    int offset = ParseFilter.convertByteArrayToInt(filterArguments.get(1));<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    return new ColumnPaginationFilter(limit, offset);<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 The filter serialized using pb<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   */<a name="line.170"></a>
-<span class="sourceLineNo">171</span>  @Override<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  public byte [] toByteArray() {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    FilterProtos.ColumnPaginationFilter.Builder builder =<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      FilterProtos.ColumnPaginationFilter.newBuilder();<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    builder.setLimit(this.limit);<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    if (this.offset &gt;= 0) {<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      builder.setOffset(this.offset);<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    }<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    if (this.columnOffset != null) {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      builder.setColumnOffset(UnsafeByteOperations.unsafeWrap(this.columnOffset));<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    }<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    return builder.build().toByteArray();<a name="line.182"></a>
-<span class="sourceLineNo">183</span>  }<a name="line.183"></a>
-<span class="sourceLineNo">184</span><a name="line.184"></a>
-<span class="sourceLineNo">185</span>  /**<a name="line.185"></a>
-<span class="sourceLineNo">186</span>   * @param pbBytes A pb serialized {@link ColumnPaginationFilter} instance<a name="line.186"></a>
-<span class="sourceLineNo">187</span>   * @return An instance of {@link ColumnPaginationFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>   * @throws DeserializationException<a name="line.188"></a>
-<span class="sourceLineNo">189</span>   * @see #toByteArray<a name="line.189"></a>
-<span class="sourceLineNo">190</span>   */<a name="line.190"></a>
-<span class="sourceLineNo">191</span>  public static ColumnPaginationFilter parseFrom(final byte [] pbBytes)<a name="line.191"></a>
-<span class="sourceLineNo">192</span>  throws DeserializationException {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    FilterProtos.ColumnPaginationFilter proto;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    try {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>      proto = FilterProtos.ColumnPaginationFilter.parseFrom(pbBytes);<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    } catch (InvalidProtocolBufferException e) {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      throw new DeserializationException(e);<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    }<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    if (proto.hasColumnOffset()) {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      return new ColumnPaginationFilter(proto.getLimit(),<a name="line.200"></a>
-<span class="sourceLineNo">201</span>                                        proto.getColumnOffset().toByteArray());<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    }<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    return new ColumnPaginationFilter(proto.getLimit(),proto.getOffset());<a name="line.203"></a>
-<span class="sourceLineNo">204</span>  }<a name="line.204"></a>
-<span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>  /**<a name="line.206"></a>
-<span class="sourceLineNo">207</span>   * @param o the other filter to compare with<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   */<a name="line.210"></a>
-<span class="sourceLineNo">211</span>  @Override<a name="line.211"></a>
-<span class="sourceLineNo">212</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    if (o == this) return true;<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    if (!(o instanceof ColumnPaginationFilter)) return false;<a name="line.214"></a>
-<span class="sourceLineNo">215</span><a name="line.215"></a>
-<span class="sourceLineNo">216</span>    ColumnPaginationFilter other = (ColumnPaginationFilter)o;<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    if (this.columnOffset != null) {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      return this.getLimit() == other.getLimit() &amp;&amp;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>          Bytes.equals(this.getColumnOffset(), other.getColumnOffset());<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    }<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    return this.getLimit() == other.getLimit() &amp;&amp; this.getOffset() == other.getOffset();<a name="line.221"></a>
-<span class="sourceLineNo">222</span>  }<a name="line.222"></a>
-<span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>  @Override<a name="line.224"></a>
-<span class="sourceLineNo">225</span>  public String toString() {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    if (this.columnOffset != null) {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      return (this.getClass().getSimpleName() + "(" + this.limit + ", " +<a name="line.227"></a>
-<span class="sourceLineNo">228</span>          Bytes.toStringBinary(this.columnOffset) + ")");<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    return String.format("%s (%d, %d)", this.getClass().getSimpleName(),<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        this.limit, this.offset);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
-<span class="sourceLineNo">233</span>}<a name="line.233"></a>
+<span class="sourceLineNo">023</span>import java.util.Objects;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.PrivateCellUtil;<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>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.31"></a>
+<span class="sourceLineNo">032</span><a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.35"></a>
+<span class="sourceLineNo">036</span><a name="line.36"></a>
+<span class="sourceLineNo">037</span>/**<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * A filter, based on the ColumnCountGetFilter, takes two arguments: limit and offset.<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * This filter can be used for row-based indexing, where references to other tables are stored across many columns,<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * in order to efficient lookups and paginated results for end users. Only most recent versions are considered<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * for pagination.<a name="line.41"></a>
+<span class="sourceLineNo">042</span> */<a name="line.42"></a>
+<span class="sourceLineNo">043</span>@InterfaceAudience.Public<a name="line.43"></a>
+<span class="sourceLineNo">044</span>public class ColumnPaginationFilter extends FilterBase {<a name="line.44"></a>
+<span class="sourceLineNo">045</span><a name="line.45"></a>
+<span class="sourceLineNo">046</span>  private int limit = 0;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>  private int offset = -1;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>  private byte[] columnOffset = null;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>  private int count = 0;<a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>  /**<a name="line.51"></a>
+<span class="sourceLineNo">052</span>   * Initializes filter with an integer offset and limit. The offset is arrived at<a name="line.52"></a>
+<span class="sourceLineNo">053</span>   * scanning sequentially and skipping entries. @limit number of columns are<a name="line.53"></a>
+<span class="sourceLineNo">054</span>   * then retrieved. If multiple column families are involved, the columns may be spread<a name="line.54"></a>
+<span class="sourceLineNo">055</span>   * across them.<a name="line.55"></a>
+<span class="sourceLineNo">056</span>   *<a name="line.56"></a>
+<span class="sourceLineNo">057</span>   * @param limit Max number of columns to return.<a name="line.57"></a>
+<span class="sourceLineNo">058</span>   * @param offset The integer offset where to start pagination.<a name="line.58"></a>
+<span class="sourceLineNo">059</span>   */<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  public ColumnPaginationFilter(final int limit, final int offset)<a name="line.60"></a>
+<span class="sourceLineNo">061</span>  {<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    Preconditions.checkArgument(limit &gt;= 0, "limit must be positive %s", limit);<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    Preconditions.checkArgument(offset &gt;= 0, "offset must be positive %s", offset);<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    this.limit = limit;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    this.offset = offset;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  }<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span>  /**<a name="line.68"></a>
+<span class="sourceLineNo">069</span>   * Initializes filter with a string/bookmark based offset and limit. The offset is arrived<a name="line.69"></a>
+<span class="sourceLineNo">070</span>   * at, by seeking to it using scanner hints. If multiple column families are involved,<a name="line.70"></a>
+<span class="sourceLineNo">071</span>   * pagination starts at the first column family which contains @columnOffset. Columns are<a name="line.71"></a>
+<span class="sourceLineNo">072</span>   * then retrieved sequentially upto @limit number of columns which maybe spread across<a name="line.72"></a>
+<span class="sourceLineNo">073</span>   * multiple column families, depending on how the scan is setup.<a name="line.73"></a>
+<span class="sourceLineNo">074</span>   *<a name="line.74"></a>
+<span class="sourceLineNo">075</span>   * @param limit Max number of columns to return.<a name="line.75"></a>
+<span class="sourceLineNo">076</span>   * @param columnOffset The string/bookmark offset on where to start pagination.<a name="line.76"></a>
+<span class="sourceLineNo">077</span>   */<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  public ColumnPaginationFilter(final int limit, final byte[] columnOffset) {<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    Preconditions.checkArgument(limit &gt;= 0, "limit must be positive %s", limit);<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    Preconditions.checkArgument(columnOffset != null,<a name="line.80"></a>
+<span class="sourceLineNo">081</span>                                "columnOffset must be non-null %s",<a name="line.81"></a>
+<span class="sourceLineNo">082</span>                                columnOffset);<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    this.limit = limit;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    this.columnOffset = columnOffset;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>  }<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>   * @return limit<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   */<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  public int getLimit() {<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    return limit;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  }<a name="line.92"></a>
+<span class="sourceLineNo">093</span><a name="line.93"></a>
+<span class="sourceLineNo">094</span>  /**<a name="line.94"></a>
+<span class="sourceLineNo">095</span>   * @return offset<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   */<a name="line.96"></a>
+<span class="sourceLineNo">097</span>  public int getOffset() {<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    return offset;<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>   * @return columnOffset<a name="line.102"></a>
+<span class="sourceLineNo">103</span>   */<a name="line.103"></a>
+<span class="sourceLineNo">104</span>  public byte[] getColumnOffset() {<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    return columnOffset;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  }<a name="line.106"></a>
+<span class="sourceLineNo">107</span><a name="line.107"></a>
+<span class="sourceLineNo">108</span>  @Override<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    return false;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  }<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>  @Override<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  @Deprecated<a name="line.115"></a>
+<span class="sourceLineNo">116</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    return filterCell(c);<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  }<a name="line.118"></a>
+<span class="sourceLineNo">119</span><a name="line.119"></a>
+<span class="sourceLineNo">120</span>  @Override<a name="line.120"></a>
+<span class="sourceLineNo">121</span>  public ReturnCode filterCell(final Cell c)<a name="line.121"></a>
+<span class="sourceLineNo">122</span>  {<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    if (columnOffset != null) {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>      if (count &gt;= limit) {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>        return ReturnCode.NEXT_ROW;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      }<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      int cmp = 0;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      // Only compare if no KV's have been seen so far.<a name="line.128"></a>
+<span class="sourceLineNo">129</span>      if (count == 0) {<a name="line.129"></a>
+<span class="sourceLineNo">130</span>        cmp = CellUtil.compareQualifiers(c, this.columnOffset, 0, this.columnOffset.length);<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      }<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      if (cmp &lt; 0) {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>        return ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>      } else {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>        count++;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>        return ReturnCode.INCLUDE_AND_NEXT_COL;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      }<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    } else {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      if (count &gt;= offset + limit) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>        return ReturnCode.NEXT_ROW;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      }<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>      ReturnCode code = count &lt; offset ? ReturnCode.NEXT_COL :<a name="line.143"></a>
+<span class="sourceLineNo">144</span>                                         ReturnCode.INCLUDE_AND_NEXT_COL;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>      count++;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>      return code;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    }<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  }<a name="line.148"></a>
+<span class="sourceLineNo">149</span><a name="line.149"></a>
+<span class="sourceLineNo">150</span>  @Override<a name="line.150"></a>
+<span class="sourceLineNo">151</span>  public Cell getNextCellHint(Cell cell) {<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    return PrivateCellUtil.createFirstOnRowCol(cell, columnOffset, 0, columnOffset.length);<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>  @Override<a name="line.155"></a>
+<span class="sourceLineNo">156</span>  public void reset()<a name="line.156"></a>
+<span class="sourceLineNo">157</span>  {<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    this.count = 0;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  }<a name="line.159"></a>
+<span class="sourceLineNo">160</span><a name="line.160"></a>
+<span class="sourceLineNo">161</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    Preconditions.checkArgument(filterArguments.size() == 2,<a name="line.162"></a>
+<span class="sourceLineNo">163</span>                                "Expected 2 but got: %s", filterArguments.size());<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    int limit = ParseFilter.convertByteArrayToInt(filterArguments.get(0));<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    int offset = ParseFilter.convertByteArrayToInt(filterArguments.get(1));<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    return new ColumnPaginationFilter(limit, offset);<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 The filter serialized using pb<a name="line.170"></a>
+<span class="sourceLineNo">171</span>   */<a name="line.171"></a>
+<span class="sourceLineNo">172</span>  @Override<a name="line.172"></a>
+<span class="sourceLineNo">173</span>  public byte [] toByteArray() {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    FilterProtos.ColumnPaginationFilter.Builder builder =<a name="line.174"></a>
+<span class="sourceLineNo">175</span>      FilterProtos.ColumnPaginationFilter.newBuilder();<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    builder.setLimit(this.limit);<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    if (this.offset &gt;= 0) {<a name="line.177"></a>
+<span class="sourceLineNo">178</span>      builder.setOffset(this.offset);<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    }<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    if (this.columnOffset != null) {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>      builder.setColumnOffset(UnsafeByteOperations.unsafeWrap(this.columnOffset));<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    }<a name="line.182"></a>
+<span class="sourceLineNo">183</span>    return builder.build().toByteArray();<a name="line.183"></a>
+<span class="sourceLineNo">184</span>  }<a name="line.184"></a>
+<span class="sourceLineNo">185</span><a name="line.185"></a>
+<span class="sourceLineNo">186</span>  /**<a name="line.186"></a>
+<span class="sourceLineNo">187</span>   * @param pbBytes A pb serialized {@link ColumnPaginationFilter} instance<a name="line.187"></a>
+<span class="sourceLineNo">188</span>   * @return An instance of {@link ColumnPaginationFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>   * @throws DeserializationException<a name="line.189"></a>
+<span class="sourceLineNo">190</span>   * @see #toByteArray<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  public static ColumnPaginationFilter parseFrom(final byte [] pbBytes)<a name="line.192"></a>
+<span class="sourceLineNo">193</span>  throws DeserializationException {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    FilterProtos.ColumnPaginationFilter proto;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    try {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>      proto = FilterProtos.ColumnPaginationFilter.parseFrom(pbBytes);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    } catch (InvalidProtocolBufferException e) {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>      throw new DeserializationException(e);<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    }<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    if (proto.hasColumnOffset()) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      return new ColumnPaginationFilter(proto.getLimit(),<a name="line.201"></a>
+<span class="sourceLineNo">202</span>                                        proto.getColumnOffset().toByteArray());<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    }<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    return new ColumnPaginationFilter(proto.getLimit(),proto.getOffset());<a name="line.204"></a>
+<span class="sourceLineNo">205</span>  }<a name="line.205"></a>
+<span class="sourceLineNo">206</span><a name="line.206"></a>
+<span class="sourceLineNo">207</span>  /**<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * @param o the other filter to compare with<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.209"></a>
+<span class="sourceLineNo">210</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.210"></a>
+<span class="sourceLineNo">211</span>   */<a name="line.211"></a>
+<span class="sourceLineNo">212</span>  @Override<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    if (o == this) return true;<a name="line.214"></a>
+<span class="sourceLineNo">215</span>    if (!(o instanceof ColumnPaginationFilter)) return false;<a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216"></a>
+<span class="sourceLineNo">217</span>    ColumnPaginationFilter other = (ColumnPaginationFilter)o;<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    if (this.columnOffset != null) {<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      return this.getLimit() == other.getLimit() &amp;&amp;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>          Bytes.equals(this.getColumnOffset(), other.getColumnOffset());<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    }<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    return this.getLimit() == other.getLimit() &amp;&amp; this.getOffset() == other.getOffset();<a name="line.222"></a>
+<span class="sourceLineNo">223</span>  }<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  @Override<a name="line.225"></a>
+<span class="sourceLineNo">226</span>  public String toString() {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    if (this.columnOffset != null) {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>      return (this.getClass().getSimpleName() + "(" + this.limit + ", " +<a name="line.228"></a>
+<span class="sourceLineNo">229</span>          Bytes.toStringBinary(this.columnOffset) + ")");<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    }<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    return String.format("%s (%d, %d)", this.getClass().getSimpleName(),<a name="line.231"></a>
+<span class="sourceLineNo">232</span>        this.limit, this.offset);<a name="line.232"></a>
+<span class="sourceLineNo">233</span>  }<a name="line.233"></a>
+<span class="sourceLineNo">234</span><a name="line.234"></a>
+<span class="sourceLineNo">235</span>  @Override<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  public boolean equals(Object obj) {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    if (obj == null || (!(obj instanceof ColumnPaginationFilter))) {<a name="line.237"></a>
+<span class="sourceLineNo">238</span>      return false;<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    }<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    ColumnPaginationFilter f = (ColumnPaginationFilter) obj;<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    return this.areSerializedFieldsEqual(f);<a name="line.241"></a>
+<span class="sourceLineNo">242</span>  }<a name="line.242"></a>
+<span class="sourceLineNo">243</span><a name="line.243"></a>
+<span class="sourceLineNo">244</span>  @Override<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  public int hashCode() {<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    return Objects.hash(this.limit, this.offset);<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  }<a name="line.247"></a>
+<span class="sourceLineNo">248</span>}<a name="line.248"></a>
 
 
 


[20/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/ColumnValueFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/ColumnValueFilter.html b/devapidocs/org/apache/hadoop/hbase/filter/ColumnValueFilter.html
index dab230a..2ccd245 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/ColumnValueFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/ColumnValueFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":9,"i12":10,"i13":10,"i14":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":9,"i14":10,"i15":10,"i16":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.50">ColumnValueFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.51">ColumnValueFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></pre>
 <div class="block">Different from <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter"><code>SingleColumnValueFilter</code></a> which returns an <b>entire</b> row
  when specified condition is matched, <a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter"><code>ColumnValueFilter</code></a> return the matched cell only.
@@ -254,59 +254,67 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 </td>
 </tr>
 <tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html#getComparator--">getComparator</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html#getCompareOperator--">getCompareOperator</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html#getFamily--">getFamily</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html#getQualifier--">getQualifier</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html#isFamilyEssential-byte:A-">isFamilyEssential</a></span>(byte[]&nbsp;name)</code>
 <div class="block">By default, we require all scan's column families to be present.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnValueFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>
 <div class="block">Parse protobuf bytes to a ColumnValueFilter</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html#reset--">reset</a></span>()</code>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
@@ -332,7 +340,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -354,7 +362,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>family</h4>
-<pre>private final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.51">family</a></pre>
+<pre>private final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.52">family</a></pre>
 </li>
 </ul>
 <a name="qualifier">
@@ -363,7 +371,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>qualifier</h4>
-<pre>private final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.52">qualifier</a></pre>
+<pre>private final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.53">qualifier</a></pre>
 </li>
 </ul>
 <a name="op">
@@ -372,7 +380,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>op</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.53">op</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.54">op</a></pre>
 </li>
 </ul>
 <a name="comparator">
@@ -381,7 +389,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>comparator</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.54">comparator</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.55">comparator</a></pre>
 </li>
 </ul>
 <a name="columnFound">
@@ -390,7 +398,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>columnFound</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.58">columnFound</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.59">columnFound</a></pre>
 </li>
 </ul>
 </li>
@@ -407,7 +415,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>ColumnValueFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.60">ColumnValueFilter</a>(byte[]&nbsp;family,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.61">ColumnValueFilter</a>(byte[]&nbsp;family,
                          byte[]&nbsp;qualifier,
                          <a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                          byte[]&nbsp;value)</pre>
@@ -419,7 +427,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ColumnValueFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.65">ColumnValueFilter</a>(byte[]&nbsp;family,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.66">ColumnValueFilter</a>(byte[]&nbsp;family,
                          byte[]&nbsp;qualifier,
                          <a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                          <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator)</pre>
@@ -439,7 +447,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompareOperator</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.77">getCompareOperator</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.78">getCompareOperator</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>operator</dd>
@@ -452,7 +460,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getComparator</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.84">getComparator</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.85">getComparator</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the comparator</dd>
@@ -465,7 +473,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamily</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.91">getFamily</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.92">getFamily</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the column family</dd>
@@ -478,7 +486,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getQualifier</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.98">getQualifier</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.99">getQualifier</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the qualifier</dd>
@@ -491,7 +499,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.103">reset</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.104">reset</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#reset--">FilterBase</a></code></span></div>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
@@ -515,7 +523,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.108">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.109">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -543,7 +551,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.113">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.114">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -580,7 +588,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>compareValue</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.133">compareValue</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.134">compareValue</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                              <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                              <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block">This method is used to determine a cell should be included or filtered out.</div>
@@ -600,7 +608,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.147">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.148">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 <div class="block">Creating this filter by reflection, it is used by <a href="../../../../../org/apache/hadoop/hbase/filter/ParseFilter.html" title="class in org.apache.hadoop.hbase.filter"><code>ParseFilter</code></a>,</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -616,7 +624,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>convert</h4>
-<pre>org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos.ColumnValueFilter&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.171">convert</a>()</pre>
+<pre>org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos.ColumnValueFilter&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.172">convert</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>A pb instance to represent this instance.</dd>
@@ -629,7 +637,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnValueFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.189">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnValueFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.190">parseFrom</a>(byte[]&nbsp;pbBytes)
                                    throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
 <div class="block">Parse protobuf bytes to a ColumnValueFilter</div>
 <dl>
@@ -648,7 +656,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.210">toByteArray</a>()
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.211">toByteArray</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toByteArray--">FilterBase</a></code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
@@ -668,7 +676,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>areSerializedFieldsEqual</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.215">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.216">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">FilterBase</a></code></span></div>
 <div class="block">Default implementation so that writers of custom filters aren't forced to implement.</div>
 <dl>
@@ -686,7 +694,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>isFamilyEssential</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.230">isFamilyEssential</a>(byte[]&nbsp;name)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.231">isFamilyEssential</a>(byte[]&nbsp;name)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#isFamilyEssential-byte:A-">FilterBase</a></code></span></div>
 <div class="block">By default, we require all scan's column families to be present. Our
@@ -710,10 +718,10 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.235">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.236">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toString--">FilterBase</a></code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -722,6 +730,32 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.244">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html#line.253">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html b/devapidocs/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html
index a3ee332..beb24f1 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
  @InterfaceAudience.Public
-public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.65">CompareFilter.CompareOp</a>
+public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.66">CompareFilter.CompareOp</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&gt;</pre>
 <div class="block">Comparison operators. For filters only!
  Use <a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase"><code>CompareOperator</code></a> otherwise.
@@ -256,7 +256,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>LESS</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.67">LESS</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.68">LESS</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">less than</div>
 </li>
@@ -267,7 +267,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>LESS_OR_EQUAL</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.69">LESS_OR_EQUAL</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.70">LESS_OR_EQUAL</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">less than or equal to</div>
 </li>
@@ -278,7 +278,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>EQUAL</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.71">EQUAL</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.72">EQUAL</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">equals</div>
 </li>
@@ -289,7 +289,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>NOT_EQUAL</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.73">NOT_EQUAL</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.74">NOT_EQUAL</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">not equal</div>
 </li>
@@ -300,7 +300,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>GREATER_OR_EQUAL</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.75">GREATER_OR_EQUAL</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.76">GREATER_OR_EQUAL</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">greater than or equal to</div>
 </li>
@@ -311,7 +311,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>GREATER</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.77">GREATER</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.78">GREATER</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">greater than</div>
 </li>
@@ -322,7 +322,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>NO_OP</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.79">NO_OP</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html#line.80">NO_OP</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">no operation</div>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/CompareFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/CompareFilter.html b/devapidocs/org/apache/hadoop/hbase/filter/CompareFilter.html
index 8a60c12..d5f7aac 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/CompareFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/CompareFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":9,"i2":9,"i3":42,"i4":10,"i5":42,"i6":10,"i7":42,"i8":10,"i9":42,"i10":10,"i11":10,"i12":9,"i13":10,"i14":10,"i15":10,"i16":42,"i17":10};
+var methods = {"i0":10,"i1":9,"i2":9,"i3":42,"i4":10,"i5":42,"i6":10,"i7":42,"i8":10,"i9":42,"i10":10,"i11":10,"i12":10,"i13":9,"i14":10,"i15":10,"i16":10,"i17":42,"i18":10,"i19":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -124,7 +124,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.56">CompareFilter</a>
+public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.57">CompareFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></pre>
 <div class="block">This is a generic filter to be used to filter by comparison.  It takes an
  operator (equal, greater, not equal, etc) and a byte [] comparator.
@@ -336,24 +336,28 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#convert--">convert</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i12" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</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/filter/CompareFilter.html#extractArguments-java.util.ArrayList-">extractArguments</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#getComparator--">getComparator</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#getCompareOperator--">getCompareOperator</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#getOperator--">getOperator</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -361,7 +365,11 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 </div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
@@ -387,7 +395,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -409,7 +417,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>op</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.82">op</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.83">op</a></pre>
 </li>
 </ul>
 <a name="comparator">
@@ -418,7 +426,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>comparator</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.83">comparator</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.84">comparator</a></pre>
 </li>
 </ul>
 </li>
@@ -436,7 +444,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <li class="blockList">
 <h4>CompareFilter</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.92">CompareFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
+public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.93">CompareFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
                                  <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0. Use other constructor.</span></div>
 <div class="block">Constructor.</div>
@@ -453,7 +461,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Comp
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CompareFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.102">CompareFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.103">CompareFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                      <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator)</pre>
 <div class="block">Constructor.</div>
 <dl>
@@ -478,7 +486,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Comp
 <li class="blockList">
 <h4>getOperator</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.113">getOperator</a>()</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.114">getOperator</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 2.0.0. Will be removed in 3.0.0. Use <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#getCompareOperator--"><code>getCompareOperator()</code></a> instead.</span></div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -492,7 +500,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompareOperator</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.117">getCompareOperator</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.118">getCompareOperator</a>()</pre>
 </li>
 </ul>
 <a name="getComparator--">
@@ -501,7 +509,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter
 <ul class="blockList">
 <li class="blockList">
 <h4>getComparator</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.124">getComparator</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.125">getComparator</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the comparator</dd>
@@ -514,7 +522,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.129">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.130">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -543,7 +551,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter
 <li class="blockList">
 <h4>compareRow</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.139">compareRow</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
+protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.140">compareRow</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
                                          <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                                          <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0.
@@ -556,7 +564,7 @@ protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/h
 <ul class="blockList">
 <li class="blockList">
 <h4>compareRow</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.148">compareRow</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.149">compareRow</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                              <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                              <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 </li>
@@ -568,7 +576,7 @@ protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/h
 <li class="blockList">
 <h4>compareFamily</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.162">compareFamily</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
+protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.163">compareFamily</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
                                             <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                                             <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0.
@@ -581,7 +589,7 @@ protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/h
 <ul class="blockList">
 <li class="blockList">
 <h4>compareFamily</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.171">compareFamily</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.172">compareFamily</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                                 <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                                 <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 </li>
@@ -593,7 +601,7 @@ protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/h
 <li class="blockList">
 <h4>compareQualifier</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.185">compareQualifier</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
+protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.186">compareQualifier</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
                                                <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                                                <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0.
@@ -606,7 +614,7 @@ protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/h
 <ul class="blockList">
 <li class="blockList">
 <h4>compareQualifier</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.195">compareQualifier</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.196">compareQualifier</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                                    <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                                    <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 </li>
@@ -618,7 +626,7 @@ protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/h
 <li class="blockList">
 <h4>compareValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.210">compareValue</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
+protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.211">compareValue</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
                                            <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                                            <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0.
@@ -631,7 +639,7 @@ protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/h
 <ul class="blockList">
 <li class="blockList">
 <h4>compareValue</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.220">compareValue</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.221">compareValue</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                                <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                                <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 </li>
@@ -642,7 +650,7 @@ protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/h
 <ul class="blockList">
 <li class="blockList">
 <h4>compare</h4>
-<pre>static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.229">compare</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;op,
+<pre>static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.230">compare</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;op,
                        int&nbsp;compareResult)</pre>
 </li>
 </ul>
@@ -652,7 +660,7 @@ protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/h
 <ul class="blockList">
 <li class="blockList">
 <h4>compare</h4>
-<pre>static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.248">compare</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
+<pre>static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.249">compare</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                        int&nbsp;compareResult)</pre>
 </li>
 </ul>
@@ -662,7 +670,7 @@ protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/h
 <ul class="blockList">
 <li class="blockList">
 <h4>extractArguments</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</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;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.268">extractArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</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;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.269">extractArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="convert--">
@@ -671,7 +679,7 @@ protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/h
 <ul class="blockList">
 <li class="blockList">
 <h4>convert</h4>
-<pre>org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos.CompareFilter&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.292">convert</a>()</pre>
+<pre>org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos.CompareFilter&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.293">convert</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>A pb instance to represent this instance.</dd>
@@ -684,7 +692,7 @@ protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/h
 <ul class="blockList">
 <li class="blockList">
 <h4>areSerializedFieldsEqual</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.308">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.309">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">FilterBase</a></code></span></div>
 <div class="block">Default implementation so that writers of custom filters aren't forced to implement.</div>
 <dl>
@@ -701,10 +709,10 @@ protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/h
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.318">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.319">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toString--">FilterBase</a></code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -713,6 +721,32 @@ protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/h
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.327">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.336">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>


[10/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/TimestampsFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/TimestampsFilter.html b/devapidocs/org/apache/hadoop/hbase/filter/TimestampsFilter.html
index dae8455..f103137 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/TimestampsFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/TimestampsFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":9,"i2":10,"i3":42,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":9,"i10":10,"i11":10,"i12":10};
+var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":42,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":9,"i12":10,"i13":10,"i14":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.45">TimestampsFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.46">TimestampsFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></pre>
 <div class="block">Filter that returns only cells whose timestamp (version) is
  in the specified list of timestamps (versions).
@@ -239,60 +239,68 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#getMin--">getMin</a></span>()</code>
 <div class="block">Gets the minimum timestamp requested by filter.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)</code>
 <div class="block">Pick the next cell that the scanner should seek to.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#getTimestamps--">getTimestamps</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#init--">init</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html" title="class in org.apache.hadoop.hbase.filter">TimestampsFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#toString-int-">toString</a></span>(int&nbsp;maxTimestamps)</code>&nbsp;</td>
 </tr>
@@ -316,7 +324,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -338,7 +346,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>canHint</h4>
-<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.47">canHint</a></pre>
+<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.48">canHint</a></pre>
 </li>
 </ul>
 <a name="timestamps">
@@ -347,7 +355,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>timestamps</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/TreeSet.html?is-external=true" title="class or interface in java.util">TreeSet</a>&lt;<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>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.48">timestamps</a></pre>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/TreeSet.html?is-external=true" title="class or interface in java.util">TreeSet</a>&lt;<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>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.49">timestamps</a></pre>
 </li>
 </ul>
 <a name="MAX_LOG_TIMESTAMPS">
@@ -356,7 +364,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>MAX_LOG_TIMESTAMPS</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.49">MAX_LOG_TIMESTAMPS</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.50">MAX_LOG_TIMESTAMPS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.filter.TimestampsFilter.MAX_LOG_TIMESTAMPS">Constant Field Values</a></dd>
@@ -369,7 +377,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>minTimestamp</h4>
-<pre>long <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.53">minTimestamp</a></pre>
+<pre>long <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.54">minTimestamp</a></pre>
 </li>
 </ul>
 </li>
@@ -386,7 +394,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>TimestampsFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.59">TimestampsFilter</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;<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>&gt;&nbsp;timestamps)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.60">TimestampsFilter</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;<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>&gt;&nbsp;timestamps)</pre>
 <div class="block">Constructor for filter that retains only the specified timestamps in the list.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -400,7 +408,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TimestampsFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.74">TimestampsFilter</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;<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>&gt;&nbsp;timestamps,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.75">TimestampsFilter</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;<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>&gt;&nbsp;timestamps,
                         boolean&nbsp;canHint)</pre>
 <div class="block">Constructor for filter that retains only those
  cells whose timestamp (version) is in the specified
@@ -429,7 +437,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getTimestamps</h4>
-<pre>public&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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.86">getTimestamps</a>()</pre>
+<pre>public&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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.87">getTimestamps</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the list of timestamps</dd>
@@ -442,7 +450,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>init</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.92">init</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.93">init</a>()</pre>
 </li>
 </ul>
 <a name="getMin--">
@@ -451,7 +459,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getMin</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.102">getMin</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.103">getMin</a>()</pre>
 <div class="block">Gets the minimum timestamp requested by filter.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -465,7 +473,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.107">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.108">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -494,7 +502,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.114">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.115">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -529,7 +537,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.119">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.120">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -563,7 +571,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>getNextCellHint</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.140">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.141">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Pick the next cell that the scanner should seek to. Since this can skip any number of cells
  any of which can be a delete this can resurect old data.
@@ -586,7 +594,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.165">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.166">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -595,7 +603,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.178">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.179">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toByteArray--">FilterBase</a></code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -612,7 +620,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html" title="class in org.apache.hadoop.hbase.filter">TimestampsFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.192">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html" title="class in org.apache.hadoop.hbase.filter">TimestampsFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.193">parseFrom</a>(byte[]&nbsp;pbBytes)
                                   throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -632,7 +640,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>areSerializedFieldsEqual</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.210">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.211">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">FilterBase</a></code></span></div>
 <div class="block">Default implementation so that writers of custom filters aren't forced to implement.</div>
 <dl>
@@ -652,7 +660,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.219">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.220">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toString--">FilterBase</a></code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -664,10 +672,36 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString-int-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.223">toString</a>(int&nbsp;maxTimestamps)</pre>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.224">toString</a>(int&nbsp;maxTimestamps)</pre>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.244">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.253">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/ValueFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/ValueFilter.html b/devapidocs/org/apache/hadoop/hbase/filter/ValueFilter.html
index 7540d49..f46df32 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/ValueFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/ValueFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":9,"i2":10,"i3":42,"i4":9,"i5":10};
+var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":42,"i5":10,"i6":9,"i7":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -125,7 +125,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.47">ValueFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.48">ValueFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></pre>
 <div class="block">This filter is used to filter based on column value. It takes an
  operator (equal, greater, not equal, etc) and a byte [] comparator for the
@@ -240,22 +240,30 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ValueFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ValueFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ValueFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ValueFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ValueFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/ValueFilter.html" title="class in org.apache.hadoop.hbase.filter">ValueFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ValueFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ValueFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
@@ -288,7 +296,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -310,7 +318,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>ValueFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.56">ValueFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;valueCompareOp,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.57">ValueFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;valueCompareOp,
                    <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;valueComparator)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0.
  Use <a href="../../../../../org/apache/hadoop/hbase/filter/ValueFilter.html#ValueFilter-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-"><code>ValueFilter(CompareOperator, ByteArrayComparable)</code></a></span></div>
@@ -328,7 +336,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ValueFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.66">ValueFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;valueCompareOp,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.67">ValueFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;valueCompareOp,
                    <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;valueComparator)</pre>
 <div class="block">Constructor.</div>
 <dl>
@@ -353,7 +361,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.73">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.74">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -388,7 +396,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.78">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.79">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -422,7 +430,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.85">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.86">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -431,7 +439,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.97">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.98">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toByteArray--">FilterBase</a></code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -448,7 +456,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ValueFilter.html" title="class in org.apache.hadoop.hbase.filter">ValueFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.110">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ValueFilter.html" title="class in org.apache.hadoop.hbase.filter">ValueFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.111">parseFrom</a>(byte[]&nbsp;pbBytes)
                              throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -465,10 +473,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>areSerializedFieldsEqual</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.136">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.137">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">FilterBase</a></code></span></div>
 <div class="block">Default implementation so that writers of custom filters aren't forced to implement.</div>
 <dl>
@@ -480,6 +488,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.145">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#equals-java.lang.Object-">equals</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.154">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#hashCode--">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/WhileMatchFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/WhileMatchFilter.html b/devapidocs/org/apache/hadoop/hbase/filter/WhileMatchFilter.html
index ec095f5..8bdb95c 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/WhileMatchFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/WhileMatchFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":42,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":9,"i12":10,"i13":10,"i14":10,"i15":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":42,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":9,"i14":10,"i15":10,"i16":10,"i17":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.40">WhileMatchFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.41">WhileMatchFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></pre>
 <div class="block">A wrapper filter that returns true from <a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#filterAllRemaining--"><code>filterAllRemaining()</code></a> as soon
  as the wrapped filters <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-byte:A-int-int-"><code>Filter.filterRowKey(byte[], int, int)</code></a>,
@@ -220,24 +220,28 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#filterAllRemaining--">filterAllRemaining</a></span>()</code>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#filterRow--">filterRow</a></span>()</code>
 <div class="block">Filters that never filter by rows based on previously gathered state from
@@ -245,7 +249,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
  never filters a row.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#filterRowKey-byte:A-int-int-">filterRowKey</a></span>(byte[]&nbsp;buffer,
             int&nbsp;offset,
@@ -254,53 +258,57 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
  never filters anything.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#getFilter--">getFilter</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#hasFilterRow--">hasFilterRow</a></span>()</code>
 <div class="block">Fitlers that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#isFamilyEssential-byte:A-">isFamilyEssential</a></span>(byte[]&nbsp;name)</code>
 <div class="block">By default, we require all scan's column families to be present.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html" title="class in org.apache.hadoop.hbase.filter">WhileMatchFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#reset--">reset</a></span>()</code>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>
 <div class="block">By default no transformation takes place
@@ -328,7 +336,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -350,7 +358,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>filterAllRemaining</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.41">filterAllRemaining</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.42">filterAllRemaining</a></pre>
 </li>
 </ul>
 <a name="filter">
@@ -359,7 +367,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>filter</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.42">filter</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.43">filter</a></pre>
 </li>
 </ul>
 </li>
@@ -376,7 +384,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>WhileMatchFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.44">WhileMatchFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.45">WhileMatchFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</pre>
 </li>
 </ul>
 </li>
@@ -393,7 +401,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getFilter</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.48">getFilter</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.49">getFilter</a>()</pre>
 </li>
 </ul>
 <a name="reset--">
@@ -402,7 +410,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.53">reset</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.54">reset</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#reset--">FilterBase</a></code></span></div>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
@@ -426,7 +434,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>changeFAR</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.57">changeFAR</a>(boolean&nbsp;value)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.58">changeFAR</a>(boolean&nbsp;value)</pre>
 </li>
 </ul>
 <a name="filterAllRemaining--">
@@ -435,7 +443,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>filterAllRemaining</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.62">filterAllRemaining</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.63">filterAllRemaining</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterAllRemaining--">FilterBase</a></code></span></div>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
@@ -461,7 +469,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.67">filterRowKey</a>(byte[]&nbsp;buffer,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.68">filterRowKey</a>(byte[]&nbsp;buffer,
                             int&nbsp;offset,
                             int&nbsp;length)
                      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>
@@ -494,7 +502,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.74">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.75">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -523,7 +531,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.83">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.84">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
                                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
@@ -561,7 +569,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.88">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.89">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -598,7 +606,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>transformCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.95">transformCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.96">transformCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)
                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#transformCell-org.apache.hadoop.hbase.Cell-">FilterBase</a></code></span></div>
 <div class="block">By default no transformation takes place
@@ -631,7 +639,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.100">filterRow</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.101">filterRow</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterRow--">FilterBase</a></code></span></div>
 <div class="block">Filters that never filter by rows based on previously gathered state from
@@ -660,7 +668,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>hasFilterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.107">hasFilterRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.108">hasFilterRow</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#hasFilterRow--">FilterBase</a></code></span></div>
 <div class="block">Fitlers that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.
@@ -681,7 +689,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.115">toByteArray</a>()
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.116">toByteArray</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toByteArray--">FilterBase</a></code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
@@ -701,7 +709,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html" title="class in org.apache.hadoop.hbase.filter">WhileMatchFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.128">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html" title="class in org.apache.hadoop.hbase.filter">WhileMatchFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.129">parseFrom</a>(byte[]&nbsp;pbBytes)
                                   throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -721,7 +729,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>areSerializedFieldsEqual</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.149">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.150">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">FilterBase</a></code></span></div>
 <div class="block">Default implementation so that writers of custom filters aren't forced to implement.</div>
 <dl>
@@ -741,7 +749,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>isFamilyEssential</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.158">isFamilyEssential</a>(byte[]&nbsp;name)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.159">isFamilyEssential</a>(byte[]&nbsp;name)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#isFamilyEssential-byte:A-">FilterBase</a></code></span></div>
 <div class="block">By default, we require all scan's column families to be present. Our
@@ -765,10 +773,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.163">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.164">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toString--">FilterBase</a></code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -777,6 +785,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.169">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.178">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
index a5df4f5..3039625 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
@@ -183,14 +183,14 @@
 <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.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FilterList.Operator</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterWrapper.FilterRowRetCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FilterWrapper.FilterRowRetCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.SatisfiesCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/BitComparator.BitwiseOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">BitComparator.BitwiseOp</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.Order</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/RegexStringComparator.EngineType.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">RegexStringComparator.EngineType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.SatisfiesCode</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">CompareFilter.CompareOp</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">Filter.ReturnCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.Order</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FilterList.Operator</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterWrapper.FilterRowRetCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FilterWrapper.FilterRowRetCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/BitComparator.BitwiseOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">BitComparator.BitwiseOp</span></a></li>
 </ul>
 </li>
 </ul>


[12/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/RandomRowFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/RandomRowFilter.html b/devapidocs/org/apache/hadoop/hbase/filter/RandomRowFilter.html
index ee6b5ad..919255b 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/RandomRowFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/RandomRowFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":42,"i4":10,"i5":10,"i6":10,"i7":10,"i8":9,"i9":10,"i10":10,"i11":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":42,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":9,"i11":10,"i12":10,"i13":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.36">RandomRowFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.37">RandomRowFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></pre>
 <div class="block">A filter that includes rows based on a chance.</div>
 </li>
@@ -217,24 +217,28 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#filterAllRemaining--">filterAllRemaining</a></span>()</code>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#filterRow--">filterRow</a></span>()</code>
 <div class="block">Filters that never filter by rows based on previously gathered state from
@@ -242,41 +246,45 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
  never filters a row.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>float</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#getChance--">getChance</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#hasFilterRow--">hasFilterRow</a></span>()</code>
 <div class="block">Fitlers that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html" title="class in org.apache.hadoop.hbase.filter">RandomRowFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#reset--">reset</a></span>()</code>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#setChance-float-">setChance</a></span>(float&nbsp;chance)</code>
 <div class="block">Set the chance that a row is included.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
@@ -302,7 +310,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -324,7 +332,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>random</h4>
-<pre>protected static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.37">random</a></pre>
+<pre>protected static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.38">random</a></pre>
 </li>
 </ul>
 <a name="chance">
@@ -333,7 +341,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>chance</h4>
-<pre>protected&nbsp;float <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.39">chance</a></pre>
+<pre>protected&nbsp;float <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.40">chance</a></pre>
 </li>
 </ul>
 <a name="filterOutRow">
@@ -342,7 +350,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>filterOutRow</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.40">filterOutRow</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.41">filterOutRow</a></pre>
 </li>
 </ul>
 </li>
@@ -359,7 +367,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RandomRowFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.47">RandomRowFilter</a>(float&nbsp;chance)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.48">RandomRowFilter</a>(float&nbsp;chance)</pre>
 <div class="block">Create a new filter with a specified chance for a row to be included.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -381,7 +389,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getChance</h4>
-<pre>public&nbsp;float&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.54">getChance</a>()</pre>
+<pre>public&nbsp;float&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.55">getChance</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>The chance that a row gets included.</dd>
@@ -394,7 +402,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>setChance</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.63">setChance</a>(float&nbsp;chance)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.64">setChance</a>(float&nbsp;chance)</pre>
 <div class="block">Set the chance that a row is included.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -408,7 +416,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>filterAllRemaining</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.68">filterAllRemaining</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.69">filterAllRemaining</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterAllRemaining--">FilterBase</a></code></span></div>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.
@@ -432,7 +440,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.74">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.75">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -467,7 +475,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.79">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.80">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -501,7 +509,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.87">filterRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.88">filterRow</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterRow--">FilterBase</a></code></span></div>
 <div class="block">Filters that never filter by rows based on previously gathered state from
  <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-"><code>Filter.filterCell(Cell)</code></a> can inherit this implementation that
@@ -527,7 +535,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>hasFilterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.92">hasFilterRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.93">hasFilterRow</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#hasFilterRow--">FilterBase</a></code></span></div>
 <div class="block">Fitlers that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.
@@ -548,7 +556,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.97">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.98">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
  false, each KeyValue in the row will be passed to <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-"><code>Filter.filterCell(Cell)</code></a> below.
@@ -573,7 +581,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.112">reset</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.113">reset</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#reset--">FilterBase</a></code></span></div>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.
@@ -594,7 +602,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.120">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.121">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toByteArray--">FilterBase</a></code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -611,7 +619,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html" title="class in org.apache.hadoop.hbase.filter">RandomRowFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.133">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/RandomRowFilter.html" title="class in org.apache.hadoop.hbase.filter">RandomRowFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.134">parseFrom</a>(byte[]&nbsp;pbBytes)
                                  throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -628,10 +636,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>areSerializedFieldsEqual</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.150">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.151">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">FilterBase</a></code></span></div>
 <div class="block">Default implementation so that writers of custom filters aren't forced to implement.</div>
 <dl>
@@ -645,6 +653,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.160">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html#line.169">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/RowFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/RowFilter.html b/devapidocs/org/apache/hadoop/hbase/filter/RowFilter.html
index 285ad4b..e5fd920 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/RowFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/RowFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":9,"i2":10,"i3":42,"i4":10,"i5":10,"i6":9,"i7":10,"i8":10};
+var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":42,"i5":10,"i6":10,"i7":10,"i8":9,"i9":10,"i10":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -125,7 +125,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.47">RowFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.48">RowFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></pre>
 <div class="block">This filter is used to filter based on the key. It takes an operator
  (equal, greater, not equal, etc) and a byte [] comparator for the row,
@@ -251,18 +251,22 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#filterRow--">filterRow</a></span>()</code>
 <div class="block">Filters that never filter by rows based on previously gathered state from
@@ -270,24 +274,28 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
  never filters a row.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html" title="class in org.apache.hadoop.hbase.filter">RowFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#reset--">reset</a></span>()</code>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
@@ -320,7 +328,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -342,7 +350,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <ul class="blockListLast">
 <li class="blockList">
 <h4>filterOutRow</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.49">filterOutRow</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.50">filterOutRow</a></pre>
 </li>
 </ul>
 </li>
@@ -360,7 +368,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <li class="blockList">
 <h4>RowFilter</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.59">RowFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;rowCompareOp,
+public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.60">RowFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;rowCompareOp,
                              <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;rowComparator)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Since 2.0.0. Will remove in 3.0.0. Use
  <a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html#RowFilter-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-"><code>RowFilter(CompareOperator, ByteArrayComparable)</code></a>} instead.</span></div>
@@ -378,7 +386,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowF
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RowFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.69">RowFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.70">RowFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                  <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;rowComparator)</pre>
 <div class="block">Constructor.</div>
 <dl>
@@ -402,7 +410,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowF
 <ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.75">reset</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.76">reset</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#reset--">FilterBase</a></code></span></div>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.
@@ -424,7 +432,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowF
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.81">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.82">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -459,7 +467,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.86">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.87">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -493,7 +501,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.94">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.95">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
  false, each KeyValue in the row will be passed to <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-"><code>Filter.filterCell(Cell)</code></a> below.
@@ -518,7 +526,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.102">filterRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.103">filterRow</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterRow--">FilterBase</a></code></span></div>
 <div class="block">Filters that never filter by rows based on previously gathered state from
  <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-"><code>Filter.filterCell(Cell)</code></a> can inherit this implementation that
@@ -544,7 +552,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.106">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.107">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -553,7 +561,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.118">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.119">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toByteArray--">FilterBase</a></code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -570,7 +578,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html" title="class in org.apache.hadoop.hbase.filter">RowFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.131">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/RowFilter.html" title="class in org.apache.hadoop.hbase.filter">RowFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.132">parseFrom</a>(byte[]&nbsp;pbBytes)
                            throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -587,10 +595,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>areSerializedFieldsEqual</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.157">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.158">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">FilterBase</a></code></span></div>
 <div class="block">Default implementation so that writers of custom filters aren't forced to implement.</div>
 <dl>
@@ -602,6 +610,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.166">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#equals-java.lang.Object-">equals</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/RowFilter.html#line.175">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#hashCode--">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.html b/devapidocs/org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.html
index d9e91e7..2ebad86 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.html
@@ -305,7 +305,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValue
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter">SingleColumnValueFilter</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#convert--">convert</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterRow--">filterRow</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getComparator--">getComparator</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getCompareOperator--">getCompareOperator</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html
 #getFamily--">getFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getFilterIfMissing--">getFilterIfMissing</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getLatestVersionOnly--">getLatestVersionOnly</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getOperator--">getOperator</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getQualifier--">getQualifier</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#isFamilyEssential-byte:A-">isFamilyEssential</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#reset--">reset</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#setFilterIfMissing-boolean-">setFilterIfMissing</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#setLatestVe
 rsionOnly-boolean-">setLatestVersionOnly</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#toString--">toString</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#convert--">convert</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#equals-java.lang.Object-">equals</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterRow--">filterRow</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getComparator--">getComparator</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getComp
 areOperator--">getCompareOperator</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getFamily--">getFamily</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getFilterIfMissing--">getFilterIfMissing</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getLatestVersionOnly--">getLatestVersionOnly</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getOperator--">getOperator</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getQualifier--">getQualifier</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#hashCode--">hashCode</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#isFamilyEssential-byte:A-">isFamilyEssential</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#reset--">reset</a>, 
 <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#setFilterIfMissing-boolean-">setFilterIfMissing</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#setLatestVersionOnly-boolean-">setLatestVersionOnly</a>, <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.filter.FilterBase">
@@ -326,7 +326,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValue
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>


[13/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/PageFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/PageFilter.html b/devapidocs/org/apache/hadoop/hbase/filter/PageFilter.html
index fdd803c..f10b3da 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/PageFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/PageFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":42,"i5":10,"i6":10,"i7":10,"i8":10,"i9":9,"i10":10,"i11":10};
+var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":10,"i5":42,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":9,"i12":10,"i13":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.44">PageFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.45">PageFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></pre>
 <div class="block">Implementation of Filter interface that limits results to a specific page
  size. It terminates scanning once the number of filter-passed rows is &gt;
@@ -225,24 +225,28 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#filterAllRemaining--">filterAllRemaining</a></span>()</code>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#filterRow--">filterRow</a></span>()</code>
 <div class="block">Filters that never filter by rows based on previously gathered state from
@@ -250,34 +254,38 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
  never filters a row.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#getPageSize--">getPageSize</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#hasFilterRow--">hasFilterRow</a></span>()</code>
 <div class="block">Fitlers that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html" title="class in org.apache.hadoop.hbase.filter">PageFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
@@ -303,7 +311,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -325,7 +333,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>pageSize</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.45">pageSize</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.46">pageSize</a></pre>
 </li>
 </ul>
 <a name="rowsAccepted">
@@ -334,7 +342,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>rowsAccepted</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.46">rowsAccepted</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.47">rowsAccepted</a></pre>
 </li>
 </ul>
 </li>
@@ -351,7 +359,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PageFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.53">PageFilter</a>(long&nbsp;pageSize)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.54">PageFilter</a>(long&nbsp;pageSize)</pre>
 <div class="block">Constructor that takes a maximum page size.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -373,7 +381,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getPageSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.58">getPageSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.59">getPageSize</a>()</pre>
 </li>
 </ul>
 <a name="filterRowKey-org.apache.hadoop.hbase.Cell-">
@@ -382,7 +390,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.63">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.64">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -411,7 +419,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.71">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.72">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
                                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
@@ -449,7 +457,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.76">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.77">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)
                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -486,7 +494,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterAllRemaining</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.81">filterAllRemaining</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.82">filterAllRemaining</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterAllRemaining--">FilterBase</a></code></span></div>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.
@@ -509,7 +517,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.86">filterRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.87">filterRow</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterRow--">FilterBase</a></code></span></div>
 <div class="block">Filters that never filter by rows based on previously gathered state from
  <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-"><code>Filter.filterCell(Cell)</code></a> can inherit this implementation that
@@ -535,7 +543,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>hasFilterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.92">hasFilterRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.93">hasFilterRow</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#hasFilterRow--">FilterBase</a></code></span></div>
 <div class="block">Fitlers that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.
@@ -556,7 +564,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.96">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.97">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -565,7 +573,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.107">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.108">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toByteArray--">FilterBase</a></code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -582,7 +590,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html" title="class in org.apache.hadoop.hbase.filter">PageFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.120">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html" title="class in org.apache.hadoop.hbase.filter">PageFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.121">parseFrom</a>(byte[]&nbsp;pbBytes)
                             throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -602,7 +610,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>areSerializedFieldsEqual</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.137">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.138">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">FilterBase</a></code></span></div>
 <div class="block">Default implementation so that writers of custom filters aren't forced to implement.</div>
 <dl>
@@ -619,10 +627,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.150">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.151">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toString--">FilterBase</a></code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -631,6 +639,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.156">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.165">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/PrefixFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/PrefixFilter.html b/devapidocs/org/apache/hadoop/hbase/filter/PrefixFilter.html
index 93fe2f0..76fbf9f 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/PrefixFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/PrefixFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":42,"i5":10,"i6":10,"i7":10,"i8":9,"i9":10,"i10":10,"i11":10};
+var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":10,"i5":42,"i6":10,"i7":10,"i8":10,"i9":10,"i10":9,"i11":10,"i12":10,"i13":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.40">PrefixFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.41">PrefixFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></pre>
 <div class="block">Pass results that have same row prefix.</div>
 </li>
@@ -219,24 +219,28 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#filterAllRemaining--">filterAllRemaining</a></span>()</code>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#filterRow--">filterRow</a></span>()</code>
 <div class="block">Filters that never filter by rows based on previously gathered state from
@@ -244,34 +248,38 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
  never filters a row.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#getPrefix--">getPrefix</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">PrefixFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#reset--">reset</a></span>()</code>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
@@ -297,7 +305,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -319,7 +327,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>prefix</h4>
-<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.41">prefix</a></pre>
+<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.42">prefix</a></pre>
 </li>
 </ul>
 <a name="passedPrefix">
@@ -328,7 +336,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>passedPrefix</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.42">passedPrefix</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.43">passedPrefix</a></pre>
 </li>
 </ul>
 <a name="filterRow">
@@ -337,7 +345,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>filterRow</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.43">filterRow</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.44">filterRow</a></pre>
 </li>
 </ul>
 </li>
@@ -354,7 +362,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PrefixFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.45">PrefixFilter</a>(byte[]&nbsp;prefix)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.46">PrefixFilter</a>(byte[]&nbsp;prefix)</pre>
 </li>
 </ul>
 </li>
@@ -371,7 +379,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getPrefix</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.49">getPrefix</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.50">getPrefix</a>()</pre>
 </li>
 </ul>
 <a name="filterRowKey-org.apache.hadoop.hbase.Cell-">
@@ -380,7 +388,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.54">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.55">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
  false, each KeyValue in the row will be passed to <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-"><code>Filter.filterCell(Cell)</code></a> below.
@@ -406,7 +414,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.81">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.82">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -441,7 +449,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.86">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.87">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -475,7 +483,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.92">filterRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.93">filterRow</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterRow--">FilterBase</a></code></span></div>
 <div class="block">Filters that never filter by rows based on previously gathered state from
  <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-"><code>Filter.filterCell(Cell)</code></a> can inherit this implementation that
@@ -501,7 +509,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.97">reset</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.98">reset</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#reset--">FilterBase</a></code></span></div>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.
@@ -522,7 +530,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterAllRemaining</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.102">filterAllRemaining</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.103">filterAllRemaining</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterAllRemaining--">FilterBase</a></code></span></div>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.
@@ -545,7 +553,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.106">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.107">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -554,7 +562,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.117">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.118">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toByteArray--">FilterBase</a></code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -571,7 +579,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">PrefixFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.130">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">PrefixFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.131">parseFrom</a>(byte[]&nbsp;pbBytes)
                               throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -591,7 +599,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>areSerializedFieldsEqual</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.147">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.148">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">FilterBase</a></code></span></div>
 <div class="block">Default implementation so that writers of custom filters aren't forced to implement.</div>
 <dl>
@@ -608,10 +616,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.156">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.157">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toString--">FilterBase</a></code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -620,6 +628,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.162">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.171">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/QualifierFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/QualifierFilter.html b/devapidocs/org/apache/hadoop/hbase/filter/QualifierFilter.html
index 3621621..04b4f3c 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/QualifierFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/QualifierFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":9,"i2":10,"i3":42,"i4":9,"i5":10};
+var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":42,"i5":10,"i6":9,"i7":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -125,7 +125,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.48">QualifierFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.49">QualifierFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></pre>
 <div class="block">This filter is used to filter based on the column qualifier. It takes an
  operator (equal, greater, not equal, etc) and a byte [] comparator for the
@@ -241,22 +241,30 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/QualifierFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/QualifierFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/QualifierFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/QualifierFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/QualifierFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/QualifierFilter.html" title="class in org.apache.hadoop.hbase.filter">QualifierFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/QualifierFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/QualifierFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
@@ -289,7 +297,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -312,7 +320,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <li class="blockList">
 <h4>QualifierFilter</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.58">QualifierFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;op,
+public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.59">QualifierFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;op,
                                    <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;qualifierComparator)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0.
  Use <a href="../../../../../org/apache/hadoop/hbase/filter/QualifierFilter.html#QualifierFilter-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-"><code>QualifierFilter(CompareOperator, ByteArrayComparable)</code></a> instead.</span></div>
@@ -330,7 +338,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Qual
 <ul class="blockListLast">
 <li class="blockList">
 <h4>QualifierFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.68">QualifierFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.69">QualifierFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                        <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;qualifierComparator)</pre>
 <div class="block">Constructor.</div>
 <dl>
@@ -355,7 +363,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Qual
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.75">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.76">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -390,7 +398,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.80">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.81">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -424,7 +432,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.90">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.91">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -433,7 +441,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.101">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.102">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toByteArray--">FilterBase</a></code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -450,7 +458,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/QualifierFilter.html" title="class in org.apache.hadoop.hbase.filter">QualifierFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.114">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/QualifierFilter.html" title="class in org.apache.hadoop.hbase.filter">QualifierFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.115">parseFrom</a>(byte[]&nbsp;pbBytes)
                                  throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -467,10 +475,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>areSerializedFieldsEqual</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.140">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.141">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">FilterBase</a></code></span></div>
 <div class="block">Default implementation so that writers of custom filters aren't forced to implement.</div>
 <dl>
@@ -482,6 +490,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.149">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#equals-java.lang.Object-">equals</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html#line.158">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#hashCode--">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>


[29/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html
index c8e02c8..309387e 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html
@@ -27,195 +27,211 @@
 <span class="sourceLineNo">019</span><a name="line.19"></a>
 <span class="sourceLineNo">020</span>import java.io.IOException;<a name="line.20"></a>
 <span class="sourceLineNo">021</span>import java.util.ArrayList;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.util.Comparator;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.util.TreeSet;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.PrivateCellUtil;<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>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.33"></a>
-<span class="sourceLineNo">034</span><a name="line.34"></a>
-<span class="sourceLineNo">035</span>/**<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * This filter is used for selecting only those keys with columns that matches<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * a particular prefix. For example, if prefix is 'an', it will pass keys will<a name="line.37"></a>
-<span class="sourceLineNo">038</span> * columns like 'and', 'anti' but not keys with columns like 'ball', 'act'.<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 MultipleColumnPrefixFilter extends FilterBase {<a name="line.41"></a>
-<span class="sourceLineNo">042</span>  protected byte [] hint = null;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>  protected TreeSet&lt;byte []&gt; sortedPrefixes = createTreeSet();<a name="line.43"></a>
-<span class="sourceLineNo">044</span>  private final static int MAX_LOG_PREFIXES = 5;<a name="line.44"></a>
-<span class="sourceLineNo">045</span><a name="line.45"></a>
-<span class="sourceLineNo">046</span>  public MultipleColumnPrefixFilter(final byte [][] prefixes) {<a name="line.46"></a>
-<span class="sourceLineNo">047</span>    if (prefixes != null) {<a name="line.47"></a>
-<span class="sourceLineNo">048</span>      for (int i = 0; i &lt; prefixes.length; i++) {<a name="line.48"></a>
-<span class="sourceLineNo">049</span>        if (!sortedPrefixes.add(prefixes[i]))<a name="line.49"></a>
-<span class="sourceLineNo">050</span>          throw new IllegalArgumentException ("prefixes must be distinct");<a name="line.50"></a>
-<span class="sourceLineNo">051</span>      }<a name="line.51"></a>
-<span class="sourceLineNo">052</span>    }<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  }<a name="line.53"></a>
-<span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>  public byte [][] getPrefix() {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>    int count = 0;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>    byte [][] temp = new byte [sortedPrefixes.size()][];<a name="line.57"></a>
-<span class="sourceLineNo">058</span>    for (byte [] prefixes : sortedPrefixes) {<a name="line.58"></a>
-<span class="sourceLineNo">059</span>      temp [count++] = prefixes;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    }<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    return temp;<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>  @Override<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    return false;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  }<a name="line.68"></a>
-<span class="sourceLineNo">069</span><a name="line.69"></a>
-<span class="sourceLineNo">070</span>  @Deprecated<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  @Override<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    return filterCell(c);<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>  @Override<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  public ReturnCode filterCell(final Cell c) {<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    if (sortedPrefixes.isEmpty()) {<a name="line.78"></a>
-<span class="sourceLineNo">079</span>      return ReturnCode.INCLUDE;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    } else {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>      return filterColumn(c);<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    }<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  }<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  public ReturnCode filterColumn(Cell cell) {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    byte [] qualifier = CellUtil.cloneQualifier(cell);<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    TreeSet&lt;byte []&gt; lesserOrEqualPrefixes =<a name="line.87"></a>
-<span class="sourceLineNo">088</span>      (TreeSet&lt;byte []&gt;) sortedPrefixes.headSet(qualifier, true);<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>    if (lesserOrEqualPrefixes.size() != 0) {<a name="line.90"></a>
-<span class="sourceLineNo">091</span>      byte [] largestPrefixSmallerThanQualifier = lesserOrEqualPrefixes.last();<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      <a name="line.92"></a>
-<span class="sourceLineNo">093</span>      if (Bytes.startsWith(qualifier, largestPrefixSmallerThanQualifier)) {<a name="line.93"></a>
-<span class="sourceLineNo">094</span>        return ReturnCode.INCLUDE;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      }<a name="line.95"></a>
-<span class="sourceLineNo">096</span>      <a name="line.96"></a>
-<span class="sourceLineNo">097</span>      if (lesserOrEqualPrefixes.size() == sortedPrefixes.size()) {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>        return ReturnCode.NEXT_ROW;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      } else {<a name="line.99"></a>
-<span class="sourceLineNo">100</span>        hint = sortedPrefixes.higher(largestPrefixSmallerThanQualifier);<a name="line.100"></a>
-<span class="sourceLineNo">101</span>        return ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      }<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    } else {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      hint = sortedPrefixes.first();<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      return ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    }<a name="line.106"></a>
-<span class="sourceLineNo">107</span>  }<a name="line.107"></a>
-<span class="sourceLineNo">108</span><a name="line.108"></a>
-<span class="sourceLineNo">109</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    byte [][] prefixes = new byte [filterArguments.size()][];<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    for (int i = 0 ; i &lt; filterArguments.size(); i++) {<a name="line.111"></a>
-<span class="sourceLineNo">112</span>      byte [] columnPrefix = ParseFilter.removeQuotesFromByteArray(filterArguments.get(i));<a name="line.112"></a>
-<span class="sourceLineNo">113</span>      prefixes[i] = columnPrefix;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    }<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    return new MultipleColumnPrefixFilter(prefixes);<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  }<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span>  /**<a name="line.118"></a>
-<span class="sourceLineNo">119</span>   * @return The filter serialized using pb<a name="line.119"></a>
-<span class="sourceLineNo">120</span>   */<a name="line.120"></a>
-<span class="sourceLineNo">121</span>  @Override<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  public byte [] toByteArray() {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    FilterProtos.MultipleColumnPrefixFilter.Builder builder =<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      FilterProtos.MultipleColumnPrefixFilter.newBuilder();<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    for (byte [] element : sortedPrefixes) {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      if (element != null) builder.addSortedPrefixes(UnsafeByteOperations.unsafeWrap(element));<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    }<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    return builder.build().toByteArray();<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>  /**<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * @param pbBytes A pb serialized {@link MultipleColumnPrefixFilter} instance<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   * @return An instance of {@link MultipleColumnPrefixFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   * @throws DeserializationException<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * @see #toByteArray<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   */<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  public static MultipleColumnPrefixFilter parseFrom(final byte [] pbBytes)<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  throws DeserializationException {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    FilterProtos.MultipleColumnPrefixFilter proto;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    try {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>      proto = FilterProtos.MultipleColumnPrefixFilter.parseFrom(pbBytes);<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    } catch (InvalidProtocolBufferException e) {<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      throw new DeserializationException(e);<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    }<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    int numPrefixes = proto.getSortedPrefixesCount();<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    byte [][] prefixes = new byte[numPrefixes][];<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    for (int i = 0; i &lt; numPrefixes; ++i) {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      prefixes[i] = proto.getSortedPrefixes(i).toByteArray();<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    }<a name="line.149"></a>
-<span class="sourceLineNo">150</span><a name="line.150"></a>
-<span class="sourceLineNo">151</span>    return new MultipleColumnPrefixFilter(prefixes);<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>   * @param o the other filter to compare with<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.157"></a>
-<span class="sourceLineNo">158</span>   */<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  @Override<a name="line.159"></a>
-<span class="sourceLineNo">160</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    if (o == this) return true;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    if (!(o instanceof MultipleColumnPrefixFilter)) return false;<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span>    MultipleColumnPrefixFilter other = (MultipleColumnPrefixFilter)o;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    return this.sortedPrefixes.equals(other.sortedPrefixes);<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>  @Override<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  public Cell getNextCellHint(Cell cell) {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    return PrivateCellUtil.createFirstOnRowCol(cell, hint, 0, hint.length);<a name="line.170"></a>
-<span class="sourceLineNo">171</span>  }<a name="line.171"></a>
-<span class="sourceLineNo">172</span><a name="line.172"></a>
-<span class="sourceLineNo">173</span>  public TreeSet&lt;byte []&gt; createTreeSet() {<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    return new TreeSet&lt;&gt;(new Comparator&lt;Object&gt;() {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>        @Override<a name="line.175"></a>
-<span class="sourceLineNo">176</span>          public int compare (Object o1, Object o2) {<a name="line.176"></a>
-<span class="sourceLineNo">177</span>          if (o1 == null || o2 == null)<a name="line.177"></a>
-<span class="sourceLineNo">178</span>            throw new IllegalArgumentException ("prefixes can't be null");<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span>          byte [] b1 = (byte []) o1;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>          byte [] b2 = (byte []) o2;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>          return Bytes.compareTo (b1, 0, b1.length, b2, 0, b2.length);<a name="line.182"></a>
-<span class="sourceLineNo">183</span>        }<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      });<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  }<a name="line.185"></a>
-<span class="sourceLineNo">186</span><a name="line.186"></a>
-<span class="sourceLineNo">187</span>  @Override<a name="line.187"></a>
-<span class="sourceLineNo">188</span>  public String toString() {<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    return toString(MAX_LOG_PREFIXES);<a name="line.189"></a>
-<span class="sourceLineNo">190</span>  }<a name="line.190"></a>
-<span class="sourceLineNo">191</span><a name="line.191"></a>
-<span class="sourceLineNo">192</span>  protected String toString(int maxPrefixes) {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    StringBuilder prefixes = new StringBuilder();<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span>    int count = 0;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    for (byte[] ba : this.sortedPrefixes) {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      if (count &gt;= maxPrefixes) {<a name="line.197"></a>
-<span class="sourceLineNo">198</span>        break;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      }<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      ++count;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      prefixes.append(Bytes.toStringBinary(ba));<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      if (count &lt; this.sortedPrefixes.size() &amp;&amp; count &lt; maxPrefixes) {<a name="line.202"></a>
-<span class="sourceLineNo">203</span>        prefixes.append(", ");<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      }<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    }<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>    return String.format("%s (%d/%d): [%s]", this.getClass().getSimpleName(),<a name="line.207"></a>
-<span class="sourceLineNo">208</span>        count, this.sortedPrefixes.size(), prefixes.toString());<a name="line.208"></a>
-<span class="sourceLineNo">209</span>  }<a name="line.209"></a>
-<span class="sourceLineNo">210</span>}<a name="line.210"></a>
+<span class="sourceLineNo">022</span>import java.util.Arrays;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.util.Comparator;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.util.Objects;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.util.TreeSet;<a name="line.25"></a>
+<span class="sourceLineNo">026</span><a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.Cell;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.35"></a>
+<span class="sourceLineNo">036</span><a name="line.36"></a>
+<span class="sourceLineNo">037</span>/**<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * This filter is used for selecting only those keys with columns that matches<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * a particular prefix. For example, if prefix is 'an', it will pass keys will<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * columns like 'and', 'anti' but not keys with columns like 'ball', 'act'.<a name="line.40"></a>
+<span class="sourceLineNo">041</span> */<a name="line.41"></a>
+<span class="sourceLineNo">042</span>@InterfaceAudience.Public<a name="line.42"></a>
+<span class="sourceLineNo">043</span>public class MultipleColumnPrefixFilter extends FilterBase {<a name="line.43"></a>
+<span class="sourceLineNo">044</span>  protected byte [] hint = null;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>  protected TreeSet&lt;byte []&gt; sortedPrefixes = createTreeSet();<a name="line.45"></a>
+<span class="sourceLineNo">046</span>  private final static int MAX_LOG_PREFIXES = 5;<a name="line.46"></a>
+<span class="sourceLineNo">047</span><a name="line.47"></a>
+<span class="sourceLineNo">048</span>  public MultipleColumnPrefixFilter(final byte [][] prefixes) {<a name="line.48"></a>
+<span class="sourceLineNo">049</span>    if (prefixes != null) {<a name="line.49"></a>
+<span class="sourceLineNo">050</span>      for (int i = 0; i &lt; prefixes.length; i++) {<a name="line.50"></a>
+<span class="sourceLineNo">051</span>        if (!sortedPrefixes.add(prefixes[i]))<a name="line.51"></a>
+<span class="sourceLineNo">052</span>          throw new IllegalArgumentException ("prefixes must be distinct");<a name="line.52"></a>
+<span class="sourceLineNo">053</span>      }<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><a name="line.56"></a>
+<span class="sourceLineNo">057</span>  public byte [][] getPrefix() {<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    int count = 0;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    byte [][] temp = new byte [sortedPrefixes.size()][];<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    for (byte [] prefixes : sortedPrefixes) {<a name="line.60"></a>
+<span class="sourceLineNo">061</span>      temp [count++] = prefixes;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    }<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    return temp;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  }<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>  @Override<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    return false;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>  }<a name="line.70"></a>
+<span class="sourceLineNo">071</span><a name="line.71"></a>
+<span class="sourceLineNo">072</span>  @Deprecated<a name="line.72"></a>
+<span class="sourceLineNo">073</span>  @Override<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    return filterCell(c);<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>  @Override<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  public ReturnCode filterCell(final Cell c) {<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    if (sortedPrefixes.isEmpty()) {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      return ReturnCode.INCLUDE;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    } else {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>      return filterColumn(c);<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    }<a name="line.84"></a>
+<span class="sourceLineNo">085</span>  }<a name="line.85"></a>
+<span class="sourceLineNo">086</span><a name="line.86"></a>
+<span class="sourceLineNo">087</span>  public ReturnCode filterColumn(Cell cell) {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    byte [] qualifier = CellUtil.cloneQualifier(cell);<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    TreeSet&lt;byte []&gt; lesserOrEqualPrefixes =<a name="line.89"></a>
+<span class="sourceLineNo">090</span>      (TreeSet&lt;byte []&gt;) sortedPrefixes.headSet(qualifier, true);<a name="line.90"></a>
+<span class="sourceLineNo">091</span><a name="line.91"></a>
+<span class="sourceLineNo">092</span>    if (lesserOrEqualPrefixes.size() != 0) {<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      byte [] largestPrefixSmallerThanQualifier = lesserOrEqualPrefixes.last();<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      <a name="line.94"></a>
+<span class="sourceLineNo">095</span>      if (Bytes.startsWith(qualifier, largestPrefixSmallerThanQualifier)) {<a name="line.95"></a>
+<span class="sourceLineNo">096</span>        return ReturnCode.INCLUDE;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>      }<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      <a name="line.98"></a>
+<span class="sourceLineNo">099</span>      if (lesserOrEqualPrefixes.size() == sortedPrefixes.size()) {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>        return ReturnCode.NEXT_ROW;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>      } else {<a name="line.101"></a>
+<span class="sourceLineNo">102</span>        hint = sortedPrefixes.higher(largestPrefixSmallerThanQualifier);<a name="line.102"></a>
+<span class="sourceLineNo">103</span>        return ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      }<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    } else {<a name="line.105"></a>
+<span class="sourceLineNo">106</span>      hint = sortedPrefixes.first();<a name="line.106"></a>
+<span class="sourceLineNo">107</span>      return ReturnCode.SEEK_NEXT_USING_HINT;<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>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    byte [][] prefixes = new byte [filterArguments.size()][];<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    for (int i = 0 ; i &lt; filterArguments.size(); i++) {<a name="line.113"></a>
+<span class="sourceLineNo">114</span>      byte [] columnPrefix = ParseFilter.removeQuotesFromByteArray(filterArguments.get(i));<a name="line.114"></a>
+<span class="sourceLineNo">115</span>      prefixes[i] = columnPrefix;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    }<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    return new MultipleColumnPrefixFilter(prefixes);<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  }<a name="line.118"></a>
+<span class="sourceLineNo">119</span><a name="line.119"></a>
+<span class="sourceLineNo">120</span>  /**<a name="line.120"></a>
+<span class="sourceLineNo">121</span>   * @return The filter serialized using pb<a name="line.121"></a>
+<span class="sourceLineNo">122</span>   */<a name="line.122"></a>
+<span class="sourceLineNo">123</span>  @Override<a name="line.123"></a>
+<span class="sourceLineNo">124</span>  public byte [] toByteArray() {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    FilterProtos.MultipleColumnPrefixFilter.Builder builder =<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      FilterProtos.MultipleColumnPrefixFilter.newBuilder();<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    for (byte [] element : sortedPrefixes) {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      if (element != null) builder.addSortedPrefixes(UnsafeByteOperations.unsafeWrap(element));<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    }<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    return builder.build().toByteArray();<a name="line.130"></a>
+<span class="sourceLineNo">131</span>  }<a name="line.131"></a>
+<span class="sourceLineNo">132</span><a name="line.132"></a>
+<span class="sourceLineNo">133</span>  /**<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   * @param pbBytes A pb serialized {@link MultipleColumnPrefixFilter} instance<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   * @return An instance of {@link MultipleColumnPrefixFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   * @throws DeserializationException<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   * @see #toByteArray<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   */<a name="line.138"></a>
+<span class="sourceLineNo">139</span>  public static MultipleColumnPrefixFilter parseFrom(final byte [] pbBytes)<a name="line.139"></a>
+<span class="sourceLineNo">140</span>  throws DeserializationException {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    FilterProtos.MultipleColumnPrefixFilter proto;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    try {<a name="line.142"></a>
+<span class="sourceLineNo">143</span>      proto = FilterProtos.MultipleColumnPrefixFilter.parseFrom(pbBytes);<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    } catch (InvalidProtocolBufferException e) {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>      throw new DeserializationException(e);<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    }<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    int numPrefixes = proto.getSortedPrefixesCount();<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    byte [][] prefixes = new byte[numPrefixes][];<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    for (int i = 0; i &lt; numPrefixes; ++i) {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      prefixes[i] = proto.getSortedPrefixes(i).toByteArray();<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>    return new MultipleColumnPrefixFilter(prefixes);<a name="line.153"></a>
+<span class="sourceLineNo">154</span>  }<a name="line.154"></a>
+<span class="sourceLineNo">155</span><a name="line.155"></a>
+<span class="sourceLineNo">156</span>  /**<a name="line.156"></a>
+<span class="sourceLineNo">157</span>   * @param o the other filter to compare with<a name="line.157"></a>
+<span class="sourceLineNo">158</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   */<a name="line.160"></a>
+<span class="sourceLineNo">161</span>  @Override<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    if (o == this) return true;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    if (!(o instanceof MultipleColumnPrefixFilter)) return false;<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>    MultipleColumnPrefixFilter other = (MultipleColumnPrefixFilter)o;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    return this.sortedPrefixes.equals(other.sortedPrefixes);<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>  @Override<a name="line.170"></a>
+<span class="sourceLineNo">171</span>  public Cell getNextCellHint(Cell cell) {<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    return PrivateCellUtil.createFirstOnRowCol(cell, hint, 0, hint.length);<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 TreeSet&lt;byte []&gt; createTreeSet() {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    return new TreeSet&lt;&gt;(new Comparator&lt;Object&gt;() {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>        @Override<a name="line.177"></a>
+<span class="sourceLineNo">178</span>          public int compare (Object o1, Object o2) {<a name="line.178"></a>
+<span class="sourceLineNo">179</span>          if (o1 == null || o2 == null)<a name="line.179"></a>
+<span class="sourceLineNo">180</span>            throw new IllegalArgumentException ("prefixes can't be null");<a name="line.180"></a>
+<span class="sourceLineNo">181</span><a name="line.181"></a>
+<span class="sourceLineNo">182</span>          byte [] b1 = (byte []) o1;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>          byte [] b2 = (byte []) o2;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>          return Bytes.compareTo (b1, 0, b1.length, b2, 0, b2.length);<a name="line.184"></a>
+<span class="sourceLineNo">185</span>        }<a name="line.185"></a>
+<span class="sourceLineNo">186</span>      });<a name="line.186"></a>
+<span class="sourceLineNo">187</span>  }<a name="line.187"></a>
+<span class="sourceLineNo">188</span><a name="line.188"></a>
+<span class="sourceLineNo">189</span>  @Override<a name="line.189"></a>
+<span class="sourceLineNo">190</span>  public String toString() {<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    return toString(MAX_LOG_PREFIXES);<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  }<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>  protected String toString(int maxPrefixes) {<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    StringBuilder prefixes = new StringBuilder();<a name="line.195"></a>
+<span class="sourceLineNo">196</span><a name="line.196"></a>
+<span class="sourceLineNo">197</span>    int count = 0;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    for (byte[] ba : this.sortedPrefixes) {<a name="line.198"></a>
+<span class="sourceLineNo">199</span>      if (count &gt;= maxPrefixes) {<a name="line.199"></a>
+<span class="sourceLineNo">200</span>        break;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      }<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      ++count;<a name="line.202"></a>
+<span class="sourceLineNo">203</span>      prefixes.append(Bytes.toStringBinary(ba));<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      if (count &lt; this.sortedPrefixes.size() &amp;&amp; count &lt; maxPrefixes) {<a name="line.204"></a>
+<span class="sourceLineNo">205</span>        prefixes.append(", ");<a name="line.205"></a>
+<span class="sourceLineNo">206</span>      }<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    }<a name="line.207"></a>
+<span class="sourceLineNo">208</span><a name="line.208"></a>
+<span class="sourceLineNo">209</span>    return String.format("%s (%d/%d): [%s]", this.getClass().getSimpleName(),<a name="line.209"></a>
+<span class="sourceLineNo">210</span>        count, this.sortedPrefixes.size(), prefixes.toString());<a name="line.210"></a>
+<span class="sourceLineNo">211</span>  }<a name="line.211"></a>
+<span class="sourceLineNo">212</span><a name="line.212"></a>
+<span class="sourceLineNo">213</span>  @Override<a name="line.213"></a>
+<span class="sourceLineNo">214</span>  public boolean equals(Object obj) {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>    if (obj == null || (!(obj instanceof MultipleColumnPrefixFilter))) {<a name="line.215"></a>
+<span class="sourceLineNo">216</span>      return false;<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    }<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    MultipleColumnPrefixFilter f = (MultipleColumnPrefixFilter) obj;<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    return this.areSerializedFieldsEqual(f);<a name="line.219"></a>
+<span class="sourceLineNo">220</span>  }<a name="line.220"></a>
+<span class="sourceLineNo">221</span><a name="line.221"></a>
+<span class="sourceLineNo">222</span>  @Override<a name="line.222"></a>
+<span class="sourceLineNo">223</span>  public int hashCode() {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    return Objects.hash(Arrays.hashCode(this.sortedPrefixes.toArray()));<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  }<a name="line.225"></a>
+<span class="sourceLineNo">226</span>}<a name="line.226"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/src-html/org/apache/hadoop/hbase/filter/PageFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/PageFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/PageFilter.html
index 26f9b2a..746a5a9 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/PageFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/PageFilter.html
@@ -28,137 +28,152 @@
 <span class="sourceLineNo">020</span><a name="line.20"></a>
 <span class="sourceLineNo">021</span>import java.io.IOException;<a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.util.ArrayList;<a name="line.22"></a>
-<span class="sourceLineNo">023</span><a name="line.23"></a>
-<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.Cell;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.26"></a>
-<span class="sourceLineNo">027</span><a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.30"></a>
-<span class="sourceLineNo">031</span><a name="line.31"></a>
-<span class="sourceLineNo">032</span>/**<a name="line.32"></a>
-<span class="sourceLineNo">033</span> * Implementation of Filter interface that limits results to a specific page<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * size. It terminates scanning once the number of filter-passed rows is &amp;gt;<a name="line.34"></a>
-<span class="sourceLineNo">035</span> * the given page size.<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * &lt;p&gt;<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * Note that this filter cannot guarantee that the number of results returned<a name="line.37"></a>
-<span class="sourceLineNo">038</span> * to a client are &amp;lt;= page size. This is because the filter is applied<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * separately on different region servers. It does however optimize the scan of<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * individual HRegions by making sure that the page size is never exceeded<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * locally.<a name="line.41"></a>
-<span class="sourceLineNo">042</span> */<a name="line.42"></a>
-<span class="sourceLineNo">043</span>@InterfaceAudience.Public<a name="line.43"></a>
-<span class="sourceLineNo">044</span>public class PageFilter extends FilterBase {<a name="line.44"></a>
-<span class="sourceLineNo">045</span>  private long pageSize = Long.MAX_VALUE;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>  private int rowsAccepted = 0;<a name="line.46"></a>
-<span class="sourceLineNo">047</span><a name="line.47"></a>
-<span class="sourceLineNo">048</span>  /**<a name="line.48"></a>
-<span class="sourceLineNo">049</span>   * Constructor that takes a maximum page size.<a name="line.49"></a>
-<span class="sourceLineNo">050</span>   *<a name="line.50"></a>
-<span class="sourceLineNo">051</span>   * @param pageSize Maximum result size.<a name="line.51"></a>
-<span class="sourceLineNo">052</span>   */<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  public PageFilter(final long pageSize) {<a name="line.53"></a>
-<span class="sourceLineNo">054</span>    Preconditions.checkArgument(pageSize &gt;= 0, "must be positive %s", pageSize);<a name="line.54"></a>
-<span class="sourceLineNo">055</span>    this.pageSize = pageSize;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  }<a name="line.56"></a>
-<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span>  public long getPageSize() {<a name="line.58"></a>
-<span class="sourceLineNo">059</span>    return pageSize;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>  }<a name="line.60"></a>
-<span class="sourceLineNo">061</span><a name="line.61"></a>
-<span class="sourceLineNo">062</span>  @Override<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    if (filterAllRemaining()) return true;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    return false;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  }<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span>  @Deprecated<a name="line.69"></a>
-<span class="sourceLineNo">070</span>  @Override<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  public ReturnCode filterKeyValue(final Cell c) throws IOException {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    return filterCell(c);<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>  @Override<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  public ReturnCode filterCell(final Cell ignored) throws IOException {<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    return ReturnCode.INCLUDE;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  }<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>  @Override<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  public boolean filterAllRemaining() {<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    return this.rowsAccepted &gt;= this.pageSize;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  }<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  @Override<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  public boolean filterRow() {<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    this.rowsAccepted++;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    return this.rowsAccepted &gt; this.pageSize;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  }<a name="line.89"></a>
-<span class="sourceLineNo">090</span>  <a name="line.90"></a>
-<span class="sourceLineNo">091</span>  @Override<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  public boolean hasFilterRow() {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    return true;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  }<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    Preconditions.checkArgument(filterArguments.size() == 1,<a name="line.97"></a>
-<span class="sourceLineNo">098</span>                                "Expected 1 but got: %s", filterArguments.size());<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    long pageSize = ParseFilter.convertByteArrayToLong(filterArguments.get(0));<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    return new PageFilter(pageSize);<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  }<a name="line.101"></a>
-<span class="sourceLineNo">102</span><a name="line.102"></a>
-<span class="sourceLineNo">103</span>  /**<a name="line.103"></a>
-<span class="sourceLineNo">104</span>   * @return The filter serialized using pb<a name="line.104"></a>
-<span class="sourceLineNo">105</span>   */<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  @Override<a name="line.106"></a>
-<span class="sourceLineNo">107</span>  public byte [] toByteArray() {<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    FilterProtos.PageFilter.Builder builder =<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      FilterProtos.PageFilter.newBuilder();<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    builder.setPageSize(this.pageSize);<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    return builder.build().toByteArray();<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  }<a name="line.112"></a>
-<span class="sourceLineNo">113</span><a name="line.113"></a>
-<span class="sourceLineNo">114</span>  /**<a name="line.114"></a>
-<span class="sourceLineNo">115</span>   * @param pbBytes A pb serialized {@link PageFilter} instance<a name="line.115"></a>
-<span class="sourceLineNo">116</span>   * @return An instance of {@link PageFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>   * @throws DeserializationException<a name="line.117"></a>
-<span class="sourceLineNo">118</span>   * @see #toByteArray<a name="line.118"></a>
-<span class="sourceLineNo">119</span>   */<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  public static PageFilter parseFrom(final byte [] pbBytes)<a name="line.120"></a>
-<span class="sourceLineNo">121</span>  throws DeserializationException {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    FilterProtos.PageFilter proto;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    try {<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      proto = FilterProtos.PageFilter.parseFrom(pbBytes);<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    } catch (InvalidProtocolBufferException e) {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      throw new DeserializationException(e);<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    }<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    return new PageFilter(proto.getPageSize());<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>  /**<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * @param o other Filter to compare with<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   * @return true if and only if the fields of the filter that are serialized are equal to the<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   *         corresponding fields in other.  Used for testing.<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   */<a name="line.135"></a>
-<span class="sourceLineNo">136</span>  @Override<a name="line.136"></a>
-<span class="sourceLineNo">137</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    if (o == this) {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      return true;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    }<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    if (!(o instanceof PageFilter)) {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      return false;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    }<a name="line.143"></a>
-<span class="sourceLineNo">144</span><a name="line.144"></a>
-<span class="sourceLineNo">145</span>    PageFilter other = (PageFilter)o;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    return this.getPageSize() == other.getPageSize();<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  }<a name="line.147"></a>
-<span class="sourceLineNo">148</span><a name="line.148"></a>
-<span class="sourceLineNo">149</span>  @Override<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  public String toString() {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    return this.getClass().getSimpleName() + " " + this.pageSize;<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">023</span>import java.util.Objects;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<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>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.31"></a>
+<span class="sourceLineNo">032</span><a name="line.32"></a>
+<span class="sourceLineNo">033</span>/**<a name="line.33"></a>
+<span class="sourceLineNo">034</span> * Implementation of Filter interface that limits results to a specific page<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * size. It terminates scanning once the number of filter-passed rows is &amp;gt;<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * the given page size.<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * &lt;p&gt;<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * Note that this filter cannot guarantee that the number of results returned<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * to a client are &amp;lt;= page size. This is because the filter is applied<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * separately on different region servers. It does however optimize the scan of<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * individual HRegions by making sure that the page size is never exceeded<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * locally.<a name="line.42"></a>
+<span class="sourceLineNo">043</span> */<a name="line.43"></a>
+<span class="sourceLineNo">044</span>@InterfaceAudience.Public<a name="line.44"></a>
+<span class="sourceLineNo">045</span>public class PageFilter extends FilterBase {<a name="line.45"></a>
+<span class="sourceLineNo">046</span>  private long pageSize = Long.MAX_VALUE;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>  private int rowsAccepted = 0;<a name="line.47"></a>
+<span class="sourceLineNo">048</span><a name="line.48"></a>
+<span class="sourceLineNo">049</span>  /**<a name="line.49"></a>
+<span class="sourceLineNo">050</span>   * Constructor that takes a maximum page size.<a name="line.50"></a>
+<span class="sourceLineNo">051</span>   *<a name="line.51"></a>
+<span class="sourceLineNo">052</span>   * @param pageSize Maximum result size.<a name="line.52"></a>
+<span class="sourceLineNo">053</span>   */<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  public PageFilter(final long pageSize) {<a name="line.54"></a>
+<span class="sourceLineNo">055</span>    Preconditions.checkArgument(pageSize &gt;= 0, "must be positive %s", pageSize);<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    this.pageSize = pageSize;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  }<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>  public long getPageSize() {<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    return pageSize;<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>  @Override<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    if (filterAllRemaining()) return true;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    return false;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  }<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>  @Deprecated<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  @Override<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  public ReturnCode filterKeyValue(final Cell c) throws IOException {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    return filterCell(c);<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>  @Override<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  public ReturnCode filterCell(final Cell ignored) throws IOException {<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    return ReturnCode.INCLUDE;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  }<a name="line.79"></a>
+<span class="sourceLineNo">080</span><a name="line.80"></a>
+<span class="sourceLineNo">081</span>  @Override<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  public boolean filterAllRemaining() {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    return this.rowsAccepted &gt;= this.pageSize;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  }<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>  @Override<a name="line.86"></a>
+<span class="sourceLineNo">087</span>  public boolean filterRow() {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    this.rowsAccepted++;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    return this.rowsAccepted &gt; this.pageSize;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  }<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  <a name="line.91"></a>
+<span class="sourceLineNo">092</span>  @Override<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  public boolean hasFilterRow() {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    return true;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>  }<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    Preconditions.checkArgument(filterArguments.size() == 1,<a name="line.98"></a>
+<span class="sourceLineNo">099</span>                                "Expected 1 but got: %s", filterArguments.size());<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    long pageSize = ParseFilter.convertByteArrayToLong(filterArguments.get(0));<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    return new PageFilter(pageSize);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  }<a name="line.102"></a>
+<span class="sourceLineNo">103</span><a name="line.103"></a>
+<span class="sourceLineNo">104</span>  /**<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   * @return The filter serialized using pb<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   */<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  @Override<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  public byte [] toByteArray() {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    FilterProtos.PageFilter.Builder builder =<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      FilterProtos.PageFilter.newBuilder();<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    builder.setPageSize(this.pageSize);<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    return builder.build().toByteArray();<a name="line.112"></a>
+<span class="sourceLineNo">113</span>  }<a name="line.113"></a>
+<span class="sourceLineNo">114</span><a name="line.114"></a>
+<span class="sourceLineNo">115</span>  /**<a name="line.115"></a>
+<span class="sourceLineNo">116</span>   * @param pbBytes A pb serialized {@link PageFilter} instance<a name="line.116"></a>
+<span class="sourceLineNo">117</span>   * @return An instance of {@link PageFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>   * @throws DeserializationException<a name="line.118"></a>
+<span class="sourceLineNo">119</span>   * @see #toByteArray<a name="line.119"></a>
+<span class="sourceLineNo">120</span>   */<a name="line.120"></a>
+<span class="sourceLineNo">121</span>  public static PageFilter parseFrom(final byte [] pbBytes)<a name="line.121"></a>
+<span class="sourceLineNo">122</span>  throws DeserializationException {<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    FilterProtos.PageFilter proto;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    try {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      proto = FilterProtos.PageFilter.parseFrom(pbBytes);<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    } catch (InvalidProtocolBufferException e) {<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      throw new DeserializationException(e);<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    }<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    return new PageFilter(proto.getPageSize());<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  }<a name="line.130"></a>
+<span class="sourceLineNo">131</span><a name="line.131"></a>
+<span class="sourceLineNo">132</span>  /**<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   * @param o other Filter to compare with<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   * @return true if and only if the fields of the filter that are serialized are equal to the<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   *         corresponding fields in other.  Used for testing.<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   */<a name="line.136"></a>
+<span class="sourceLineNo">137</span>  @Override<a name="line.137"></a>
+<span class="sourceLineNo">138</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    if (o == this) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>      return true;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    }<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    if (!(o instanceof PageFilter)) {<a name="line.142"></a>
+<span class="sourceLineNo">143</span>      return false;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    }<a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span>    PageFilter other = (PageFilter)o;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    return this.getPageSize() == other.getPageSize();<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  }<a name="line.148"></a>
+<span class="sourceLineNo">149</span><a name="line.149"></a>
+<span class="sourceLineNo">150</span>  @Override<a name="line.150"></a>
+<span class="sourceLineNo">151</span>  public String toString() {<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    return this.getClass().getSimpleName() + " " + this.pageSize;<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>  @Override<a name="line.155"></a>
+<span class="sourceLineNo">156</span>  public boolean equals(Object obj) {<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    if (obj == null || (!(obj instanceof PageFilter))) {<a name="line.157"></a>
+<span class="sourceLineNo">158</span>      return false;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    }<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    PageFilter f = (PageFilter) obj;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    return this.areSerializedFieldsEqual(f);<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 int hashCode() {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    return Objects.hash(this.pageSize);<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>
 
 
 


[26/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html
index 77dc6d6..67b265c 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html
@@ -29,446 +29,462 @@
 <span class="sourceLineNo">021</span><a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
 <span class="sourceLineNo">023</span>import java.util.ArrayList;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.CompareOperator;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.CompareType;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<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> * This filter is used to filter cells based on value. It takes a {@link CompareFilter.CompareOp}<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * operator (equal, greater, not equal, etc), and either a byte [] value or<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * a ByteArrayComparable.<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * &lt;p&gt;<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * If we have a byte [] value then we just do a lexicographic compare. For<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * example, if passed value is 'b' and cell has 'a' and the compare operator<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * is LESS, then we will filter out this cell (return true).  If this is not<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * sufficient (eg you want to deserialize a long and then compare it to a fixed<a name="line.50"></a>
-<span class="sourceLineNo">051</span> * long value), then you can pass in your own comparator instead.<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * &lt;p&gt;<a name="line.52"></a>
-<span class="sourceLineNo">053</span> * You must also specify a family and qualifier.  Only the value of this column<a name="line.53"></a>
-<span class="sourceLineNo">054</span> * will be tested. When using this filter on a <a name="line.54"></a>
-<span class="sourceLineNo">055</span> * {@link org.apache.hadoop.hbase.CellScanner} with specified<a name="line.55"></a>
-<span class="sourceLineNo">056</span> * inputs, the column to be tested should also be added as input (otherwise<a name="line.56"></a>
-<span class="sourceLineNo">057</span> * the filter will regard the column as missing).<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * &lt;p&gt;<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * To prevent the entire row from being emitted if the column is not found<a name="line.59"></a>
-<span class="sourceLineNo">060</span> * on a row, use {@link #setFilterIfMissing}.<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * Otherwise, if the column is found, the entire row will be emitted only if<a name="line.61"></a>
-<span class="sourceLineNo">062</span> * the value passes.  If the value fails, the row will be filtered out.<a name="line.62"></a>
-<span class="sourceLineNo">063</span> * &lt;p&gt;<a name="line.63"></a>
-<span class="sourceLineNo">064</span> * In order to test values of previous versions (timestamps), set<a name="line.64"></a>
-<span class="sourceLineNo">065</span> * {@link #setLatestVersionOnly} to false. The default is true, meaning that<a name="line.65"></a>
-<span class="sourceLineNo">066</span> * only the latest version's value is tested and all previous versions are ignored.<a name="line.66"></a>
-<span class="sourceLineNo">067</span> * &lt;p&gt;<a name="line.67"></a>
-<span class="sourceLineNo">068</span> * To filter based on the value of all scanned columns, use {@link ValueFilter}.<a name="line.68"></a>
-<span class="sourceLineNo">069</span> */<a name="line.69"></a>
-<span class="sourceLineNo">070</span>@InterfaceAudience.Public<a name="line.70"></a>
-<span class="sourceLineNo">071</span>public class SingleColumnValueFilter extends FilterBase {<a name="line.71"></a>
-<span class="sourceLineNo">072</span><a name="line.72"></a>
-<span class="sourceLineNo">073</span>  protected byte [] columnFamily;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  protected byte [] columnQualifier;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  protected CompareOperator op;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  protected org.apache.hadoop.hbase.filter.ByteArrayComparable comparator;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  protected boolean foundColumn = false;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  protected boolean matchedColumn = false;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  protected boolean filterIfMissing = false;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  protected boolean latestVersionOnly = true;<a name="line.80"></a>
-<span class="sourceLineNo">081</span><a name="line.81"></a>
-<span class="sourceLineNo">082</span>  /**<a name="line.82"></a>
-<span class="sourceLineNo">083</span>   * Constructor for binary compare of the value of a single column.  If the<a name="line.83"></a>
-<span class="sourceLineNo">084</span>   * column is found and the condition passes, all columns of the row will be<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   * emitted.  If the condition fails, the row will not be emitted.<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   * &lt;p&gt;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   * Use the filterIfColumnMissing flag to set whether the rest of the columns<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   * in a row will be emitted if the specified column to check is not found in<a name="line.88"></a>
-<span class="sourceLineNo">089</span>   * the row.<a name="line.89"></a>
-<span class="sourceLineNo">090</span>   *<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   * @param family name of column family<a name="line.91"></a>
-<span class="sourceLineNo">092</span>   * @param qualifier name of column qualifier<a name="line.92"></a>
-<span class="sourceLineNo">093</span>   * @param compareOp operator<a name="line.93"></a>
-<span class="sourceLineNo">094</span>   * @param value value to compare column values against<a name="line.94"></a>
-<span class="sourceLineNo">095</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0. Use<a name="line.95"></a>
-<span class="sourceLineNo">096</span>   * {@link #SingleColumnValueFilter(byte[], byte[], CompareOperator, byte[])} instead.<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   */<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  @Deprecated<a name="line.98"></a>
-<span class="sourceLineNo">099</span>  public SingleColumnValueFilter(final byte [] family, final byte [] qualifier,<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      final CompareOp compareOp, final byte[] value) {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    this(family, qualifier, CompareOperator.valueOf(compareOp.name()),<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      new org.apache.hadoop.hbase.filter.BinaryComparator(value));<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  }<a name="line.103"></a>
-<span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>  /**<a name="line.105"></a>
-<span class="sourceLineNo">106</span>   * Constructor for binary compare of the value of a single column.  If the<a name="line.106"></a>
-<span class="sourceLineNo">107</span>   * column is found and the condition passes, all columns of the row will be<a name="line.107"></a>
-<span class="sourceLineNo">108</span>   * emitted.  If the condition fails, the row will not be emitted.<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   * &lt;p&gt;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   * Use the filterIfColumnMissing flag to set whether the rest of the columns<a name="line.110"></a>
-<span class="sourceLineNo">111</span>   * in a row will be emitted if the specified column to check is not found in<a name="line.111"></a>
-<span class="sourceLineNo">112</span>   * the row.<a name="line.112"></a>
-<span class="sourceLineNo">113</span>   *<a name="line.113"></a>
-<span class="sourceLineNo">114</span>   * @param family name of column family<a name="line.114"></a>
-<span class="sourceLineNo">115</span>   * @param qualifier name of column qualifier<a name="line.115"></a>
-<span class="sourceLineNo">116</span>   * @param op operator<a name="line.116"></a>
-<span class="sourceLineNo">117</span>   * @param value value to compare column values against<a name="line.117"></a>
-<span class="sourceLineNo">118</span>   */<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  public SingleColumnValueFilter(final byte [] family, final byte [] qualifier,<a name="line.119"></a>
-<span class="sourceLineNo">120</span>                                 final CompareOperator op, final byte[] value) {<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    this(family, qualifier, op,<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      new org.apache.hadoop.hbase.filter.BinaryComparator(value));<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>  /**<a name="line.125"></a>
-<span class="sourceLineNo">126</span>   * Constructor for binary compare of the value of a single column.  If the<a name="line.126"></a>
-<span class="sourceLineNo">127</span>   * column is found and the condition passes, all columns of the row will be<a name="line.127"></a>
-<span class="sourceLineNo">128</span>   * emitted.  If the condition fails, the row will not be emitted.<a name="line.128"></a>
-<span class="sourceLineNo">129</span>   * &lt;p&gt;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>   * Use the filterIfColumnMissing flag to set whether the rest of the columns<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   * in a row will be emitted if the specified column to check is not found in<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * the row.<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   *<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   * @param family name of column family<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * @param qualifier name of column qualifier<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * @param compareOp operator<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   * @param comparator Comparator to use.<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0. Use<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   * {@link #SingleColumnValueFilter(byte[], byte[], CompareOperator, ByteArrayComparable)} instead.<a name="line.139"></a>
-<span class="sourceLineNo">140</span>   */<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  @Deprecated<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  public SingleColumnValueFilter(final byte [] family, final byte [] qualifier,<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      final CompareOp compareOp,<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      final org.apache.hadoop.hbase.filter.ByteArrayComparable comparator) {<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    this(family, qualifier, CompareOperator.valueOf(compareOp.name()), comparator);<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  }<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  /**<a name="line.148"></a>
-<span class="sourceLineNo">149</span>   * Constructor for binary compare of the value of a single column.  If the<a name="line.149"></a>
-<span class="sourceLineNo">150</span>   * column is found and the condition passes, all columns of the row will be<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   * emitted.  If the condition fails, the row will not be emitted.<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * &lt;p&gt;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * Use the filterIfColumnMissing flag to set whether the rest of the columns<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   * in a row will be emitted if the specified column to check is not found in<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   * the row.<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   *<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   * @param family name of column family<a name="line.157"></a>
-<span class="sourceLineNo">158</span>   * @param qualifier name of column qualifier<a name="line.158"></a>
-<span class="sourceLineNo">159</span>   * @param op operator<a name="line.159"></a>
-<span class="sourceLineNo">160</span>   * @param comparator Comparator to use.<a name="line.160"></a>
-<span class="sourceLineNo">161</span>   */<a name="line.161"></a>
-<span class="sourceLineNo">162</span>  public SingleColumnValueFilter(final byte [] family, final byte [] qualifier,<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      final CompareOperator op,<a name="line.163"></a>
-<span class="sourceLineNo">164</span>      final org.apache.hadoop.hbase.filter.ByteArrayComparable comparator) {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    this.columnFamily = family;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    this.columnQualifier = qualifier;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    this.op = op;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    this.comparator = comparator;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  }<a name="line.169"></a>
-<span class="sourceLineNo">170</span><a name="line.170"></a>
-<span class="sourceLineNo">171</span>  /**<a name="line.171"></a>
-<span class="sourceLineNo">172</span>   * Constructor for protobuf deserialization only.<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   * @param family<a name="line.173"></a>
-<span class="sourceLineNo">174</span>   * @param qualifier<a name="line.174"></a>
-<span class="sourceLineNo">175</span>   * @param compareOp<a name="line.175"></a>
-<span class="sourceLineNo">176</span>   * @param comparator<a name="line.176"></a>
-<span class="sourceLineNo">177</span>   * @param filterIfMissing<a name="line.177"></a>
-<span class="sourceLineNo">178</span>   * @param latestVersionOnly<a name="line.178"></a>
-<span class="sourceLineNo">179</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0. Use<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   * {@link #SingleColumnValueFilter(byte[], byte[], CompareOperator, ByteArrayComparable,<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   *   boolean, boolean)} instead.<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   */<a name="line.182"></a>
-<span class="sourceLineNo">183</span>  @Deprecated<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  protected SingleColumnValueFilter(final byte[] family, final byte[] qualifier,<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      final CompareOp compareOp, org.apache.hadoop.hbase.filter.ByteArrayComparable comparator,<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      final boolean filterIfMissing,<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      final boolean latestVersionOnly) {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    this(family, qualifier, CompareOperator.valueOf(compareOp.name()), comparator, filterIfMissing,<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      latestVersionOnly);<a name="line.189"></a>
-<span class="sourceLineNo">190</span>  }<a name="line.190"></a>
-<span class="sourceLineNo">191</span><a name="line.191"></a>
-<span class="sourceLineNo">192</span>  /**<a name="line.192"></a>
-<span class="sourceLineNo">193</span>   * Constructor for protobuf deserialization only.<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   * @param family<a name="line.194"></a>
-<span class="sourceLineNo">195</span>   * @param qualifier<a name="line.195"></a>
-<span class="sourceLineNo">196</span>   * @param op<a name="line.196"></a>
-<span class="sourceLineNo">197</span>   * @param comparator<a name="line.197"></a>
-<span class="sourceLineNo">198</span>   * @param filterIfMissing<a name="line.198"></a>
-<span class="sourceLineNo">199</span>   * @param latestVersionOnly<a name="line.199"></a>
-<span class="sourceLineNo">200</span>   */<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  protected SingleColumnValueFilter(final byte[] family, final byte[] qualifier,<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      final CompareOperator op, org.apache.hadoop.hbase.filter.ByteArrayComparable comparator,<a name="line.202"></a>
-<span class="sourceLineNo">203</span>       final boolean filterIfMissing, final boolean latestVersionOnly) {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    this(family, qualifier, op, comparator);<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    this.filterIfMissing = filterIfMissing;<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    this.latestVersionOnly = latestVersionOnly;<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  }<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  /**<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   * @return operator<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * @deprecated  since 2.0.0. Will be removed in 3.0.0. Use {@link #getCompareOperator()} instead.<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  @Deprecated<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  public CompareOp getOperator() {<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    return CompareOp.valueOf(op.name());<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  public CompareOperator getCompareOperator() {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    return op;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>  }<a name="line.220"></a>
-<span class="sourceLineNo">221</span><a name="line.221"></a>
-<span class="sourceLineNo">222</span>  /**<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   * @return the comparator<a name="line.223"></a>
-<span class="sourceLineNo">224</span>   */<a name="line.224"></a>
-<span class="sourceLineNo">225</span>  public org.apache.hadoop.hbase.filter.ByteArrayComparable getComparator() {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    return comparator;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  }<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  /**<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * @return the family<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   */<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  public byte[] getFamily() {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    return columnFamily;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  }<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>  /**<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * @return the qualifier<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  public byte[] getQualifier() {<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    return columnQualifier;<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  }<a name="line.241"></a>
-<span class="sourceLineNo">242</span><a name="line.242"></a>
-<span class="sourceLineNo">243</span>  @Override<a name="line.243"></a>
-<span class="sourceLineNo">244</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    return false;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>  }<a name="line.247"></a>
-<span class="sourceLineNo">248</span><a name="line.248"></a>
-<span class="sourceLineNo">249</span>  @Deprecated<a name="line.249"></a>
-<span class="sourceLineNo">250</span>  @Override<a name="line.250"></a>
-<span class="sourceLineNo">251</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    return filterCell(c);<a name="line.252"></a>
-<span class="sourceLineNo">253</span>  }<a name="line.253"></a>
-<span class="sourceLineNo">254</span><a name="line.254"></a>
-<span class="sourceLineNo">255</span>  @Override<a name="line.255"></a>
-<span class="sourceLineNo">256</span>  public ReturnCode filterCell(final Cell c) {<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    // System.out.println("REMOVE KEY=" + keyValue.toString() + ", value=" + Bytes.toString(keyValue.getValue()));<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    if (this.matchedColumn) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      // We already found and matched the single column, all keys now pass<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      return ReturnCode.INCLUDE;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    } else if (this.latestVersionOnly &amp;&amp; this.foundColumn) {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      // We found but did not match the single column, skip to next row<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      return ReturnCode.NEXT_ROW;<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    }<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    if (!CellUtil.matchingColumn(c, this.columnFamily, this.columnQualifier)) {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      return ReturnCode.INCLUDE;<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    }<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    foundColumn = true;<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    if (filterColumnValue(c)) {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      return this.latestVersionOnly? ReturnCode.NEXT_ROW: ReturnCode.INCLUDE;<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    }<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    this.matchedColumn = true;<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    return ReturnCode.INCLUDE;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>  }<a name="line.274"></a>
-<span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>  private boolean filterColumnValue(final Cell cell) {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    int compareResult = PrivateCellUtil.compareValue(cell, this.comparator);<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    return CompareFilter.compare(this.op, compareResult);<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  }<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  @Override<a name="line.281"></a>
-<span class="sourceLineNo">282</span>  public boolean filterRow() {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    // If column was found, return false if it was matched, true if it was not<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    // If column not found, return true if we filter if missing, false if not<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    return this.foundColumn? !this.matchedColumn: this.filterIfMissing;<a name="line.285"></a>
-<span class="sourceLineNo">286</span>  }<a name="line.286"></a>
-<span class="sourceLineNo">287</span>  <a name="line.287"></a>
-<span class="sourceLineNo">288</span>  @Override<a name="line.288"></a>
-<span class="sourceLineNo">289</span>  public boolean hasFilterRow() {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    return true;<a name="line.290"></a>
-<span class="sourceLineNo">291</span>  }<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>  @Override<a name="line.293"></a>
-<span class="sourceLineNo">294</span>  public void reset() {<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    foundColumn = false;<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    matchedColumn = false;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>  }<a name="line.297"></a>
-<span class="sourceLineNo">298</span><a name="line.298"></a>
-<span class="sourceLineNo">299</span>  /**<a name="line.299"></a>
-<span class="sourceLineNo">300</span>   * Get whether entire row should be filtered if column is not found.<a name="line.300"></a>
-<span class="sourceLineNo">301</span>   * @return true if row should be skipped if column not found, false if row<a name="line.301"></a>
-<span class="sourceLineNo">302</span>   * should be let through anyways<a name="line.302"></a>
-<span class="sourceLineNo">303</span>   */<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  public boolean getFilterIfMissing() {<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    return filterIfMissing;<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  }<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>  /**<a name="line.308"></a>
-<span class="sourceLineNo">309</span>   * Set whether entire row should be filtered if column is not found.<a name="line.309"></a>
-<span class="sourceLineNo">310</span>   * &lt;p&gt;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>   * If true, the entire row will be skipped if the column is not found.<a name="line.311"></a>
-<span class="sourceLineNo">312</span>   * &lt;p&gt;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>   * If false, the row will pass if the column is not found.  This is default.<a name="line.313"></a>
-<span class="sourceLineNo">314</span>   * @param filterIfMissing flag<a name="line.314"></a>
-<span class="sourceLineNo">315</span>   */<a name="line.315"></a>
-<span class="sourceLineNo">316</span>  public void setFilterIfMissing(boolean filterIfMissing) {<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    this.filterIfMissing = filterIfMissing;<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  }<a name="line.318"></a>
-<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span>  /**<a name="line.320"></a>
-<span class="sourceLineNo">321</span>   * Get whether only the latest version of the column value should be compared.<a name="line.321"></a>
-<span class="sourceLineNo">322</span>   * If true, the row will be returned if only the latest version of the column<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   * value matches. If false, the row will be returned if any version of the<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   * column value matches. The default is true.<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   * @return return value<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   */<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  public boolean getLatestVersionOnly() {<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    return latestVersionOnly;<a name="line.328"></a>
-<span class="sourceLineNo">329</span>  }<a name="line.329"></a>
-<span class="sourceLineNo">330</span><a name="line.330"></a>
-<span class="sourceLineNo">331</span>  /**<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   * Set whether only the latest version of the column value should be compared.<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * If true, the row will be returned if only the latest version of the column<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * value matches. If false, the row will be returned if any version of the<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * column value matches. The default is true.<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   * @param latestVersionOnly flag<a name="line.336"></a>
-<span class="sourceLineNo">337</span>   */<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  public void setLatestVersionOnly(boolean latestVersionOnly) {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    this.latestVersionOnly = latestVersionOnly;<a name="line.339"></a>
-<span class="sourceLineNo">340</span>  }<a name="line.340"></a>
-<span class="sourceLineNo">341</span><a name="line.341"></a>
-<span class="sourceLineNo">342</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>    Preconditions.checkArgument(filterArguments.size() == 4 || filterArguments.size() == 6,<a name="line.343"></a>
-<span class="sourceLineNo">344</span>                                "Expected 4 or 6 but got: %s", filterArguments.size());<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    byte [] family = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    byte [] qualifier = ParseFilter.removeQuotesFromByteArray(filterArguments.get(1));<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    CompareOperator op = ParseFilter.createCompareOperator(filterArguments.get(2));<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    org.apache.hadoop.hbase.filter.ByteArrayComparable comparator = ParseFilter.createComparator(<a name="line.348"></a>
-<span class="sourceLineNo">349</span>      ParseFilter.removeQuotesFromByteArray(filterArguments.get(3)));<a name="line.349"></a>
-<span class="sourceLineNo">350</span><a name="line.350"></a>
-<span class="sourceLineNo">351</span>    if (comparator instanceof RegexStringComparator ||<a name="line.351"></a>
-<span class="sourceLineNo">352</span>        comparator instanceof SubstringComparator) {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      if (op != CompareOperator.EQUAL &amp;&amp;<a name="line.353"></a>
-<span class="sourceLineNo">354</span>          op != CompareOperator.NOT_EQUAL) {<a name="line.354"></a>
-<span class="sourceLineNo">355</span>        throw new IllegalArgumentException ("A regexstring comparator and substring comparator " +<a name="line.355"></a>
-<span class="sourceLineNo">356</span>                                            "can only be used with EQUAL and NOT_EQUAL");<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      }<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    }<a name="line.358"></a>
-<span class="sourceLineNo">359</span><a name="line.359"></a>
-<span class="sourceLineNo">360</span>    SingleColumnValueFilter filter = new SingleColumnValueFilter(family, qualifier,<a name="line.360"></a>
-<span class="sourceLineNo">361</span>                                                                 op, comparator);<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>    if (filterArguments.size() == 6) {<a name="line.363"></a>
-<span class="sourceLineNo">364</span>      boolean filterIfMissing = ParseFilter.convertByteArrayToBoolean(filterArguments.get(4));<a name="line.364"></a>
-<span class="sourceLineNo">365</span>      boolean latestVersionOnly = ParseFilter.convertByteArrayToBoolean(filterArguments.get(5));<a name="line.365"></a>
-<span class="sourceLineNo">366</span>      filter.setFilterIfMissing(filterIfMissing);<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      filter.setLatestVersionOnly(latestVersionOnly);<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    }<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    return filter;<a name="line.369"></a>
-<span class="sourceLineNo">370</span>  }<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>  FilterProtos.SingleColumnValueFilter convert() {<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    FilterProtos.SingleColumnValueFilter.Builder builder =<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      FilterProtos.SingleColumnValueFilter.newBuilder();<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    if (this.columnFamily != null) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      builder.setColumnFamily(UnsafeByteOperations.unsafeWrap(this.columnFamily));<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    }<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    if (this.columnQualifier != null) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      builder.setColumnQualifier(UnsafeByteOperations.unsafeWrap(this.columnQualifier));<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    }<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    HBaseProtos.CompareType compareOp = CompareType.valueOf(this.op.name());<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    builder.setCompareOp(compareOp);<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    builder.setComparator(ProtobufUtil.toComparator(this.comparator));<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    builder.setFilterIfMissing(this.filterIfMissing);<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    builder.setLatestVersionOnly(this.latestVersionOnly);<a name="line.385"></a>
-<span class="sourceLineNo">386</span><a name="line.386"></a>
-<span class="sourceLineNo">387</span>    return builder.build();<a name="line.387"></a>
-<span class="sourceLineNo">388</span>  }<a name="line.388"></a>
-<span class="sourceLineNo">389</span><a name="line.389"></a>
-<span class="sourceLineNo">390</span>  /**<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   * @return The filter serialized using pb<a name="line.391"></a>
-<span class="sourceLineNo">392</span>   */<a name="line.392"></a>
-<span class="sourceLineNo">393</span>  @Override<a name="line.393"></a>
-<span class="sourceLineNo">394</span>  public byte [] toByteArray() {<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    return convert().toByteArray();<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>  /**<a name="line.398"></a>
-<span class="sourceLineNo">399</span>   * @param pbBytes A pb serialized {@link SingleColumnValueFilter} instance<a name="line.399"></a>
-<span class="sourceLineNo">400</span>   * @return An instance of {@link SingleColumnValueFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   * @throws org.apache.hadoop.hbase.exceptions.DeserializationException<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   * @see #toByteArray<a name="line.402"></a>
-<span class="sourceLineNo">403</span>   */<a name="line.403"></a>
-<span class="sourceLineNo">404</span>  public static SingleColumnValueFilter parseFrom(final byte [] pbBytes)<a name="line.404"></a>
-<span class="sourceLineNo">405</span>  throws DeserializationException {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    FilterProtos.SingleColumnValueFilter proto;<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    try {<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      proto = FilterProtos.SingleColumnValueFilter.parseFrom(pbBytes);<a name="line.408"></a>
-<span class="sourceLineNo">409</span>    } catch (InvalidProtocolBufferException e) {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>      throw new DeserializationException(e);<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    }<a name="line.411"></a>
-<span class="sourceLineNo">412</span><a name="line.412"></a>
-<span class="sourceLineNo">413</span>    final CompareOperator compareOp =<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      CompareOperator.valueOf(proto.getCompareOp().name());<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    final org.apache.hadoop.hbase.filter.ByteArrayComparable comparator;<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    try {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      comparator = ProtobufUtil.toComparator(proto.getComparator());<a name="line.417"></a>
-<span class="sourceLineNo">418</span>    } catch (IOException ioe) {<a name="line.418"></a>
-<span class="sourceLineNo">419</span>      throw new DeserializationException(ioe);<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    }<a name="line.420"></a>
-<span class="sourceLineNo">421</span><a name="line.421"></a>
-<span class="sourceLineNo">422</span>    return new SingleColumnValueFilter(proto.hasColumnFamily() ? proto.getColumnFamily()<a name="line.422"></a>
-<span class="sourceLineNo">423</span>        .toByteArray() : null, proto.hasColumnQualifier() ? proto.getColumnQualifier()<a name="line.423"></a>
-<span class="sourceLineNo">424</span>        .toByteArray() : null, compareOp, comparator, proto.getFilterIfMissing(), proto<a name="line.424"></a>
-<span class="sourceLineNo">425</span>        .getLatestVersionOnly());<a name="line.425"></a>
-<span class="sourceLineNo">426</span>  }<a name="line.426"></a>
-<span class="sourceLineNo">427</span><a name="line.427"></a>
-<span class="sourceLineNo">428</span>  /**<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.429"></a>
-<span class="sourceLineNo">430</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.430"></a>
-<span class="sourceLineNo">431</span>   */<a name="line.431"></a>
-<span class="sourceLineNo">432</span>  @Override<a name="line.432"></a>
-<span class="sourceLineNo">433</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    if (o == this) return true;<a name="line.434"></a>
-<span class="sourceLineNo">435</span>    if (!(o instanceof SingleColumnValueFilter)) return false;<a name="line.435"></a>
-<span class="sourceLineNo">436</span><a name="line.436"></a>
-<span class="sourceLineNo">437</span>    SingleColumnValueFilter other = (SingleColumnValueFilter)o;<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    return Bytes.equals(this.getFamily(), other.getFamily())<a name="line.438"></a>
-<span class="sourceLineNo">439</span>      &amp;&amp; Bytes.equals(this.getQualifier(), other.getQualifier())<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      &amp;&amp; this.op.equals(other.op)<a name="line.440"></a>
-<span class="sourceLineNo">441</span>      &amp;&amp; this.getComparator().areSerializedFieldsEqual(other.getComparator())<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      &amp;&amp; this.getFilterIfMissing() == other.getFilterIfMissing()<a name="line.442"></a>
-<span class="sourceLineNo">443</span>      &amp;&amp; this.getLatestVersionOnly() == other.getLatestVersionOnly();<a name="line.443"></a>
-<span class="sourceLineNo">444</span>  }<a name="line.444"></a>
-<span class="sourceLineNo">445</span><a name="line.445"></a>
-<span class="sourceLineNo">446</span>  /**<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   * The only CF this filter needs is given column family. So, it's the only essential<a name="line.447"></a>
-<span class="sourceLineNo">448</span>   * column in whole scan. If filterIfMissing == false, all families are essential,<a name="line.448"></a>
-<span class="sourceLineNo">449</span>   * because of possibility of skipping the rows without any data in filtered CF.<a name="line.449"></a>
-<span class="sourceLineNo">450</span>   */<a name="line.450"></a>
-<span class="sourceLineNo">451</span>  @Override<a name="line.451"></a>
-<span class="sourceLineNo">452</span>  public boolean isFamilyEssential(byte[] name) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    return !this.filterIfMissing || Bytes.equals(name, this.columnFamily);<a name="line.453"></a>
-<span class="sourceLineNo">454</span>  }<a name="line.454"></a>
-<span class="sourceLineNo">455</span><a name="line.455"></a>
-<span class="sourceLineNo">456</span>  @Override<a name="line.456"></a>
-<span class="sourceLineNo">457</span>  public String toString() {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>    return String.format("%s (%s, %s, %s, %s)",<a name="line.458"></a>
-<span class="sourceLineNo">459</span>        this.getClass().getSimpleName(), Bytes.toStringBinary(this.columnFamily),<a name="line.459"></a>
-<span class="sourceLineNo">460</span>        Bytes.toStringBinary(this.columnQualifier), this.op.name(),<a name="line.460"></a>
-<span class="sourceLineNo">461</span>        Bytes.toStringBinary(this.comparator.getValue()));<a name="line.461"></a>
-<span class="sourceLineNo">462</span>  }<a name="line.462"></a>
-<span class="sourceLineNo">463</span>}<a name="line.463"></a>
+<span class="sourceLineNo">024</span>import java.util.Objects;<a name="line.24"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.Cell;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.CompareOperator;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.CompareType;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.39"></a>
+<span class="sourceLineNo">040</span><a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<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> * This filter is used to filter cells based on value. It takes a {@link CompareFilter.CompareOp}<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * operator (equal, greater, not equal, etc), and either a byte [] value or<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * a ByteArrayComparable.<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * &lt;p&gt;<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * If we have a byte [] value then we just do a lexicographic compare. For<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * example, if passed value is 'b' and cell has 'a' and the compare operator<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * is LESS, then we will filter out this cell (return true).  If this is not<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * sufficient (eg you want to deserialize a long and then compare it to a fixed<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * long value), then you can pass in your own comparator instead.<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * &lt;p&gt;<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * You must also specify a family and qualifier.  Only the value of this column<a name="line.54"></a>
+<span class="sourceLineNo">055</span> * will be tested. When using this filter on a <a name="line.55"></a>
+<span class="sourceLineNo">056</span> * {@link org.apache.hadoop.hbase.CellScanner} with specified<a name="line.56"></a>
+<span class="sourceLineNo">057</span> * inputs, the column to be tested should also be added as input (otherwise<a name="line.57"></a>
+<span class="sourceLineNo">058</span> * the filter will regard the column as missing).<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * &lt;p&gt;<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * To prevent the entire row from being emitted if the column is not found<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * on a row, use {@link #setFilterIfMissing}.<a name="line.61"></a>
+<span class="sourceLineNo">062</span> * Otherwise, if the column is found, the entire row will be emitted only if<a name="line.62"></a>
+<span class="sourceLineNo">063</span> * the value passes.  If the value fails, the row will be filtered out.<a name="line.63"></a>
+<span class="sourceLineNo">064</span> * &lt;p&gt;<a name="line.64"></a>
+<span class="sourceLineNo">065</span> * In order to test values of previous versions (timestamps), set<a name="line.65"></a>
+<span class="sourceLineNo">066</span> * {@link #setLatestVersionOnly} to false. The default is true, meaning that<a name="line.66"></a>
+<span class="sourceLineNo">067</span> * only the latest version's value is tested and all previous versions are ignored.<a name="line.67"></a>
+<span class="sourceLineNo">068</span> * &lt;p&gt;<a name="line.68"></a>
+<span class="sourceLineNo">069</span> * To filter based on the value of all scanned columns, use {@link ValueFilter}.<a name="line.69"></a>
+<span class="sourceLineNo">070</span> */<a name="line.70"></a>
+<span class="sourceLineNo">071</span>@InterfaceAudience.Public<a name="line.71"></a>
+<span class="sourceLineNo">072</span>public class SingleColumnValueFilter extends FilterBase {<a name="line.72"></a>
+<span class="sourceLineNo">073</span><a name="line.73"></a>
+<span class="sourceLineNo">074</span>  protected byte [] columnFamily;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>  protected byte [] columnQualifier;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>  protected CompareOperator op;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  protected org.apache.hadoop.hbase.filter.ByteArrayComparable comparator;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  protected boolean foundColumn = false;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  protected boolean matchedColumn = false;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>  protected boolean filterIfMissing = false;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  protected boolean latestVersionOnly = true;<a name="line.81"></a>
+<span class="sourceLineNo">082</span><a name="line.82"></a>
+<span class="sourceLineNo">083</span>  /**<a name="line.83"></a>
+<span class="sourceLineNo">084</span>   * Constructor for binary compare of the value of a single column.  If the<a name="line.84"></a>
+<span class="sourceLineNo">085</span>   * column is found and the condition passes, all columns of the row will be<a name="line.85"></a>
+<span class="sourceLineNo">086</span>   * emitted.  If the condition fails, the row will not be emitted.<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   * &lt;p&gt;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   * Use the filterIfColumnMissing flag to set whether the rest of the columns<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   * in a row will be emitted if the specified column to check is not found in<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   * the row.<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   *<a name="line.91"></a>
+<span class="sourceLineNo">092</span>   * @param family name of column family<a name="line.92"></a>
+<span class="sourceLineNo">093</span>   * @param qualifier name of column qualifier<a name="line.93"></a>
+<span class="sourceLineNo">094</span>   * @param compareOp operator<a name="line.94"></a>
+<span class="sourceLineNo">095</span>   * @param value value to compare column values against<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0. Use<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   * {@link #SingleColumnValueFilter(byte[], byte[], CompareOperator, byte[])} instead.<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   */<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  @Deprecated<a name="line.99"></a>
+<span class="sourceLineNo">100</span>  public SingleColumnValueFilter(final byte [] family, final byte [] qualifier,<a name="line.100"></a>
+<span class="sourceLineNo">101</span>      final CompareOp compareOp, final byte[] value) {<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    this(family, qualifier, CompareOperator.valueOf(compareOp.name()),<a name="line.102"></a>
+<span class="sourceLineNo">103</span>      new org.apache.hadoop.hbase.filter.BinaryComparator(value));<a name="line.103"></a>
+<span class="sourceLineNo">104</span>  }<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span>  /**<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   * Constructor for binary compare of the value of a single column.  If the<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   * column is found and the condition passes, all columns of the row will be<a name="line.108"></a>
+<span class="sourceLineNo">109</span>   * emitted.  If the condition fails, the row will not be emitted.<a name="line.109"></a>
+<span class="sourceLineNo">110</span>   * &lt;p&gt;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>   * Use the filterIfColumnMissing flag to set whether the rest of the columns<a name="line.111"></a>
+<span class="sourceLineNo">112</span>   * in a row will be emitted if the specified column to check is not found in<a name="line.112"></a>
+<span class="sourceLineNo">113</span>   * the row.<a name="line.113"></a>
+<span class="sourceLineNo">114</span>   *<a name="line.114"></a>
+<span class="sourceLineNo">115</span>   * @param family name of column family<a name="line.115"></a>
+<span class="sourceLineNo">116</span>   * @param qualifier name of column qualifier<a name="line.116"></a>
+<span class="sourceLineNo">117</span>   * @param op operator<a name="line.117"></a>
+<span class="sourceLineNo">118</span>   * @param value value to compare column values against<a name="line.118"></a>
+<span class="sourceLineNo">119</span>   */<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  public SingleColumnValueFilter(final byte [] family, final byte [] qualifier,<a name="line.120"></a>
+<span class="sourceLineNo">121</span>                                 final CompareOperator op, final byte[] value) {<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    this(family, qualifier, op,<a name="line.122"></a>
+<span class="sourceLineNo">123</span>      new org.apache.hadoop.hbase.filter.BinaryComparator(value));<a name="line.123"></a>
+<span class="sourceLineNo">124</span>  }<a name="line.124"></a>
+<span class="sourceLineNo">125</span><a name="line.125"></a>
+<span class="sourceLineNo">126</span>  /**<a name="line.126"></a>
+<span class="sourceLineNo">127</span>   * Constructor for binary compare of the value of a single column.  If the<a name="line.127"></a>
+<span class="sourceLineNo">128</span>   * column is found and the condition passes, all columns of the row will be<a name="line.128"></a>
+<span class="sourceLineNo">129</span>   * emitted.  If the condition fails, the row will not be emitted.<a name="line.129"></a>
+<span class="sourceLineNo">130</span>   * &lt;p&gt;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>   * Use the filterIfColumnMissing flag to set whether the rest of the columns<a name="line.131"></a>
+<span class="sourceLineNo">132</span>   * in a row will be emitted if the specified column to check is not found in<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   * the row.<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   *<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   * @param family name of column family<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   * @param qualifier name of column qualifier<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   * @param compareOp operator<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   * @param comparator Comparator to use.<a name="line.138"></a>
+<span class="sourceLineNo">139</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0. Use<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   * {@link #SingleColumnValueFilter(byte[], byte[], CompareOperator, ByteArrayComparable)} instead.<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>  public SingleColumnValueFilter(final byte [] family, final byte [] qualifier,<a name="line.143"></a>
+<span class="sourceLineNo">144</span>      final CompareOp compareOp,<a name="line.144"></a>
+<span class="sourceLineNo">145</span>      final org.apache.hadoop.hbase.filter.ByteArrayComparable comparator) {<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    this(family, qualifier, CompareOperator.valueOf(compareOp.name()), comparator);<a name="line.146"></a>
+<span class="sourceLineNo">147</span>  }<a name="line.147"></a>
+<span class="sourceLineNo">148</span><a name="line.148"></a>
+<span class="sourceLineNo">149</span>  /**<a name="line.149"></a>
+<span class="sourceLineNo">150</span>   * Constructor for binary compare of the value of a single column.  If the<a name="line.150"></a>
+<span class="sourceLineNo">151</span>   * column is found and the condition passes, all columns of the row will be<a name="line.151"></a>
+<span class="sourceLineNo">152</span>   * emitted.  If the condition fails, the row will not be emitted.<a name="line.152"></a>
+<span class="sourceLineNo">153</span>   * &lt;p&gt;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>   * Use the filterIfColumnMissing flag to set whether the rest of the columns<a name="line.154"></a>
+<span class="sourceLineNo">155</span>   * in a row will be emitted if the specified column to check is not found in<a name="line.155"></a>
+<span class="sourceLineNo">156</span>   * the row.<a name="line.156"></a>
+<span class="sourceLineNo">157</span>   *<a name="line.157"></a>
+<span class="sourceLineNo">158</span>   * @param family name of column family<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * @param qualifier name of column qualifier<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   * @param op operator<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   * @param comparator Comparator to use.<a name="line.161"></a>
+<span class="sourceLineNo">162</span>   */<a name="line.162"></a>
+<span class="sourceLineNo">163</span>  public SingleColumnValueFilter(final byte [] family, final byte [] qualifier,<a name="line.163"></a>
+<span class="sourceLineNo">164</span>      final CompareOperator op,<a name="line.164"></a>
+<span class="sourceLineNo">165</span>      final org.apache.hadoop.hbase.filter.ByteArrayComparable comparator) {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    this.columnFamily = family;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    this.columnQualifier = qualifier;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    this.op = op;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    this.comparator = comparator;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>  }<a name="line.170"></a>
+<span class="sourceLineNo">171</span><a name="line.171"></a>
+<span class="sourceLineNo">172</span>  /**<a name="line.172"></a>
+<span class="sourceLineNo">173</span>   * Constructor for protobuf deserialization only.<a name="line.173"></a>
+<span class="sourceLineNo">174</span>   * @param family<a name="line.174"></a>
+<span class="sourceLineNo">175</span>   * @param qualifier<a name="line.175"></a>
+<span class="sourceLineNo">176</span>   * @param compareOp<a name="line.176"></a>
+<span class="sourceLineNo">177</span>   * @param comparator<a name="line.177"></a>
+<span class="sourceLineNo">178</span>   * @param filterIfMissing<a name="line.178"></a>
+<span class="sourceLineNo">179</span>   * @param latestVersionOnly<a name="line.179"></a>
+<span class="sourceLineNo">180</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0. Use<a name="line.180"></a>
+<span class="sourceLineNo">181</span>   * {@link #SingleColumnValueFilter(byte[], byte[], CompareOperator, ByteArrayComparable,<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   *   boolean, boolean)} instead.<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   */<a name="line.183"></a>
+<span class="sourceLineNo">184</span>  @Deprecated<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  protected SingleColumnValueFilter(final byte[] family, final byte[] qualifier,<a name="line.185"></a>
+<span class="sourceLineNo">186</span>      final CompareOp compareOp, org.apache.hadoop.hbase.filter.ByteArrayComparable comparator,<a name="line.186"></a>
+<span class="sourceLineNo">187</span>      final boolean filterIfMissing,<a name="line.187"></a>
+<span class="sourceLineNo">188</span>      final boolean latestVersionOnly) {<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    this(family, qualifier, CompareOperator.valueOf(compareOp.name()), comparator, filterIfMissing,<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      latestVersionOnly);<a name="line.190"></a>
+<span class="sourceLineNo">191</span>  }<a name="line.191"></a>
+<span class="sourceLineNo">192</span><a name="line.192"></a>
+<span class="sourceLineNo">193</span>  /**<a name="line.193"></a>
+<span class="sourceLineNo">194</span>   * Constructor for protobuf deserialization only.<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   * @param family<a name="line.195"></a>
+<span class="sourceLineNo">196</span>   * @param qualifier<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   * @param op<a name="line.197"></a>
+<span class="sourceLineNo">198</span>   * @param comparator<a name="line.198"></a>
+<span class="sourceLineNo">199</span>   * @param filterIfMissing<a name="line.199"></a>
+<span class="sourceLineNo">200</span>   * @param latestVersionOnly<a name="line.200"></a>
+<span class="sourceLineNo">201</span>   */<a name="line.201"></a>
+<span class="sourceLineNo">202</span>  protected SingleColumnValueFilter(final byte[] family, final byte[] qualifier,<a name="line.202"></a>
+<span class="sourceLineNo">203</span>      final CompareOperator op, org.apache.hadoop.hbase.filter.ByteArrayComparable comparator,<a name="line.203"></a>
+<span class="sourceLineNo">204</span>       final boolean filterIfMissing, final boolean latestVersionOnly) {<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    this(family, qualifier, op, comparator);<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    this.filterIfMissing = filterIfMissing;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    this.latestVersionOnly = latestVersionOnly;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>  }<a name="line.208"></a>
+<span class="sourceLineNo">209</span><a name="line.209"></a>
+<span class="sourceLineNo">210</span>  /**<a name="line.210"></a>
+<span class="sourceLineNo">211</span>   * @return operator<a name="line.211"></a>
+<span class="sourceLineNo">212</span>   * @deprecated  since 2.0.0. Will be removed in 3.0.0. Use {@link #getCompareOperator()} instead.<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   */<a name="line.213"></a>
+<span class="sourceLineNo">214</span>  @Deprecated<a name="line.214"></a>
+<span class="sourceLineNo">215</span>  public CompareOp getOperator() {<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    return CompareOp.valueOf(op.name());<a name="line.216"></a>
+<span class="sourceLineNo">217</span>  }<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>  public CompareOperator getCompareOperator() {<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    return op;<a name="line.220"></a>
+<span class="sourceLineNo">221</span>  }<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  /**<a name="line.223"></a>
+<span class="sourceLineNo">224</span>   * @return the comparator<a name="line.224"></a>
+<span class="sourceLineNo">225</span>   */<a name="line.225"></a>
+<span class="sourceLineNo">226</span>  public org.apache.hadoop.hbase.filter.ByteArrayComparable getComparator() {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    return comparator;<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  }<a name="line.228"></a>
+<span class="sourceLineNo">229</span><a name="line.229"></a>
+<span class="sourceLineNo">230</span>  /**<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   * @return the family<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   */<a name="line.232"></a>
+<span class="sourceLineNo">233</span>  public byte[] getFamily() {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    return columnFamily;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
+<span class="sourceLineNo">236</span><a name="line.236"></a>
+<span class="sourceLineNo">237</span>  /**<a name="line.237"></a>
+<span class="sourceLineNo">238</span>   * @return the qualifier<a name="line.238"></a>
+<span class="sourceLineNo">239</span>   */<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  public byte[] getQualifier() {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    return columnQualifier;<a name="line.241"></a>
+<span class="sourceLineNo">242</span>  }<a name="line.242"></a>
+<span class="sourceLineNo">243</span><a name="line.243"></a>
+<span class="sourceLineNo">244</span>  @Override<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    return false;<a name="line.247"></a>
+<span class="sourceLineNo">248</span>  }<a name="line.248"></a>
+<span class="sourceLineNo">249</span><a name="line.249"></a>
+<span class="sourceLineNo">250</span>  @Deprecated<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  @Override<a name="line.251"></a>
+<span class="sourceLineNo">252</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    return filterCell(c);<a name="line.253"></a>
+<span class="sourceLineNo">254</span>  }<a name="line.254"></a>
+<span class="sourceLineNo">255</span><a name="line.255"></a>
+<span class="sourceLineNo">256</span>  @Override<a name="line.256"></a>
+<span class="sourceLineNo">257</span>  public ReturnCode filterCell(final Cell c) {<a name="line.257"></a>
+<span class="sourceLineNo">258</span>    // System.out.println("REMOVE KEY=" + keyValue.toString() + ", value=" + Bytes.toString(keyValue.getValue()));<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    if (this.matchedColumn) {<a name="line.259"></a>
+<span class="sourceLineNo">260</span>      // We already found and matched the single column, all keys now pass<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      return ReturnCode.INCLUDE;<a name="line.261"></a>
+<span class="sourceLineNo">262</span>    } else if (this.latestVersionOnly &amp;&amp; this.foundColumn) {<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      // We found but did not match the single column, skip to next row<a name="line.263"></a>
+<span class="sourceLineNo">264</span>      return ReturnCode.NEXT_ROW;<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    }<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    if (!CellUtil.matchingColumn(c, this.columnFamily, this.columnQualifier)) {<a name="line.266"></a>
+<span class="sourceLineNo">267</span>      return ReturnCode.INCLUDE;<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    }<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    foundColumn = true;<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    if (filterColumnValue(c)) {<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      return this.latestVersionOnly? ReturnCode.NEXT_ROW: ReturnCode.INCLUDE;<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    }<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    this.matchedColumn = true;<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    return ReturnCode.INCLUDE;<a name="line.274"></a>
+<span class="sourceLineNo">275</span>  }<a name="line.275"></a>
+<span class="sourceLineNo">276</span><a name="line.276"></a>
+<span class="sourceLineNo">277</span>  private boolean filterColumnValue(final Cell cell) {<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    int compareResult = PrivateCellUtil.compareValue(cell, this.comparator);<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    return CompareFilter.compare(this.op, compareResult);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  }<a name="line.280"></a>
+<span class="sourceLineNo">281</span><a name="line.281"></a>
+<span class="sourceLineNo">282</span>  @Override<a name="line.282"></a>
+<span class="sourceLineNo">283</span>  public boolean filterRow() {<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    // If column was found, return false if it was matched, true if it was not<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    // If column not found, return true if we filter if missing, false if not<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    return this.foundColumn? !this.matchedColumn: this.filterIfMissing;<a name="line.286"></a>
+<span class="sourceLineNo">287</span>  }<a name="line.287"></a>
+<span class="sourceLineNo">288</span>  <a name="line.288"></a>
+<span class="sourceLineNo">289</span>  @Override<a name="line.289"></a>
+<span class="sourceLineNo">290</span>  public boolean hasFilterRow() {<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    return true;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  }<a name="line.292"></a>
+<span class="sourceLineNo">293</span><a name="line.293"></a>
+<span class="sourceLineNo">294</span>  @Override<a name="line.294"></a>
+<span class="sourceLineNo">295</span>  public void reset() {<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    foundColumn = false;<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    matchedColumn = false;<a name="line.297"></a>
+<span class="sourceLineNo">298</span>  }<a name="line.298"></a>
+<span class="sourceLineNo">299</span><a name="line.299"></a>
+<span class="sourceLineNo">300</span>  /**<a name="line.300"></a>
+<span class="sourceLineNo">301</span>   * Get whether entire row should be filtered if column is not found.<a name="line.301"></a>
+<span class="sourceLineNo">302</span>   * @return true if row should be skipped if column not found, false if row<a name="line.302"></a>
+<span class="sourceLineNo">303</span>   * should be let through anyways<a name="line.303"></a>
+<span class="sourceLineNo">304</span>   */<a name="line.304"></a>
+<span class="sourceLineNo">305</span>  public boolean getFilterIfMissing() {<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    return filterIfMissing;<a name="line.306"></a>
+<span class="sourceLineNo">307</span>  }<a name="line.307"></a>
+<span class="sourceLineNo">308</span><a name="line.308"></a>
+<span class="sourceLineNo">309</span>  /**<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   * Set whether entire row should be filtered if column is not found.<a name="line.310"></a>
+<span class="sourceLineNo">311</span>   * &lt;p&gt;<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   * If true, the entire row will be skipped if the column is not found.<a name="line.312"></a>
+<span class="sourceLineNo">313</span>   * &lt;p&gt;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>   * If false, the row will pass if the column is not found.  This is default.<a name="line.314"></a>
+<span class="sourceLineNo">315</span>   * @param filterIfMissing flag<a name="line.315"></a>
+<span class="sourceLineNo">316</span>   */<a name="line.316"></a>
+<span class="sourceLineNo">317</span>  public void setFilterIfMissing(boolean filterIfMissing) {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    this.filterIfMissing = filterIfMissing;<a name="line.318"></a>
+<span class="sourceLineNo">319</span>  }<a name="line.319"></a>
+<span class="sourceLineNo">320</span><a name="line.320"></a>
+<span class="sourceLineNo">321</span>  /**<a name="line.321"></a>
+<span class="sourceLineNo">322</span>   * Get whether only the latest version of the column value should be compared.<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   * If true, the row will be returned if only the latest version of the column<a name="line.323"></a>
+<span class="sourceLineNo">324</span>   * value matches. If false, the row will be returned if any version of the<a name="line.324"></a>
+<span class="sourceLineNo">325</span>   * column value matches. The default is true.<a name="line.325"></a>
+<span class="sourceLineNo">326</span>   * @return return value<a name="line.326"></a>
+<span class="sourceLineNo">327</span>   */<a name="line.327"></a>
+<span class="sourceLineNo">328</span>  public boolean getLatestVersionOnly() {<a name="line.328"></a>
+<span class="sourceLineNo">329</span>    return latestVersionOnly;<a name="line.329"></a>
+<span class="sourceLineNo">330</span>  }<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>  /**<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   * Set whether only the latest version of the column value should be compared.<a name="line.333"></a>
+<span class="sourceLineNo">334</span>   * If true, the row will be returned if only the latest version of the column<a name="line.334"></a>
+<span class="sourceLineNo">335</span>   * value matches. If false, the row will be returned if any version of the<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   * column value matches. The default is true.<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   * @param latestVersionOnly flag<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   */<a name="line.338"></a>
+<span class="sourceLineNo">339</span>  public void setLatestVersionOnly(boolean latestVersionOnly) {<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    this.latestVersionOnly = latestVersionOnly;<a name="line.340"></a>
+<span class="sourceLineNo">341</span>  }<a name="line.341"></a>
+<span class="sourceLineNo">342</span><a name="line.342"></a>
+<span class="sourceLineNo">343</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    Preconditions.checkArgument(filterArguments.size() == 4 || filterArguments.size() == 6,<a name="line.344"></a>
+<span class="sourceLineNo">345</span>                                "Expected 4 or 6 but got: %s", filterArguments.size());<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    byte [] family = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    byte [] qualifier = ParseFilter.removeQuotesFromByteArray(filterArguments.get(1));<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    CompareOperator op = ParseFilter.createCompareOperator(filterArguments.get(2));<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    org.apache.hadoop.hbase.filter.ByteArrayComparable comparator = ParseFilter.createComparator(<a name="line.349"></a>
+<span class="sourceLineNo">350</span>      ParseFilter.removeQuotesFromByteArray(filterArguments.get(3)));<a name="line.350"></a>
+<span class="sourceLineNo">351</span><a name="line.351"></a>
+<span class="sourceLineNo">352</span>    if (comparator instanceof RegexStringComparator ||<a name="line.352"></a>
+<span class="sourceLineNo">353</span>        comparator instanceof SubstringComparator) {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>      if (op != CompareOperator.EQUAL &amp;&amp;<a name="line.354"></a>
+<span class="sourceLineNo">355</span>          op != CompareOperator.NOT_EQUAL) {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>        throw new IllegalArgumentException ("A regexstring comparator and substring comparator " +<a name="line.356"></a>
+<span class="sourceLineNo">357</span>                                            "can only be used with EQUAL and NOT_EQUAL");<a name="line.357"></a>
+<span class="sourceLineNo">358</span>      }<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    }<a name="line.359"></a>
+<span class="sourceLineNo">360</span><a name="line.360"></a>
+<span class="sourceLineNo">361</span>    SingleColumnValueFilter filter = new SingleColumnValueFilter(family, qualifier,<a name="line.361"></a>
+<span class="sourceLineNo">362</span>                                                                 op, comparator);<a name="line.362"></a>
+<span class="sourceLineNo">363</span><a name="line.363"></a>
+<span class="sourceLineNo">364</span>    if (filterArguments.size() == 6) {<a name="line.364"></a>
+<span class="sourceLineNo">365</span>      boolean filterIfMissing = ParseFilter.convertByteArrayToBoolean(filterArguments.get(4));<a name="line.365"></a>
+<span class="sourceLineNo">366</span>      boolean latestVersionOnly = ParseFilter.convertByteArrayToBoolean(filterArguments.get(5));<a name="line.366"></a>
+<span class="sourceLineNo">367</span>      filter.setFilterIfMissing(filterIfMissing);<a name="line.367"></a>
+<span class="sourceLineNo">368</span>      filter.setLatestVersionOnly(latestVersionOnly);<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    }<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    return filter;<a name="line.370"></a>
+<span class="sourceLineNo">371</span>  }<a name="line.371"></a>
+<span class="sourceLineNo">372</span><a name="line.372"></a>
+<span class="sourceLineNo">373</span>  FilterProtos.SingleColumnValueFilter convert() {<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    FilterProtos.SingleColumnValueFilter.Builder builder =<a name="line.374"></a>
+<span class="sourceLineNo">375</span>      FilterProtos.SingleColumnValueFilter.newBuilder();<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    if (this.columnFamily != null) {<a name="line.376"></a>
+<span class="sourceLineNo">377</span>      builder.setColumnFamily(UnsafeByteOperations.unsafeWrap(this.columnFamily));<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    if (this.columnQualifier != null) {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      builder.setColumnQualifier(UnsafeByteOperations.unsafeWrap(this.columnQualifier));<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    }<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    HBaseProtos.CompareType compareOp = CompareType.valueOf(this.op.name());<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    builder.setCompareOp(compareOp);<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    builder.setComparator(ProtobufUtil.toComparator(this.comparator));<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    builder.setFilterIfMissing(this.filterIfMissing);<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    builder.setLatestVersionOnly(this.latestVersionOnly);<a name="line.386"></a>
+<span class="sourceLineNo">387</span><a name="line.387"></a>
+<span class="sourceLineNo">388</span>    return builder.build();<a name="line.388"></a>
+<span class="sourceLineNo">389</span>  }<a name="line.389"></a>
+<span class="sourceLineNo">390</span><a name="line.390"></a>
+<span class="sourceLineNo">391</span>  /**<a name="line.391"></a>
+<span class="sourceLineNo">392</span>   * @return The filter serialized using pb<a name="line.392"></a>
+<span class="sourceLineNo">393</span>   */<a name="line.393"></a>
+<span class="sourceLineNo">394</span>  @Override<a name="line.394"></a>
+<span class="sourceLineNo">395</span>  public byte [] toByteArray() {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>    return convert().toByteArray();<a name="line.396"></a>
+<span class="sourceLineNo">397</span>  }<a name="line.397"></a>
+<span class="sourceLineNo">398</span><a name="line.398"></a>
+<span class="sourceLineNo">399</span>  /**<a name="line.399"></a>
+<span class="sourceLineNo">400</span>   * @param pbBytes A pb serialized {@link SingleColumnValueFilter} instance<a name="line.400"></a>
+<span class="sourceLineNo">401</span>   * @return An instance of {@link SingleColumnValueFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.401"></a>
+<span class="sourceLineNo">402</span>   * @throws org.apache.hadoop.hbase.exceptions.DeserializationException<a name="line.402"></a>
+<span class="sourceLineNo">403</span>   * @see #toByteArray<a name="line.403"></a>
+<span class="sourceLineNo">404</span>   */<a name="line.404"></a>
+<span class="sourceLineNo">405</span>  public static SingleColumnValueFilter parseFrom(final byte [] pbBytes)<a name="line.405"></a>
+<span class="sourceLineNo">406</span>  throws DeserializationException {<a name="line.406"></a>
+<span class="sourceLineNo">407</span>    FilterProtos.SingleColumnValueFilter proto;<a name="line.407"></a>
+<span class="sourceLineNo">408</span>    try {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      proto = FilterProtos.SingleColumnValueFilter.parseFrom(pbBytes);<a name="line.409"></a>
+<span class="sourceLineNo">410</span>    } catch (InvalidProtocolBufferException e) {<a name="line.410"></a>
+<span class="sourceLineNo">411</span>      throw new DeserializationException(e);<a name="line.411"></a>
+<span class="sourceLineNo">412</span>    }<a name="line.412"></a>
+<span class="sourceLineNo">413</span><a name="line.413"></a>
+<span class="sourceLineNo">414</span>    final CompareOperator compareOp =<a name="line.414"></a>
+<span class="sourceLineNo">415</span>      CompareOperator.valueOf(proto.getCompareOp().name());<a name="line.415"></a>
+<span class="sourceLineNo">416</span>    final org.apache.hadoop.hbase.filter.ByteArrayComparable comparator;<a name="line.416"></a>
+<span class="sourceLineNo">417</span>    try {<a name="line.417"></a>
+<span class="sourceLineNo">418</span>      comparator = ProtobufUtil.toComparator(proto.getComparator());<a name="line.418"></a>
+<span class="sourceLineNo">419</span>    } catch (IOException ioe) {<a name="line.419"></a>
+<span class="sourceLineNo">420</span>      throw new DeserializationException(ioe);<a name="line.420"></a>
+<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
+<span class="sourceLineNo">422</span><a name="line.422"></a>
+<span class="sourceLineNo">423</span>    return new SingleColumnValueFilter(proto.hasColumnFamily() ? proto.getColumnFamily()<a name="line.423"></a>
+<span class="sourceLineNo">424</span>        .toByteArray() : null, proto.hasColumnQualifier() ? proto.getColumnQualifier()<a name="line.424"></a>
+<span class="sourceLineNo">425</span>        .toByteArray() : null, compareOp, comparator, proto.getFilterIfMissing(), proto<a name="line.425"></a>
+<span class="sourceLineNo">426</span>        .getLatestVersionOnly());<a name="line.426"></a>
+<span class="sourceLineNo">427</span>  }<a name="line.427"></a>
+<span class="sourceLineNo">428</span><a name="line.428"></a>
+<span class="sourceLineNo">429</span>  /**<a name="line.429"></a>
+<span class="sourceLineNo">430</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.430"></a>
+<span class="sourceLineNo">431</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.431"></a>
+<span class="sourceLineNo">432</span>   */<a name="line.432"></a>
+<span class="sourceLineNo">433</span>  @Override<a name="line.433"></a>
+<span class="sourceLineNo">434</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.434"></a>
+<span class="sourceLineNo">435</span>    if (o == this) return true;<a name="line.435"></a>
+<span class="sourceLineNo">436</span>    if (!(o instanceof SingleColumnValueFilter)) return false;<a name="line.436"></a>
+<span class="sourceLineNo">437</span><a name="line.437"></a>
+<span class="sourceLineNo">438</span>    SingleColumnValueFilter other = (SingleColumnValueFilter)o;<a name="line.438"></a>
+<span class="sourceLineNo">439</span>    return Bytes.equals(this.getFamily(), other.getFamily())<a name="line.439"></a>
+<span class="sourceLineNo">440</span>      &amp;&amp; Bytes.equals(this.getQualifier(), other.getQualifier())<a name="line.440"></a>
+<span class="sourceLineNo">441</span>      &amp;&amp; this.op.equals(other.op)<a name="line.441"></a>
+<span class="sourceLineNo">442</span>      &amp;&amp; this.getComparator().areSerializedFieldsEqual(other.getComparator())<a name="line.442"></a>
+<span class="sourceLineNo">443</span>      &amp;&amp; this.getFilterIfMissing() == other.getFilterIfMissing()<a name="line.443"></a>
+<span class="sourceLineNo">444</span>      &amp;&amp; this.getLatestVersionOnly() == other.getLatestVersionOnly();<a name="line.444"></a>
+<span class="sourceLineNo">445</span>  }<a name="line.445"></a>
+<span class="sourceLineNo">446</span><a name="line.446"></a>
+<span class="sourceLineNo">447</span>  /**<a name="line.447"></a>
+<span class="sourceLineNo">448</span>   * The only CF this filter needs is given column family. So, it's the only essential<a name="line.448"></a>
+<span class="sourceLineNo">449</span>   * column in whole scan. If filterIfMissing == false, all families are essential,<a name="line.449"></a>
+<span class="sourceLineNo">450</span>   * because of possibility of skipping the rows without any data in filtered CF.<a name="line.450"></a>
+<span class="sourceLineNo">451</span>   */<a name="line.451"></a>
+<span class="sourceLineNo">452</span>  @Override<a name="line.452"></a>
+<span class="sourceLineNo">453</span>  public boolean isFamilyEssential(byte[] name) {<a name="line.453"></a>
+<span class="sourceLineNo">454</span>    return !this.filterIfMissing || Bytes.equals(name, this.columnFamily);<a name="line.454"></a>
+<span class="sourceLineNo">455</span>  }<a name="line.455"></a>
+<span class="sourceLineNo">456</span><a name="line.456"></a>
+<span class="sourceLineNo">457</span>  @Override<a name="line.457"></a>
+<span class="sourceLineNo">458</span>  public String toString() {<a name="line.458"></a>
+<span class="sourceLineNo">459</span>    return String.format("%s (%s, %s, %s, %s)",<a name="line.459"></a>
+<span class="sourceLineNo">460</span>        this.getClass().getSimpleName(), Bytes.toStringBinary(this.columnFamily),<a name="line.460"></a>
+<span class="sourceLineNo">461</span>        Bytes.toStringBinary(this.columnQualifier), this.op.name(),<a name="line.461"></a>
+<span class="sourceLineNo">462</span>        Bytes.toStringBinary(this.comparator.getValue()));<a name="line.462"></a>
+<span class="sourceLineNo">463</span>  }<a name="line.463"></a>
+<span class="sourceLineNo">464</span><a name="line.464"></a>
+<span class="sourceLineNo">465</span>  @Override<a name="line.465"></a>
+<span class="sourceLineNo">466</span>  public boolean equals(Object obj) {<a name="line.466"></a>
+<span class="sourceLineNo">467</span>    if (obj == null || (!(SingleColumnValueFilter.class.isInstance(obj)))) {<a name="line.467"></a>
+<span class="sourceLine

<TRUNCATED>

[51/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.


Project: http://git-wip-us.apache.org/repos/asf/hbase-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase-site/commit/0cf79db0
Tree: http://git-wip-us.apache.org/repos/asf/hbase-site/tree/0cf79db0
Diff: http://git-wip-us.apache.org/repos/asf/hbase-site/diff/0cf79db0

Branch: refs/heads/asf-site
Commit: 0cf79db0e22536afb29d872c4829058645b6b6c2
Parents: 455e329
Author: jenkins <bu...@apache.org>
Authored: Fri Aug 24 14:46:57 2018 +0000
Committer: jenkins <bu...@apache.org>
Committed: Fri Aug 24 14:46:57 2018 +0000

----------------------------------------------------------------------
 acid-semantics.html                             |    4 +-
 apache_hbase_reference_guide.pdf                |    4 +-
 apidocs/index-all.html                          |  108 +
 .../hbase/filter/ColumnCountGetFilter.html      |   80 +-
 .../hbase/filter/ColumnPaginationFilter.html    |   90 +-
 .../hadoop/hbase/filter/ColumnPrefixFilter.html |   82 +-
 .../hadoop/hbase/filter/ColumnRangeFilter.html  |  104 +-
 .../hadoop/hbase/filter/ColumnValueFilter.html  |   90 +-
 .../hbase/filter/CompareFilter.CompareOp.html   |   16 +-
 .../hadoop/hbase/filter/CompareFilter.html      |   88 +-
 .../hbase/filter/DependentColumnFilter.html     |  116 +-
 .../hadoop/hbase/filter/FamilyFilter.html       |   62 +-
 .../hbase/filter/FilterList.Operator.html       |   10 +-
 .../apache/hadoop/hbase/filter/FilterList.html  |  134 +-
 .../FirstKeyValueMatchingQualifiersFilter.html  |   64 +-
 .../hadoop/hbase/filter/FuzzyRowFilter.html     |   70 +-
 .../hbase/filter/InclusiveStopFilter.html       |   76 +-
 .../hadoop/hbase/filter/KeyOnlyFilter.html      |   70 +-
 .../filter/MultiRowRangeFilter.RowRange.html    |   72 +-
 .../hbase/filter/MultiRowRangeFilter.html       |   78 +-
 .../filter/MultipleColumnPrefixFilter.html      |   90 +-
 .../apache/hadoop/hbase/filter/PageFilter.html  |   84 +-
 .../hadoop/hbase/filter/PrefixFilter.html       |   90 +-
 .../hadoop/hbase/filter/QualifierFilter.html    |   62 +-
 .../hadoop/hbase/filter/RandomRowFilter.html    |   92 +-
 .../apache/hadoop/hbase/filter/RowFilter.html   |   74 +-
 .../filter/SingleColumnValueExcludeFilter.html  |    4 +-
 .../hbase/filter/SingleColumnValueFilter.html   |  146 +-
 .../apache/hadoop/hbase/filter/SkipFilter.html  |   90 +-
 .../hadoop/hbase/filter/TimestampsFilter.html   |   86 +-
 .../apache/hadoop/hbase/filter/ValueFilter.html |   62 +-
 .../hadoop/hbase/filter/WhileMatchFilter.html   |   98 +-
 .../hbase/filter/ColumnCountGetFilter.html      |  239 +-
 .../hbase/filter/ColumnPaginationFilter.html    |  437 +-
 .../hadoop/hbase/filter/ColumnPrefixFilter.html |  297 +-
 .../hadoop/hbase/filter/ColumnRangeFilter.html  |  450 +-
 .../hadoop/hbase/filter/ColumnValueFilter.html  |  452 +-
 .../hbase/filter/CompareFilter.CompareOp.html   |  617 +--
 .../hadoop/hbase/filter/CompareFilter.html      |  617 +--
 .../hbase/filter/DependentColumnFilter.html     |  596 +--
 .../hadoop/hbase/filter/FamilyFilter.html       |  267 +-
 .../hbase/filter/FilterList.Operator.html       |  522 +-
 .../apache/hadoop/hbase/filter/FilterList.html  |  522 +-
 .../FirstKeyValueMatchingQualifiersFilter.html  |  247 +-
 .../hadoop/hbase/filter/FuzzyRowFilter.html     | 1265 ++---
 .../hbase/filter/InclusiveStopFilter.html       |  239 +-
 .../hadoop/hbase/filter/KeyOnlyFilter.html      |  848 ++--
 .../filter/MultiRowRangeFilter.RowRange.html    | 1026 ++--
 .../hbase/filter/MultiRowRangeFilter.html       | 1026 ++--
 .../filter/MultipleColumnPrefixFilter.html      |  394 +-
 .../apache/hadoop/hbase/filter/PageFilter.html  |  277 +-
 .../hadoop/hbase/filter/PrefixFilter.html       |  289 +-
 .../hadoop/hbase/filter/QualifierFilter.html    |  261 +-
 .../hadoop/hbase/filter/RandomRowFilter.html    |  287 +-
 .../apache/hadoop/hbase/filter/RowFilter.html   |  295 +-
 .../hbase/filter/SingleColumnValueFilter.html   |  896 ++--
 .../apache/hadoop/hbase/filter/SkipFilter.html  |  299 +-
 .../hadoop/hbase/filter/TimestampsFilter.html   |  451 +-
 .../apache/hadoop/hbase/filter/ValueFilter.html |  253 +-
 .../hadoop/hbase/filter/WhileMatchFilter.html   |  303 +-
 book.html                                       |    2 +-
 bulk-loads.html                                 |    4 +-
 checkstyle-aggregate.html                       | 1552 +++---
 coc.html                                        |    4 +-
 dependencies.html                               |    4 +-
 dependency-convergence.html                     |    4 +-
 dependency-info.html                            |    4 +-
 dependency-management.html                      |    4 +-
 devapidocs/constant-values.html                 |    6 +-
 devapidocs/index-all.html                       |  130 +
 .../hadoop/hbase/backup/package-tree.html       |    2 +-
 .../hadoop/hbase/client/package-tree.html       |   26 +-
 .../hbase/filter/ColumnCountGetFilter.html      |   86 +-
 .../hbase/filter/ColumnPaginationFilter.html    |  100 +-
 .../hadoop/hbase/filter/ColumnPrefixFilter.html |   86 +-
 .../hadoop/hbase/filter/ColumnRangeFilter.html  |  106 +-
 .../hadoop/hbase/filter/ColumnValueFilter.html  |  106 +-
 .../hbase/filter/CompareFilter.CompareOp.html   |   16 +-
 .../hadoop/hbase/filter/CompareFilter.html      |   96 +-
 .../hbase/filter/DependentColumnFilter.html     |  118 +-
 .../hadoop/hbase/filter/FamilyFilter.html       |   64 +-
 .../hbase/filter/FilterList.Operator.html       |   10 +-
 .../apache/hadoop/hbase/filter/FilterList.html  |  140 +-
 .../hadoop/hbase/filter/FilterListWithAND.html  |   86 +-
 .../hadoop/hbase/filter/FilterListWithOR.html   |   96 +-
 .../FirstKeyValueMatchingQualifiersFilter.html  |   72 +-
 .../hbase/filter/FuzzyRowFilter.Order.html      |   22 +-
 .../hbase/filter/FuzzyRowFilter.RowTracker.html |   16 +-
 .../filter/FuzzyRowFilter.SatisfiesCode.html    |   12 +-
 .../hadoop/hbase/filter/FuzzyRowFilter.html     |  126 +-
 .../hbase/filter/InclusiveStopFilter.html       |   82 +-
 ...nlyFilter.KeyOnlyByteBufferExtendedCell.html |   80 +-
 .../hbase/filter/KeyOnlyFilter.KeyOnlyCell.html |   46 +-
 .../hadoop/hbase/filter/KeyOnlyFilter.html      |   76 +-
 .../filter/MultiRowRangeFilter.RowRange.html    |   80 +-
 .../hbase/filter/MultiRowRangeFilter.html       |  104 +-
 .../filter/MultipleColumnPrefixFilter.html      |   94 +-
 .../apache/hadoop/hbase/filter/PageFilter.html  |   90 +-
 .../hadoop/hbase/filter/PrefixFilter.html       |   92 +-
 .../hadoop/hbase/filter/QualifierFilter.html    |   64 +-
 .../hadoop/hbase/filter/RandomRowFilter.html    |   94 +-
 .../apache/hadoop/hbase/filter/RowFilter.html   |   78 +-
 .../filter/SingleColumnValueExcludeFilter.html  |    4 +-
 .../hbase/filter/SingleColumnValueFilter.html   |  154 +-
 .../apache/hadoop/hbase/filter/SkipFilter.html  |   98 +-
 .../hadoop/hbase/filter/TimestampsFilter.html   |  100 +-
 .../apache/hadoop/hbase/filter/ValueFilter.html |   64 +-
 .../hadoop/hbase/filter/WhileMatchFilter.html   |  106 +-
 .../hadoop/hbase/filter/package-tree.html       |   10 +-
 .../hadoop/hbase/io/hfile/package-tree.html     |    4 +-
 .../apache/hadoop/hbase/ipc/package-tree.html   |    2 +-
 .../hadoop/hbase/mapreduce/package-tree.html    |    4 +-
 .../master/assignment/AssignmentManager.html    |   96 +-
 .../assignment/TransitRegionStateProcedure.html |   40 +-
 .../assignment/class-use/RegionStateNode.html   |   12 +-
 .../hbase/master/balancer/package-tree.html     |    2 +-
 .../master/class-use/RegionState.State.html     |   12 +
 .../hadoop/hbase/master/package-tree.html       |    4 +-
 .../master/procedure/ServerCrashProcedure.html  |   42 +-
 .../hbase/master/procedure/package-tree.html    |    4 +-
 .../hadoop/hbase/monitoring/package-tree.html   |    2 +-
 .../org/apache/hadoop/hbase/package-tree.html   |   16 +-
 .../hadoop/hbase/procedure2/package-tree.html   |    4 +-
 .../hadoop/hbase/quotas/package-tree.html       |    8 +-
 .../hadoop/hbase/regionserver/package-tree.html |   14 +-
 .../regionserver/querymatcher/package-tree.html |    2 +-
 .../hbase/regionserver/wal/package-tree.html    |    4 +-
 .../hadoop/hbase/rest/model/package-tree.html   |    2 +-
 .../access/AccessControlFilter.Strategy.html    |   10 +-
 .../security/access/AccessControlFilter.html    |   84 +-
 .../hbase/security/access/package-tree.html     |    2 +-
 .../hadoop/hbase/security/package-tree.html     |    4 +-
 ...DeleteVersionVisibilityExpressionFilter.html |   42 +-
 .../visibility/VisibilityController.html        |    2 +-
 .../visibility/VisibilityLabelFilter.html       |   66 +-
 .../hadoop/hbase/thrift/package-tree.html       |    2 +-
 .../apache/hadoop/hbase/util/package-tree.html  |    6 +-
 .../apache/hadoop/hbase/wal/package-tree.html   |    2 +-
 .../org/apache/hadoop/hbase/Version.html        |    6 +-
 .../hbase/filter/ColumnCountGetFilter.html      |  239 +-
 .../hbase/filter/ColumnPaginationFilter.html    |  437 +-
 .../hadoop/hbase/filter/ColumnPrefixFilter.html |  297 +-
 .../hadoop/hbase/filter/ColumnRangeFilter.html  |  450 +-
 .../hadoop/hbase/filter/ColumnValueFilter.html  |  452 +-
 .../hbase/filter/CompareFilter.CompareOp.html   |  617 +--
 .../hadoop/hbase/filter/CompareFilter.html      |  617 +--
 .../hbase/filter/DependentColumnFilter.html     |  596 +--
 .../hadoop/hbase/filter/FamilyFilter.html       |  267 +-
 .../hbase/filter/FilterList.Operator.html       |  522 +-
 .../apache/hadoop/hbase/filter/FilterList.html  |  522 +-
 .../hadoop/hbase/filter/FilterListWithAND.html  |  529 +-
 .../hadoop/hbase/filter/FilterListWithOR.html   |  751 +--
 .../FirstKeyValueMatchingQualifiersFilter.html  |  247 +-
 .../hbase/filter/FuzzyRowFilter.Order.html      | 1265 ++---
 .../hbase/filter/FuzzyRowFilter.RowTracker.html | 1265 ++---
 .../filter/FuzzyRowFilter.SatisfiesCode.html    | 1265 ++---
 .../hadoop/hbase/filter/FuzzyRowFilter.html     | 1265 ++---
 .../hbase/filter/InclusiveStopFilter.html       |  239 +-
 ...nlyFilter.KeyOnlyByteBufferExtendedCell.html |  848 ++--
 .../hbase/filter/KeyOnlyFilter.KeyOnlyCell.html |  848 ++--
 .../hadoop/hbase/filter/KeyOnlyFilter.html      |  848 ++--
 .../filter/MultiRowRangeFilter.RowRange.html    | 1026 ++--
 .../hbase/filter/MultiRowRangeFilter.html       | 1026 ++--
 .../filter/MultipleColumnPrefixFilter.html      |  394 +-
 .../apache/hadoop/hbase/filter/PageFilter.html  |  277 +-
 .../hadoop/hbase/filter/PrefixFilter.html       |  289 +-
 .../hadoop/hbase/filter/QualifierFilter.html    |  261 +-
 .../hadoop/hbase/filter/RandomRowFilter.html    |  287 +-
 .../apache/hadoop/hbase/filter/RowFilter.html   |  295 +-
 .../hbase/filter/SingleColumnValueFilter.html   |  896 ++--
 .../apache/hadoop/hbase/filter/SkipFilter.html  |  299 +-
 .../hadoop/hbase/filter/TimestampsFilter.html   |  451 +-
 .../apache/hadoop/hbase/filter/ValueFilter.html |  253 +-
 .../hadoop/hbase/filter/WhileMatchFilter.html   |  303 +-
 ...signmentManager.RegionInTransitionChore.html |  837 ++--
 ...ssignmentManager.RegionInTransitionStat.html |  837 ++--
 .../master/assignment/AssignmentManager.html    |  837 ++--
 .../RegionStateStore.RegionStateVisitor.html    |    2 +-
 .../master/assignment/RegionStateStore.html     |    2 +-
 .../assignment/TransitRegionStateProcedure.html |  474 +-
 .../master/procedure/ServerCrashProcedure.html  |  529 +-
 .../access/AccessControlFilter.Strategy.html    |  331 +-
 .../security/access/AccessControlFilter.html    |  331 +-
 ...DeleteVersionVisibilityExpressionFilter.html |   47 +-
 .../visibility/VisibilityController.html        |   47 +-
 .../visibility/VisibilityLabelFilter.html       |  162 +-
 downloads.html                                  |    4 +-
 export_control.html                             |    4 +-
 index.html                                      |    4 +-
 integration.html                                |    4 +-
 issue-tracking.html                             |    4 +-
 license.html                                    |    4 +-
 mail-lists.html                                 |    4 +-
 metrics.html                                    |    4 +-
 old_news.html                                   |    4 +-
 plugin-management.html                          |    4 +-
 plugins.html                                    |    4 +-
 poweredbyhbase.html                             |    4 +-
 project-info.html                               |    4 +-
 project-reports.html                            |    4 +-
 project-summary.html                            |    4 +-
 pseudo-distributed.html                         |    4 +-
 replication.html                                |    4 +-
 resources.html                                  |    4 +-
 source-repository.html                          |    4 +-
 sponsors.html                                   |    4 +-
 supportingprojects.html                         |    4 +-
 team-list.html                                  |    4 +-
 testdevapidocs/constant-values.html             |    2 +-
 testdevapidocs/index-all.html                   |   16 +
 .../hbase/client/ColumnCountOnRowFilter.html    |   62 +-
 .../hbase/filter/TestFilter.OldTestFilter.html  |   12 +-
 .../hbase/filter/TestFilter.SlowScanFilter.html |   12 +-
 .../apache/hadoop/hbase/filter/TestFilter.html  |  116 +-
 .../TestFilterList.AlwaysNextColFilter.html     |    8 +-
 .../hbase/filter/TestFilterList.MockFilter.html |   50 +-
 .../TestFilterList.MockNextRowFilter.html       |   10 +-
 .../TestFilterList.MockSeekHintFilter.html      |   52 +-
 .../filter/TestFilterList.TransformFilter.html  |   58 +-
 .../hadoop/hbase/filter/TestFilterList.html     |   64 +-
 ...RegionWhileRSCrash.DummyServerProcedure.html |   30 +-
 .../assignment/TestCloseRegionWhileRSCrash.html |   26 +-
 .../org/apache/hadoop/hbase/package-tree.html   |   10 +-
 .../hadoop/hbase/procedure2/package-tree.html   |    2 +-
 .../hadoop/hbase/regionserver/package-tree.html |    4 +-
 .../hbase/rest/TestTableScan.CustomFilter.html  |    4 +-
 .../apache/hadoop/hbase/test/package-tree.html  |    4 +-
 .../apache/hadoop/hbase/wal/package-tree.html   |    2 +-
 .../hbase/client/ColumnCountOnRowFilter.html    |   94 +-
 .../hbase/filter/TestFilter.OldTestFilter.html  | 4667 +++++++++---------
 .../hbase/filter/TestFilter.SlowScanFilter.html | 4667 +++++++++---------
 .../apache/hadoop/hbase/filter/TestFilter.html  | 4667 +++++++++---------
 .../TestFilterList.AlwaysNextColFilter.html     | 1999 ++++----
 .../hbase/filter/TestFilterList.MockFilter.html | 1999 ++++----
 .../TestFilterList.MockNextRowFilter.html       | 1999 ++++----
 .../TestFilterList.MockSeekHintFilter.html      | 1999 ++++----
 .../filter/TestFilterList.TransformFilter.html  | 1999 ++++----
 .../hadoop/hbase/filter/TestFilterList.html     | 1999 ++++----
 ...RegionWhileRSCrash.DummyServerProcedure.html |  425 +-
 .../assignment/TestCloseRegionWhileRSCrash.html |  425 +-
 .../TestFlushWithThroughputController.html      |    2 +-
 241 files changed, 38816 insertions(+), 34820 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/acid-semantics.html
----------------------------------------------------------------------
diff --git a/acid-semantics.html b/acid-semantics.html
index ac520dd..b541a1b 100644
--- a/acid-semantics.html
+++ b/acid-semantics.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180823" />
+    <meta name="Date-Revision-yyyymmdd" content="20180824" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Apache HBase (TM) ACID Properties
@@ -601,7 +601,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-08-23</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-08-24</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apache_hbase_reference_guide.pdf
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index 4b6abc6..2862164 100644
--- a/apache_hbase_reference_guide.pdf
+++ b/apache_hbase_reference_guide.pdf
@@ -5,8 +5,8 @@
 /Author (Apache HBase Team)
 /Creator (Asciidoctor PDF 1.5.0.alpha.15, based on Prawn 2.2.2)
 /Producer (Apache HBase Team)
-/ModDate (D:20180823142957+00'00')
-/CreationDate (D:20180823144348+00'00')
+/ModDate (D:20180824142955+00'00')
+/CreationDate (D:20180824144339+00'00')
 >>
 endobj
 2 0 obj

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/index-all.html
----------------------------------------------------------------------
diff --git a/apidocs/index-all.html b/apidocs/index-all.html
index b7b6378..707f8b1 100644
--- a/apidocs/index-all.html
+++ b/apidocs/index-all.html
@@ -4865,8 +4865,62 @@
 &nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/BigDecimalComparator.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/BigDecimalComparator.html" title="class in org.apache.hadoop.hbase.filter">BigDecimalComparator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnCountGetFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnPaginationFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnPrefixFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/ColumnRangeFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnRangeFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/ColumnValueFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/ColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnValueFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/CompareFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/DependentColumnFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/DependentColumnFilter.html" title="class in org.apache.hadoop.hbase.filter">DependentColumnFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/FamilyFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/FamilyFilter.html" title="class in org.apache.hadoop.hbase.filter">FamilyFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/FilterList.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/FilterList.html" title="class in org.apache.hadoop.hbase.filter">FilterList</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html" title="class in org.apache.hadoop.hbase.filter">FirstKeyValueMatchingQualifiersFilter</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/FuzzyRowFilter.html" title="class in org.apache.hadoop.hbase.filter">FuzzyRowFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/InclusiveStopFilter.html" title="class in org.apache.hadoop.hbase.filter">InclusiveStopFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/KeyOnlyFilter.html" title="class in org.apache.hadoop.hbase.filter">KeyOnlyFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">MultipleColumnPrefixFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/NullComparator.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/NullComparator.html" title="class in org.apache.hadoop.hbase.filter">NullComparator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/PageFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/PageFilter.html" title="class in org.apache.hadoop.hbase.filter">PageFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/PrefixFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/PrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">PrefixFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/QualifierFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/QualifierFilter.html" title="class in org.apache.hadoop.hbase.filter">QualifierFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/RandomRowFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/RandomRowFilter.html" title="class in org.apache.hadoop.hbase.filter">RandomRowFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/RowFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/RowFilter.html" title="class in org.apache.hadoop.hbase.filter">RowFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter">SingleColumnValueFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/SkipFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/SkipFilter.html" title="class in org.apache.hadoop.hbase.filter">SkipFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/TimestampsFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/TimestampsFilter.html" title="class in org.apache.hadoop.hbase.filter">TimestampsFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/ValueFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/ValueFilter.html" title="class in org.apache.hadoop.hbase.filter">ValueFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/WhileMatchFilter.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/WhileMatchFilter.html" title="class in org.apache.hadoop.hbase.filter">WhileMatchFilter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HColumnDescriptor.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
@@ -9451,8 +9505,62 @@
 &nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/BigDecimalComparator.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/BigDecimalComparator.html" title="class in org.apache.hadoop.hbase.filter">BigDecimalComparator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnCountGetFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnPaginationFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnPrefixFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/ColumnRangeFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/ColumnRangeFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnRangeFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/ColumnValueFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/ColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnValueFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/CompareFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/DependentColumnFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/DependentColumnFilter.html" title="class in org.apache.hadoop.hbase.filter">DependentColumnFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/FamilyFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/FamilyFilter.html" title="class in org.apache.hadoop.hbase.filter">FamilyFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/FilterList.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/FilterList.html" title="class in org.apache.hadoop.hbase.filter">FilterList</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html" title="class in org.apache.hadoop.hbase.filter">FirstKeyValueMatchingQualifiersFilter</a></dt>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/FuzzyRowFilter.html" title="class in org.apache.hadoop.hbase.filter">FuzzyRowFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/InclusiveStopFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/InclusiveStopFilter.html" title="class in org.apache.hadoop.hbase.filter">InclusiveStopFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/KeyOnlyFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/KeyOnlyFilter.html" title="class in org.apache.hadoop.hbase.filter">KeyOnlyFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">MultipleColumnPrefixFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/MultiRowRangeFilter.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html" title="class in org.apache.hadoop.hbase.filter">MultiRowRangeFilter.RowRange</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/NullComparator.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/NullComparator.html" title="class in org.apache.hadoop.hbase.filter">NullComparator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/PageFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/PageFilter.html" title="class in org.apache.hadoop.hbase.filter">PageFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/PrefixFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/PrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">PrefixFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/QualifierFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/QualifierFilter.html" title="class in org.apache.hadoop.hbase.filter">QualifierFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/RandomRowFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/RandomRowFilter.html" title="class in org.apache.hadoop.hbase.filter">RandomRowFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/RowFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/RowFilter.html" title="class in org.apache.hadoop.hbase.filter">RowFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter">SingleColumnValueFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/SkipFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/SkipFilter.html" title="class in org.apache.hadoop.hbase.filter">SkipFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/TimestampsFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/TimestampsFilter.html" title="class in org.apache.hadoop.hbase.filter">TimestampsFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/ValueFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/ValueFilter.html" title="class in org.apache.hadoop.hbase.filter">ValueFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/WhileMatchFilter.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/WhileMatchFilter.html" title="class in org.apache.hadoop.hbase.filter">WhileMatchFilter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HColumnDescriptor.html#hashCode--">hashCode()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html b/apidocs/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html
index a98bcd9..3ffcfcf 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":10,"i3":42,"i4":10,"i5":10,"i6":9,"i7":10,"i8":10,"i9":10};
+var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":42,"i5":10,"i6":10,"i7":10,"i8":9,"i9":10,"i10":10,"i11":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.40">ColumnCountGetFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.41">ColumnCountGetFilter</a>
 extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <div class="block">Simple filter that returns first N columns on row only.
  This filter was written to test filters in Get and as soon as it gets
@@ -197,51 +197,59 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#filterAllRemaining--">filterAllRemaining</a></span>()</code>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#getLimit--">getLimit</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnCountGetFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#reset--">reset</a></span>()</code>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
@@ -267,7 +275,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -289,7 +297,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ColumnCountGetFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.44">ColumnCountGetFilter</a>(int&nbsp;n)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.45">ColumnCountGetFilter</a>(int&nbsp;n)</pre>
 </li>
 </ul>
 </li>
@@ -306,7 +314,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getLimit</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.49">getLimit</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.50">getLimit</a>()</pre>
 </li>
 </ul>
 <a name="filterRowKey-org.apache.hadoop.hbase.Cell-">
@@ -315,7 +323,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.54">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.55">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -343,7 +351,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>filterAllRemaining</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.61">filterAllRemaining</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.62">filterAllRemaining</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.
@@ -367,7 +375,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.67">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.68">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -402,7 +410,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.72">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.73">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -436,7 +444,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.78">reset</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.79">reset</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.
@@ -457,7 +465,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.82">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.83">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -466,7 +474,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.93">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.94">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -483,7 +491,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnCountGetFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.106">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnCountGetFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.107">parseFrom</a>(byte[]&nbsp;pbBytes)
                                       throws org.apache.hadoop.hbase.exceptions.DeserializationException</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -500,10 +508,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.132">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.133">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -512,6 +520,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.138">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnCountGetFilter.html#line.147">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html b/apidocs/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html
index cb90c0f..9e332ec 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":42,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":9,"i9":10,"i10":10,"i11":10};
+var methods = {"i0":9,"i1":10,"i2":10,"i3":42,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":9,"i11":10,"i12":10,"i13":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.43">ColumnPaginationFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.44">ColumnPaginationFilter</a>
 extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <div class="block">A filter, based on the ColumnCountGetFilter, takes two arguments: limit and offset.
  This filter can be used for row-based indexing, where references to other tables are stored across many columns,
@@ -205,60 +205,68 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#getColumnOffset--">getColumnOffset</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#getLimit--">getLimit</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#getOffset--">getOffset</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnPaginationFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#reset--">reset</a></span>()</code>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
@@ -284,7 +292,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -306,7 +314,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>ColumnPaginationFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.59">ColumnPaginationFilter</a>(int&nbsp;limit,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.60">ColumnPaginationFilter</a>(int&nbsp;limit,
                               int&nbsp;offset)</pre>
 <div class="block">Initializes filter with an integer offset and limit. The offset is arrived at
  scanning sequentially and skipping entries. @limit number of columns are
@@ -325,7 +333,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ColumnPaginationFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.77">ColumnPaginationFilter</a>(int&nbsp;limit,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.78">ColumnPaginationFilter</a>(int&nbsp;limit,
                               byte[]&nbsp;columnOffset)</pre>
 <div class="block">Initializes filter with a string/bookmark based offset and limit. The offset is arrived
  at, by seeking to it using scanner hints. If multiple column families are involved,
@@ -353,7 +361,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getLimit</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.89">getLimit</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.90">getLimit</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>limit</dd>
@@ -366,7 +374,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getOffset</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.96">getOffset</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.97">getOffset</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>offset</dd>
@@ -379,7 +387,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getColumnOffset</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.103">getColumnOffset</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.104">getColumnOffset</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>columnOffset</dd>
@@ -392,7 +400,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.108">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.109">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -421,7 +429,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.115">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.116">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -456,7 +464,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.120">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.121">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -490,7 +498,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>getNextCellHint</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.150">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.151">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.
@@ -516,7 +524,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.155">reset</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.156">reset</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.
@@ -537,7 +545,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.160">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.161">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -546,7 +554,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.172">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.173">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -563,7 +571,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnPaginationFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.191">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html" title="class in org.apache.hadoop.hbase.filter">ColumnPaginationFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.192">parseFrom</a>(byte[]&nbsp;pbBytes)
                                         throws org.apache.hadoop.hbase.exceptions.DeserializationException</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -580,10 +588,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.225">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.226">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -592,6 +600,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.236">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ColumnPaginationFilter.html#line.245">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>


[11/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html b/devapidocs/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html
index dec3733..037ad83 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":9,"i3":10,"i4":10,"i5":42,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":42,"i14":10,"i15":10,"i16":10,"i17":9,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10};
+var methods = {"i0":10,"i1":10,"i2":9,"i3":10,"i4":10,"i5":10,"i6":42,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":42,"i15":10,"i16":10,"i17":10,"i18":10,"i19":9,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -124,7 +124,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.71">SingleColumnValueFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.72">SingleColumnValueFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></pre>
 <div class="block">This filter is used to filter cells based on value. It takes a <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter"><code>CompareFilter.CompareOp</code></a>
  operator (equal, greater, not equal, etc), and either a byte [] value or
@@ -337,22 +337,26 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterColumnValue-org.apache.hadoop.hbase.Cell-">filterColumnValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterRow--">filterRow</a></span>()</code>
 <div class="block">Filters that never filter by rows based on previously gathered state from
@@ -360,37 +364,37 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
  never filters a row.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getComparator--">getComparator</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getCompareOperator--">getCompareOperator</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getFamily--">getFamily</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getFilterIfMissing--">getFilterIfMissing</a></span>()</code>
 <div class="block">Get whether entire row should be filtered if column is not found.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getLatestVersionOnly--">getLatestVersionOnly</a></span>()</code>
 <div class="block">Get whether only the latest version of the column value should be compared.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getOperator--">getOperator</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -398,53 +402,57 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 </div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getQualifier--">getQualifier</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#hasFilterRow--">hasFilterRow</a></span>()</code>
 <div class="block">Fitlers that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#isFamilyEssential-byte:A-">isFamilyEssential</a></span>(byte[]&nbsp;name)</code>
 <div class="block">The only CF this filter needs is given column family.</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter">SingleColumnValueFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#reset--">reset</a></span>()</code>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#setFilterIfMissing-boolean-">setFilterIfMissing</a></span>(boolean&nbsp;filterIfMissing)</code>
 <div class="block">Set whether entire row should be filtered if column is not found.</div>
 </td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#setLatestVersionOnly-boolean-">setLatestVersionOnly</a></span>(boolean&nbsp;latestVersionOnly)</code>
 <div class="block">Set whether only the latest version of the column value should be compared.</div>
 </td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
@@ -470,7 +478,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -492,7 +500,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>columnFamily</h4>
-<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.73">columnFamily</a></pre>
+<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.74">columnFamily</a></pre>
 </li>
 </ul>
 <a name="columnQualifier">
@@ -501,7 +509,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>columnQualifier</h4>
-<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.74">columnQualifier</a></pre>
+<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.75">columnQualifier</a></pre>
 </li>
 </ul>
 <a name="op">
@@ -510,7 +518,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>op</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.75">op</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.76">op</a></pre>
 </li>
 </ul>
 <a name="comparator">
@@ -519,7 +527,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>comparator</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.76">comparator</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.77">comparator</a></pre>
 </li>
 </ul>
 <a name="foundColumn">
@@ -528,7 +536,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>foundColumn</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.77">foundColumn</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.78">foundColumn</a></pre>
 </li>
 </ul>
 <a name="matchedColumn">
@@ -537,7 +545,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>matchedColumn</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.78">matchedColumn</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.79">matchedColumn</a></pre>
 </li>
 </ul>
 <a name="filterIfMissing">
@@ -546,7 +554,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>filterIfMissing</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.79">filterIfMissing</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.80">filterIfMissing</a></pre>
 </li>
 </ul>
 <a name="latestVersionOnly">
@@ -555,7 +563,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>latestVersionOnly</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.80">latestVersionOnly</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.81">latestVersionOnly</a></pre>
 </li>
 </ul>
 </li>
@@ -573,7 +581,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <li class="blockList">
 <h4>SingleColumnValueFilter</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.99">SingleColumnValueFilter</a>(byte[]&nbsp;family,
+public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.100">SingleColumnValueFilter</a>(byte[]&nbsp;family,
                                            byte[]&nbsp;qualifier,
                                            <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
                                            byte[]&nbsp;value)</pre>
@@ -601,7 +609,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Sing
 <ul class="blockList">
 <li class="blockList">
 <h4>SingleColumnValueFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.119">SingleColumnValueFilter</a>(byte[]&nbsp;family,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.120">SingleColumnValueFilter</a>(byte[]&nbsp;family,
                                byte[]&nbsp;qualifier,
                                <a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                                byte[]&nbsp;value)</pre>
@@ -628,7 +636,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Sing
 <li class="blockList">
 <h4>SingleColumnValueFilter</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.142">SingleColumnValueFilter</a>(byte[]&nbsp;family,
+public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.143">SingleColumnValueFilter</a>(byte[]&nbsp;family,
                                            byte[]&nbsp;qualifier,
                                            <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
                                            <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator)</pre>
@@ -656,7 +664,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Sing
 <ul class="blockList">
 <li class="blockList">
 <h4>SingleColumnValueFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.162">SingleColumnValueFilter</a>(byte[]&nbsp;family,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.163">SingleColumnValueFilter</a>(byte[]&nbsp;family,
                                byte[]&nbsp;qualifier,
                                <a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                                <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator)</pre>
@@ -683,7 +691,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Sing
 <li class="blockList">
 <h4>SingleColumnValueFilter</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.184">SingleColumnValueFilter</a>(byte[]&nbsp;family,
+protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.185">SingleColumnValueFilter</a>(byte[]&nbsp;family,
                                               byte[]&nbsp;qualifier,
                                               <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
                                               <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
@@ -710,7 +718,7 @@ protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/S
 <ul class="blockListLast">
 <li class="blockList">
 <h4>SingleColumnValueFilter</h4>
-<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.201">SingleColumnValueFilter</a>(byte[]&nbsp;family,
+<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.202">SingleColumnValueFilter</a>(byte[]&nbsp;family,
                                   byte[]&nbsp;qualifier,
                                   <a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                                   <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
@@ -743,7 +751,7 @@ protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/S
 <li class="blockList">
 <h4>getOperator</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.214">getOperator</a>()</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.215">getOperator</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 2.0.0. Will be removed in 3.0.0. Use <a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#getCompareOperator--"><code>getCompareOperator()</code></a> instead.</span></div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -757,7 +765,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompareOperator</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.218">getCompareOperator</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.219">getCompareOperator</a>()</pre>
 </li>
 </ul>
 <a name="getComparator--">
@@ -766,7 +774,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter
 <ul class="blockList">
 <li class="blockList">
 <h4>getComparator</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.225">getComparator</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.226">getComparator</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the comparator</dd>
@@ -779,7 +787,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamily</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.232">getFamily</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.233">getFamily</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the family</dd>
@@ -792,7 +800,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter
 <ul class="blockList">
 <li class="blockList">
 <h4>getQualifier</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.239">getQualifier</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.240">getQualifier</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the qualifier</dd>
@@ -805,7 +813,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.244">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.245">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -834,7 +842,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.251">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.252">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -869,7 +877,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.256">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.257">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -903,7 +911,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterColumnValue</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.276">filterColumnValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.277">filterColumnValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 </li>
 </ul>
 <a name="filterRow--">
@@ -912,7 +920,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.282">filterRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.283">filterRow</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterRow--">FilterBase</a></code></span></div>
 <div class="block">Filters that never filter by rows based on previously gathered state from
  <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-"><code>Filter.filterCell(Cell)</code></a> can inherit this implementation that
@@ -938,7 +946,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>hasFilterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.289">hasFilterRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.290">hasFilterRow</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#hasFilterRow--">FilterBase</a></code></span></div>
 <div class="block">Fitlers that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.
@@ -959,7 +967,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.294">reset</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.295">reset</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#reset--">FilterBase</a></code></span></div>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.
@@ -980,7 +988,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>getFilterIfMissing</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.304">getFilterIfMissing</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.305">getFilterIfMissing</a>()</pre>
 <div class="block">Get whether entire row should be filtered if column is not found.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -995,7 +1003,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>setFilterIfMissing</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.316">setFilterIfMissing</a>(boolean&nbsp;filterIfMissing)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.317">setFilterIfMissing</a>(boolean&nbsp;filterIfMissing)</pre>
 <div class="block">Set whether entire row should be filtered if column is not found.
  <p>
  If true, the entire row will be skipped if the column is not found.
@@ -1013,7 +1021,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>getLatestVersionOnly</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.327">getLatestVersionOnly</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.328">getLatestVersionOnly</a>()</pre>
 <div class="block">Get whether only the latest version of the column value should be compared.
  If true, the row will be returned if only the latest version of the column
  value matches. If false, the row will be returned if any version of the
@@ -1030,7 +1038,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>setLatestVersionOnly</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.338">setLatestVersionOnly</a>(boolean&nbsp;latestVersionOnly)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.339">setLatestVersionOnly</a>(boolean&nbsp;latestVersionOnly)</pre>
 <div class="block">Set whether only the latest version of the column value should be compared.
  If true, the row will be returned if only the latest version of the column
  value matches. If false, the row will be returned if any version of the
@@ -1047,7 +1055,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.342">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.343">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="convert--">
@@ -1056,7 +1064,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>convert</h4>
-<pre>org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos.SingleColumnValueFilter&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.372">convert</a>()</pre>
+<pre>org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos.SingleColumnValueFilter&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.373">convert</a>()</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -1065,7 +1073,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.394">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.395">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toByteArray--">FilterBase</a></code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -1082,7 +1090,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter">SingleColumnValueFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.404">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter">SingleColumnValueFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.405">parseFrom</a>(byte[]&nbsp;pbBytes)
                                          throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1102,7 +1110,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>areSerializedFieldsEqual</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.433">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.434">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">FilterBase</a></code></span></div>
 <div class="block">Default implementation so that writers of custom filters aren't forced to implement.</div>
 <dl>
@@ -1120,7 +1128,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>isFamilyEssential</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.452">isFamilyEssential</a>(byte[]&nbsp;name)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.453">isFamilyEssential</a>(byte[]&nbsp;name)</pre>
 <div class="block">The only CF this filter needs is given column family. So, it's the only essential
  column in whole scan. If filterIfMissing == false, all families are essential,
  because of possibility of skipping the rows without any data in filtered CF.</div>
@@ -1133,10 +1141,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.457">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.458">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toString--">FilterBase</a></code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -1145,6 +1153,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.466">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html#line.475">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/SkipFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/SkipFilter.html b/devapidocs/org/apache/hadoop/hbase/filter/SkipFilter.html
index e289f94..a54f0b4 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/SkipFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/SkipFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":42,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":9,"i10":10,"i11":10,"i12":10,"i13":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":42,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":9,"i12":10,"i13":10,"i14":10,"i15":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.53">SkipFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.54">SkipFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></pre>
 <div class="block">A wrapper filter that filters an entire row if any of the Cell checks do
  not pass.
@@ -232,18 +232,22 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#changeFR-boolean-">changeFR</a></span>(boolean&nbsp;value)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#filterRow--">filterRow</a></span>()</code>
 <div class="block">Filters that never filter by rows based on previously gathered state from
@@ -251,53 +255,57 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
  never filters a row.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#getFilter--">getFilter</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#hasFilterRow--">hasFilterRow</a></span>()</code>
 <div class="block">Fitlers that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#isFamilyEssential-byte:A-">isFamilyEssential</a></span>(byte[]&nbsp;name)</code>
 <div class="block">By default, we require all scan's column families to be present.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html" title="class in org.apache.hadoop.hbase.filter">SkipFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#reset--">reset</a></span>()</code>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>
 <div class="block">By default no transformation takes place
@@ -325,7 +333,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -347,7 +355,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRow</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.54">filterRow</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.55">filterRow</a></pre>
 </li>
 </ul>
 <a name="filter">
@@ -356,7 +364,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>filter</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.55">filter</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.56">filter</a></pre>
 </li>
 </ul>
 </li>
@@ -373,7 +381,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>SkipFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.57">SkipFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.58">SkipFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</pre>
 </li>
 </ul>
 </li>
@@ -390,7 +398,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getFilter</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.61">getFilter</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.62">getFilter</a>()</pre>
 </li>
 </ul>
 <a name="reset--">
@@ -399,7 +407,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.66">reset</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.67">reset</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#reset--">FilterBase</a></code></span></div>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
@@ -423,7 +431,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>changeFR</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.71">changeFR</a>(boolean&nbsp;value)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.72">changeFR</a>(boolean&nbsp;value)</pre>
 </li>
 </ul>
 <a name="filterRowKey-org.apache.hadoop.hbase.Cell-">
@@ -432,7 +440,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.76">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.77">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -461,7 +469,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.83">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.84">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
                                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
@@ -499,7 +507,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.88">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.89">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -536,7 +544,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>transformCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.95">transformCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.96">transformCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)
                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#transformCell-org.apache.hadoop.hbase.Cell-">FilterBase</a></code></span></div>
 <div class="block">By default no transformation takes place
@@ -569,7 +577,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.100">filterRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.101">filterRow</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterRow--">FilterBase</a></code></span></div>
 <div class="block">Filters that never filter by rows based on previously gathered state from
  <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-"><code>Filter.filterCell(Cell)</code></a> can inherit this implementation that
@@ -595,7 +603,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>hasFilterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.105">hasFilterRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.106">hasFilterRow</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#hasFilterRow--">FilterBase</a></code></span></div>
 <div class="block">Fitlers that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.
@@ -616,7 +624,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.113">toByteArray</a>()
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.114">toByteArray</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toByteArray--">FilterBase</a></code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
@@ -636,7 +644,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html" title="class in org.apache.hadoop.hbase.filter">SkipFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.126">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/SkipFilter.html" title="class in org.apache.hadoop.hbase.filter">SkipFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.127">parseFrom</a>(byte[]&nbsp;pbBytes)
                             throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -656,7 +664,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>areSerializedFieldsEqual</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.147">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.148">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">FilterBase</a></code></span></div>
 <div class="block">Default implementation so that writers of custom filters aren't forced to implement.</div>
 <dl>
@@ -676,7 +684,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>isFamilyEssential</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.156">isFamilyEssential</a>(byte[]&nbsp;name)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.157">isFamilyEssential</a>(byte[]&nbsp;name)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#isFamilyEssential-byte:A-">FilterBase</a></code></span></div>
 <div class="block">By default, we require all scan's column families to be present. Our
@@ -700,10 +708,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.161">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.162">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toString--">FilterBase</a></code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -712,6 +720,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.167">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/SkipFilter.html#line.176">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>


[40/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html
index ee5595f..961079a 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html
@@ -29,224 +29,240 @@
 <span class="sourceLineNo">021</span><a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
 <span class="sourceLineNo">023</span>import java.util.ArrayList;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.CompareOperator;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.31"></a>
-<span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.35"></a>
-<span class="sourceLineNo">036</span><a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.39"></a>
-<span class="sourceLineNo">040</span><a name="line.40"></a>
-<span class="sourceLineNo">041</span>/**<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * Different from {@link SingleColumnValueFilter} which returns an &lt;b&gt;entire&lt;/b&gt; row<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * when specified condition is matched, {@link ColumnValueFilter} return the matched cell only.<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * &lt;p&gt;<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * This filter is used to filter cells based on column and value.<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * It takes a {@link org.apache.hadoop.hbase.CompareOperator} operator (&lt;, &lt;=, =, !=, &gt;, &gt;=), and<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * and a {@link ByteArrayComparable} comparator.<a name="line.47"></a>
-<span class="sourceLineNo">048</span> */<a name="line.48"></a>
-<span class="sourceLineNo">049</span>@InterfaceAudience.Public<a name="line.49"></a>
-<span class="sourceLineNo">050</span>public class ColumnValueFilter extends FilterBase {<a name="line.50"></a>
-<span class="sourceLineNo">051</span>  private final byte[] family;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>  private final byte[] qualifier;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  private final CompareOperator op;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>  private final ByteArrayComparable comparator;<a name="line.54"></a>
-<span class="sourceLineNo">055</span><a name="line.55"></a>
-<span class="sourceLineNo">056</span>  // This flag is used to speed up seeking cells when matched column is found, such that following<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  // columns in the same row can be skipped faster by NEXT_ROW instead of NEXT_COL.<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  private boolean columnFound = false;<a name="line.58"></a>
-<span class="sourceLineNo">059</span><a name="line.59"></a>
-<span class="sourceLineNo">060</span>  public ColumnValueFilter(final byte[] family, final byte[] qualifier,<a name="line.60"></a>
-<span class="sourceLineNo">061</span>                           final CompareOperator op, final byte[] value) {<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    this(family, qualifier, op, new BinaryComparator(value));<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  }<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span>  public ColumnValueFilter(final byte[] family, final byte[] qualifier,<a name="line.65"></a>
-<span class="sourceLineNo">066</span>                           final CompareOperator op,<a name="line.66"></a>
-<span class="sourceLineNo">067</span>                           final ByteArrayComparable comparator) {<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    this.family = Preconditions.checkNotNull(family, "family should not be null.");<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    this.qualifier = qualifier == null ? new byte[0] : qualifier;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    this.op = Preconditions.checkNotNull(op, "CompareOperator should not be null");<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    this.comparator = Preconditions.checkNotNull(comparator, "Comparator should not be null");<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  }<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>   * @return operator<a name="line.75"></a>
-<span class="sourceLineNo">076</span>   */<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  public CompareOperator getCompareOperator() {<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    return op;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  }<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>  /**<a name="line.81"></a>
-<span class="sourceLineNo">082</span>   * @return the comparator<a name="line.82"></a>
-<span class="sourceLineNo">083</span>   */<a name="line.83"></a>
-<span class="sourceLineNo">084</span>  public ByteArrayComparable getComparator() {<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    return comparator;<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>   * @return the column family<a name="line.89"></a>
-<span class="sourceLineNo">090</span>   */<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  public byte[] getFamily() {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    return family;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  }<a name="line.93"></a>
-<span class="sourceLineNo">094</span><a name="line.94"></a>
-<span class="sourceLineNo">095</span>  /**<a name="line.95"></a>
-<span class="sourceLineNo">096</span>   * @return the qualifier<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   */<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  public byte[] getQualifier() {<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    return qualifier;<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>  @Override<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  public void reset() throws IOException {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    columnFound = false;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  }<a name="line.105"></a>
-<span class="sourceLineNo">106</span><a name="line.106"></a>
-<span class="sourceLineNo">107</span>  @Override<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    return false;<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>  @Override<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public ReturnCode filterCell(Cell c) throws IOException {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    // 1. Check column match<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    if (!CellUtil.matchingColumn(c, this.family, this.qualifier)) {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      return columnFound ? ReturnCode.NEXT_ROW : ReturnCode.NEXT_COL;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    }<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    // Column found<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    columnFound = true;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    // 2. Check value match:<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    // True means filter out, just skip this cell, else include it.<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    return compareValue(getCompareOperator(), getComparator(), c) ?<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      ReturnCode.SKIP : ReturnCode.INCLUDE;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>  }<a name="line.124"></a>
-<span class="sourceLineNo">125</span><a name="line.125"></a>
-<span class="sourceLineNo">126</span>  /**<a name="line.126"></a>
-<span class="sourceLineNo">127</span>   * This method is used to determine a cell should be included or filtered out.<a name="line.127"></a>
-<span class="sourceLineNo">128</span>   * @param op one of operators {@link CompareOperator}<a name="line.128"></a>
-<span class="sourceLineNo">129</span>   * @param comparator comparator used to compare cells.<a name="line.129"></a>
-<span class="sourceLineNo">130</span>   * @param cell cell to be compared.<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   * @return true means cell should be filtered out, included otherwise.<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   */<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  private boolean compareValue(final CompareOperator op, final ByteArrayComparable comparator,<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    final Cell cell) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    if (op == CompareOperator.NO_OP) {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      return true;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    }<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    int compareResult = PrivateCellUtil.compareValue(cell, comparator);<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    return CompareFilter.compare(op, compareResult);<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  }<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span>  /**<a name="line.142"></a>
-<span class="sourceLineNo">143</span>   * Creating this filter by reflection, it is used by {@link ParseFilter},<a name="line.143"></a>
-<span class="sourceLineNo">144</span>   * @param filterArguments arguments for creating a ColumnValueFilter<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   * @return a ColumnValueFilter<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   */<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte[]&gt; filterArguments) {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    Preconditions.checkArgument(filterArguments.size() == 4,<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      "Expect 4 arguments: %s", filterArguments.size());<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    byte[] family = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    byte[] qualifier = ParseFilter.removeQuotesFromByteArray(filterArguments.get(1));<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    CompareOperator operator = ParseFilter.createCompareOperator(filterArguments.get(2));<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    ByteArrayComparable comparator =<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      ParseFilter.createComparator(ParseFilter.removeQuotesFromByteArray(filterArguments.get(3)));<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>    if (comparator instanceof RegexStringComparator ||<a name="line.156"></a>
-<span class="sourceLineNo">157</span>        comparator instanceof SubstringComparator) {<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      if (operator != CompareOperator.EQUAL &amp;&amp;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>          operator != CompareOperator.NOT_EQUAL) {<a name="line.159"></a>
-<span class="sourceLineNo">160</span>        throw new IllegalArgumentException("A regexstring comparator and substring comparator " +<a name="line.160"></a>
-<span class="sourceLineNo">161</span>            "can only be used with EQUAL and NOT_EQUAL");<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><a name="line.164"></a>
-<span class="sourceLineNo">165</span>    return new ColumnValueFilter(family, qualifier, operator, comparator);<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 A pb instance to represent this instance.<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   */<a name="line.170"></a>
-<span class="sourceLineNo">171</span>  FilterProtos.ColumnValueFilter convert() {<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    FilterProtos.ColumnValueFilter.Builder builder =<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      FilterProtos.ColumnValueFilter.newBuilder();<a name="line.173"></a>
-<span class="sourceLineNo">174</span><a name="line.174"></a>
-<span class="sourceLineNo">175</span>    builder.setFamily(UnsafeByteOperations.unsafeWrap(this.family));<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    builder.setQualifier(UnsafeByteOperations.unsafeWrap(this.qualifier));<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    builder.setCompareOp(HBaseProtos.CompareType.valueOf(this.op.name()));<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    builder.setComparator(ProtobufUtil.toComparator(this.comparator));<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span>    return builder.build();<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">183</span>  /**<a name="line.183"></a>
-<span class="sourceLineNo">184</span>   * Parse protobuf bytes to a ColumnValueFilter<a name="line.184"></a>
-<span class="sourceLineNo">185</span>   * @param pbBytes pbBytes<a name="line.185"></a>
-<span class="sourceLineNo">186</span>   * @return a ColumnValueFilter<a name="line.186"></a>
-<span class="sourceLineNo">187</span>   * @throws DeserializationException deserialization exception<a name="line.187"></a>
-<span class="sourceLineNo">188</span>   */<a name="line.188"></a>
-<span class="sourceLineNo">189</span>  public static ColumnValueFilter parseFrom(final byte[] pbBytes) throws DeserializationException {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    FilterProtos.ColumnValueFilter proto;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    try {<a name="line.191"></a>
-<span class="sourceLineNo">192</span>      proto = FilterProtos.ColumnValueFilter.parseFrom(pbBytes);<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    } catch (InvalidProtocolBufferException e) {<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      throw new DeserializationException(e);<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    }<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>    final CompareOperator compareOp = CompareOperator.valueOf(proto.getCompareOp().name());<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    final ByteArrayComparable comparator;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    try {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      comparator = ProtobufUtil.toComparator(proto.getComparator());<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    } catch (IOException ioe) {<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      throw new DeserializationException(ioe);<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    }<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>    return new ColumnValueFilter(proto.getFamily().toByteArray(),<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      proto.getQualifier().toByteArray(), compareOp, comparator);<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  }<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  @Override<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  public byte[] toByteArray() throws IOException {<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    return convert().toByteArray();<a name="line.211"></a>
-<span class="sourceLineNo">212</span>  }<a name="line.212"></a>
-<span class="sourceLineNo">213</span><a name="line.213"></a>
-<span class="sourceLineNo">214</span>  @Override<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    if (o == this) {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      return true;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    } else if (!(o instanceof ColumnValueFilter)) {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      return false;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    }<a name="line.220"></a>
-<span class="sourceLineNo">221</span><a name="line.221"></a>
-<span class="sourceLineNo">222</span>    ColumnValueFilter other = (ColumnValueFilter) o;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    return Bytes.equals(this.getFamily(), other.getFamily()) &amp;&amp;<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      Bytes.equals(this.getQualifier(), other.getQualifier()) &amp;&amp;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>      this.getCompareOperator().equals(other.getCompareOperator()) &amp;&amp;<a name="line.225"></a>
-<span class="sourceLineNo">226</span>      this.getComparator().areSerializedFieldsEqual(other.getComparator());<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  }<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  @Override<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  public boolean isFamilyEssential(byte[] name) throws IOException {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    return Bytes.equals(name, this.family);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
-<span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>  @Override<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  public String toString() {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    return String.format("%s (%s, %s, %s, %s)",<a name="line.236"></a>
-<span class="sourceLineNo">237</span>      getClass().getSimpleName(), Bytes.toStringBinary(this.family),<a name="line.237"></a>
-<span class="sourceLineNo">238</span>      Bytes.toStringBinary(this.qualifier), this.op.name(),<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      Bytes.toStringBinary(this.comparator.getValue()));<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span>}<a name="line.241"></a>
+<span class="sourceLineNo">024</span>import java.util.Objects;<a name="line.24"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.Cell;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.CompareOperator;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.36"></a>
+<span class="sourceLineNo">037</span><a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<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> * Different from {@link SingleColumnValueFilter} which returns an &lt;b&gt;entire&lt;/b&gt; row<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * when specified condition is matched, {@link ColumnValueFilter} return the matched cell only.<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * &lt;p&gt;<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * This filter is used to filter cells based on column and value.<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * It takes a {@link org.apache.hadoop.hbase.CompareOperator} operator (&lt;, &lt;=, =, !=, &gt;, &gt;=), and<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * and a {@link ByteArrayComparable} comparator.<a name="line.48"></a>
+<span class="sourceLineNo">049</span> */<a name="line.49"></a>
+<span class="sourceLineNo">050</span>@InterfaceAudience.Public<a name="line.50"></a>
+<span class="sourceLineNo">051</span>public class ColumnValueFilter extends FilterBase {<a name="line.51"></a>
+<span class="sourceLineNo">052</span>  private final byte[] family;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>  private final byte[] qualifier;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  private final CompareOperator op;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>  private final ByteArrayComparable comparator;<a name="line.55"></a>
+<span class="sourceLineNo">056</span><a name="line.56"></a>
+<span class="sourceLineNo">057</span>  // This flag is used to speed up seeking cells when matched column is found, such that following<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  // columns in the same row can be skipped faster by NEXT_ROW instead of NEXT_COL.<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  private boolean columnFound = false;<a name="line.59"></a>
+<span class="sourceLineNo">060</span><a name="line.60"></a>
+<span class="sourceLineNo">061</span>  public ColumnValueFilter(final byte[] family, final byte[] qualifier,<a name="line.61"></a>
+<span class="sourceLineNo">062</span>                           final CompareOperator op, final byte[] value) {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    this(family, qualifier, op, new BinaryComparator(value));<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  }<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>  public ColumnValueFilter(final byte[] family, final byte[] qualifier,<a name="line.66"></a>
+<span class="sourceLineNo">067</span>                           final CompareOperator op,<a name="line.67"></a>
+<span class="sourceLineNo">068</span>                           final ByteArrayComparable comparator) {<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    this.family = Preconditions.checkNotNull(family, "family should not be null.");<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    this.qualifier = qualifier == null ? new byte[0] : qualifier;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    this.op = Preconditions.checkNotNull(op, "CompareOperator should not be null");<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    this.comparator = Preconditions.checkNotNull(comparator, "Comparator should not be null");<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>   * @return operator<a name="line.76"></a>
+<span class="sourceLineNo">077</span>   */<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  public CompareOperator getCompareOperator() {<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    return op;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>  }<a name="line.80"></a>
+<span class="sourceLineNo">081</span><a name="line.81"></a>
+<span class="sourceLineNo">082</span>  /**<a name="line.82"></a>
+<span class="sourceLineNo">083</span>   * @return the comparator<a name="line.83"></a>
+<span class="sourceLineNo">084</span>   */<a name="line.84"></a>
+<span class="sourceLineNo">085</span>  public ByteArrayComparable getComparator() {<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    return comparator;<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>   * @return the column family<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   */<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  public byte[] getFamily() {<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    return family;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>  }<a name="line.94"></a>
+<span class="sourceLineNo">095</span><a name="line.95"></a>
+<span class="sourceLineNo">096</span>  /**<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   * @return the qualifier<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   */<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  public byte[] getQualifier() {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    return qualifier;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  }<a name="line.101"></a>
+<span class="sourceLineNo">102</span><a name="line.102"></a>
+<span class="sourceLineNo">103</span>  @Override<a name="line.103"></a>
+<span class="sourceLineNo">104</span>  public void reset() throws IOException {<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    columnFound = false;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  }<a name="line.106"></a>
+<span class="sourceLineNo">107</span><a name="line.107"></a>
+<span class="sourceLineNo">108</span>  @Override<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    return false;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>  }<a name="line.111"></a>
+<span class="sourceLineNo">112</span><a name="line.112"></a>
+<span class="sourceLineNo">113</span>  @Override<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  public ReturnCode filterCell(Cell c) throws IOException {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    // 1. Check column match<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    if (!CellUtil.matchingColumn(c, this.family, this.qualifier)) {<a name="line.116"></a>
+<span class="sourceLineNo">117</span>      return columnFound ? ReturnCode.NEXT_ROW : ReturnCode.NEXT_COL;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    }<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    // Column found<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    columnFound = true;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    // 2. Check value match:<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    // True means filter out, just skip this cell, else include it.<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    return compareValue(getCompareOperator(), getComparator(), c) ?<a name="line.123"></a>
+<span class="sourceLineNo">124</span>      ReturnCode.SKIP : ReturnCode.INCLUDE;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  }<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>   * This method is used to determine a cell should be included or filtered out.<a name="line.128"></a>
+<span class="sourceLineNo">129</span>   * @param op one of operators {@link CompareOperator}<a name="line.129"></a>
+<span class="sourceLineNo">130</span>   * @param comparator comparator used to compare cells.<a name="line.130"></a>
+<span class="sourceLineNo">131</span>   * @param cell cell to be compared.<a name="line.131"></a>
+<span class="sourceLineNo">132</span>   * @return true means cell should be filtered out, included otherwise.<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   */<a name="line.133"></a>
+<span class="sourceLineNo">134</span>  private boolean compareValue(final CompareOperator op, final ByteArrayComparable comparator,<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    final Cell cell) {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    if (op == CompareOperator.NO_OP) {<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      return true;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    }<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    int compareResult = PrivateCellUtil.compareValue(cell, comparator);<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    return CompareFilter.compare(op, compareResult);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  /**<a name="line.143"></a>
+<span class="sourceLineNo">144</span>   * Creating this filter by reflection, it is used by {@link ParseFilter},<a name="line.144"></a>
+<span class="sourceLineNo">145</span>   * @param filterArguments arguments for creating a ColumnValueFilter<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   * @return a ColumnValueFilter<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   */<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte[]&gt; filterArguments) {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    Preconditions.checkArgument(filterArguments.size() == 4,<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      "Expect 4 arguments: %s", filterArguments.size());<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    byte[] family = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    byte[] qualifier = ParseFilter.removeQuotesFromByteArray(filterArguments.get(1));<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    CompareOperator operator = ParseFilter.createCompareOperator(filterArguments.get(2));<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    ByteArrayComparable comparator =<a name="line.154"></a>
+<span class="sourceLineNo">155</span>      ParseFilter.createComparator(ParseFilter.removeQuotesFromByteArray(filterArguments.get(3)));<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>    if (comparator instanceof RegexStringComparator ||<a name="line.157"></a>
+<span class="sourceLineNo">158</span>        comparator instanceof SubstringComparator) {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>      if (operator != CompareOperator.EQUAL &amp;&amp;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>          operator != CompareOperator.NOT_EQUAL) {<a name="line.160"></a>
+<span class="sourceLineNo">161</span>        throw new IllegalArgumentException("A regexstring comparator and substring comparator " +<a name="line.161"></a>
+<span class="sourceLineNo">162</span>            "can only be used with EQUAL and NOT_EQUAL");<a name="line.162"></a>
+<span class="sourceLineNo">163</span>      }<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    }<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>    return new ColumnValueFilter(family, qualifier, operator, comparator);<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 A pb instance to represent this instance.<a name="line.170"></a>
+<span class="sourceLineNo">171</span>   */<a name="line.171"></a>
+<span class="sourceLineNo">172</span>  FilterProtos.ColumnValueFilter convert() {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    FilterProtos.ColumnValueFilter.Builder builder =<a name="line.173"></a>
+<span class="sourceLineNo">174</span>      FilterProtos.ColumnValueFilter.newBuilder();<a name="line.174"></a>
+<span class="sourceLineNo">175</span><a name="line.175"></a>
+<span class="sourceLineNo">176</span>    builder.setFamily(UnsafeByteOperations.unsafeWrap(this.family));<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    builder.setQualifier(UnsafeByteOperations.unsafeWrap(this.qualifier));<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    builder.setCompareOp(HBaseProtos.CompareType.valueOf(this.op.name()));<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    builder.setComparator(ProtobufUtil.toComparator(this.comparator));<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span>    return builder.build();<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>
+<span class="sourceLineNo">184</span>  /**<a name="line.184"></a>
+<span class="sourceLineNo">185</span>   * Parse protobuf bytes to a ColumnValueFilter<a name="line.185"></a>
+<span class="sourceLineNo">186</span>   * @param pbBytes pbBytes<a name="line.186"></a>
+<span class="sourceLineNo">187</span>   * @return a ColumnValueFilter<a name="line.187"></a>
+<span class="sourceLineNo">188</span>   * @throws DeserializationException deserialization exception<a name="line.188"></a>
+<span class="sourceLineNo">189</span>   */<a name="line.189"></a>
+<span class="sourceLineNo">190</span>  public static ColumnValueFilter parseFrom(final byte[] pbBytes) throws DeserializationException {<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    FilterProtos.ColumnValueFilter proto;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    try {<a name="line.192"></a>
+<span class="sourceLineNo">193</span>      proto = FilterProtos.ColumnValueFilter.parseFrom(pbBytes);<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    } catch (InvalidProtocolBufferException e) {<a name="line.194"></a>
+<span class="sourceLineNo">195</span>      throw new DeserializationException(e);<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    }<a name="line.196"></a>
+<span class="sourceLineNo">197</span><a name="line.197"></a>
+<span class="sourceLineNo">198</span>    final CompareOperator compareOp = CompareOperator.valueOf(proto.getCompareOp().name());<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    final ByteArrayComparable comparator;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    try {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      comparator = ProtobufUtil.toComparator(proto.getComparator());<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    } catch (IOException ioe) {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>      throw new DeserializationException(ioe);<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    }<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>    return new ColumnValueFilter(proto.getFamily().toByteArray(),<a name="line.206"></a>
+<span class="sourceLineNo">207</span>      proto.getQualifier().toByteArray(), compareOp, comparator);<a name="line.207"></a>
+<span class="sourceLineNo">208</span>  }<a name="line.208"></a>
+<span class="sourceLineNo">209</span><a name="line.209"></a>
+<span class="sourceLineNo">210</span>  @Override<a name="line.210"></a>
+<span class="sourceLineNo">211</span>  public byte[] toByteArray() throws IOException {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    return convert().toByteArray();<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  }<a name="line.213"></a>
+<span class="sourceLineNo">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span>  @Override<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    if (o == this) {<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      return true;<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    } else if (!(o instanceof ColumnValueFilter)) {<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      return false;<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    }<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>    ColumnValueFilter other = (ColumnValueFilter) o;<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    return Bytes.equals(this.getFamily(), other.getFamily()) &amp;&amp;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>      Bytes.equals(this.getQualifier(), other.getQualifier()) &amp;&amp;<a name="line.225"></a>
+<span class="sourceLineNo">226</span>      this.getCompareOperator().equals(other.getCompareOperator()) &amp;&amp;<a name="line.226"></a>
+<span class="sourceLineNo">227</span>      this.getComparator().areSerializedFieldsEqual(other.getComparator());<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  }<a name="line.228"></a>
+<span class="sourceLineNo">229</span><a name="line.229"></a>
+<span class="sourceLineNo">230</span>  @Override<a name="line.230"></a>
+<span class="sourceLineNo">231</span>  public boolean isFamilyEssential(byte[] name) throws IOException {<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    return Bytes.equals(name, this.family);<a name="line.232"></a>
+<span class="sourceLineNo">233</span>  }<a name="line.233"></a>
+<span class="sourceLineNo">234</span><a name="line.234"></a>
+<span class="sourceLineNo">235</span>  @Override<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  public String toString() {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    return String.format("%s (%s, %s, %s, %s)",<a name="line.237"></a>
+<span class="sourceLineNo">238</span>      getClass().getSimpleName(), Bytes.toStringBinary(this.family),<a name="line.238"></a>
+<span class="sourceLineNo">239</span>      Bytes.toStringBinary(this.qualifier), this.op.name(),<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      Bytes.toStringBinary(this.comparator.getValue()));<a name="line.240"></a>
+<span class="sourceLineNo">241</span>  }<a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span>  @Override<a name="line.243"></a>
+<span class="sourceLineNo">244</span>  public boolean equals(Object obj) {<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    if (obj == null || (!(obj instanceof ColumnValueFilter))) {<a name="line.245"></a>
+<span class="sourceLineNo">246</span>      return false;<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    }<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    ColumnValueFilter f = (ColumnValueFilter) obj;<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    return this.areSerializedFieldsEqual(f);<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  }<a name="line.250"></a>
+<span class="sourceLineNo">251</span><a name="line.251"></a>
+<span class="sourceLineNo">252</span>  @Override<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  public int hashCode() {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    return Objects.hash(Bytes.hashCode(this.getFamily()), Bytes.hashCode(this.getQualifier()),<a name="line.254"></a>
+<span class="sourceLineNo">255</span>        this.getCompareOperator(), this.getComparator());<a name="line.255"></a>
+<span class="sourceLineNo">256</span>  }<a name="line.256"></a>
+<span class="sourceLineNo">257</span>}<a name="line.257"></a>
 
 
 


[31/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html
index 4804996..c3cf972 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/MultiRowRangeFilter.RowRange.html
@@ -28,500 +28,538 @@
 <span class="sourceLineNo">020</span>import java.util.ArrayList;<a name="line.20"></a>
 <span class="sourceLineNo">021</span>import java.util.Collections;<a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.util.List;<a name="line.22"></a>
-<span class="sourceLineNo">023</span><a name="line.23"></a>
-<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.Cell;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.HConstants;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.PrivateCellUtil;<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>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.33"></a>
-<span class="sourceLineNo">034</span><a name="line.34"></a>
-<span class="sourceLineNo">035</span>/**<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * Filter to support scan multiple row key ranges. It can construct the row key ranges from the<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * passed list which can be accessed by each region server.<a name="line.37"></a>
-<span class="sourceLineNo">038</span> *<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * HBase is quite efficient when scanning only one small row key range. If user needs to specify<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * multiple row key ranges in one scan, the typical solutions are: 1. through FilterList which is a<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * list of row key Filters, 2. using the SQL layer over HBase to join with two table, such as hive,<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * phoenix etc. However, both solutions are inefficient. Both of them can't utilize the range info<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * to perform fast forwarding during scan which is quite time consuming. If the number of ranges<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * are quite big (e.g. millions), join is a proper solution though it is slow. However, there are<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * cases that user wants to specify a small number of ranges to scan (e.g. &amp;lt;1000 ranges). Both<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * solutions can't provide satisfactory performance in such case. MultiRowRangeFilter is to support<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * such usec ase (scan multiple row key ranges), which can construct the row key ranges from user<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * specified list and perform fast-forwarding during scan. Thus, the scan will be quite efficient.<a name="line.48"></a>
-<span class="sourceLineNo">049</span> */<a name="line.49"></a>
-<span class="sourceLineNo">050</span>@InterfaceAudience.Public<a name="line.50"></a>
-<span class="sourceLineNo">051</span>public class MultiRowRangeFilter extends FilterBase {<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>  private List&lt;RowRange&gt; rangeList;<a name="line.53"></a>
-<span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>  private static final int ROW_BEFORE_FIRST_RANGE = -1;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  private boolean EXCLUSIVE = false;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  private boolean done = false;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  private boolean initialized = false;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  private int index;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>  private RowRange range;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  private ReturnCode currentReturnCode;<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>   * @param list A list of &lt;code&gt;RowRange&lt;/code&gt;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>   */<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  public MultiRowRangeFilter(List&lt;RowRange&gt; list) {<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    this.rangeList = sortAndMerge(list);<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  }<a name="line.68"></a>
-<span class="sourceLineNo">069</span><a name="line.69"></a>
-<span class="sourceLineNo">070</span>  @Override<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  public boolean filterAllRemaining() {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    return done;<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>  public List&lt;RowRange&gt; getRowRanges() {<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    return this.rangeList;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  }<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  @Override<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  public boolean filterRowKey(Cell firstRowCell) {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    if (filterAllRemaining()) return true;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    // If it is the first time of running, calculate the current range index for<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    // the row key. If index is out of bound which happens when the start row<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    // user sets is after the largest stop row of the ranges, stop the scan.<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    // If row key is after the current range, find the next range and update index.<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    byte[] rowArr = firstRowCell.getRowArray();<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    int length = firstRowCell.getRowLength();<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    int offset = firstRowCell.getRowOffset();<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    if (!initialized<a name="line.89"></a>
-<span class="sourceLineNo">090</span>        || !range.contains(rowArr, offset, length)) {<a name="line.90"></a>
-<span class="sourceLineNo">091</span>      byte[] rowkey = CellUtil.cloneRow(firstRowCell);<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      index = getNextRangeIndex(rowkey);<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      if (index &gt;= rangeList.size()) {<a name="line.93"></a>
-<span class="sourceLineNo">094</span>        done = true;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>        currentReturnCode = ReturnCode.NEXT_ROW;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>        return false;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>      }<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      if(index != ROW_BEFORE_FIRST_RANGE) {<a name="line.98"></a>
-<span class="sourceLineNo">099</span>        range = rangeList.get(index);<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      } else {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>        range = rangeList.get(0);<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      }<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      if (EXCLUSIVE) {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>        EXCLUSIVE = false;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>        currentReturnCode = ReturnCode.NEXT_ROW;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>        return false;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      }<a name="line.107"></a>
-<span class="sourceLineNo">108</span>      if (!initialized) {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>        if(index != ROW_BEFORE_FIRST_RANGE) {<a name="line.109"></a>
-<span class="sourceLineNo">110</span>          currentReturnCode = ReturnCode.INCLUDE;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>        } else {<a name="line.111"></a>
-<span class="sourceLineNo">112</span>          currentReturnCode = ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>        }<a name="line.113"></a>
-<span class="sourceLineNo">114</span>        initialized = true;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      } else {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>        if (range.contains(rowArr, offset, length)) {<a name="line.116"></a>
-<span class="sourceLineNo">117</span>          currentReturnCode = ReturnCode.INCLUDE;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>        } else {<a name="line.118"></a>
-<span class="sourceLineNo">119</span>          currentReturnCode = ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>        }<a name="line.120"></a>
-<span class="sourceLineNo">121</span>      }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    } else {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      currentReturnCode = ReturnCode.INCLUDE;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    }<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    return false;<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>  @Deprecated<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  @Override<a name="line.129"></a>
-<span class="sourceLineNo">130</span>  public ReturnCode filterKeyValue(final Cell ignored) {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    return filterCell(ignored);<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  }<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>  @Override<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  public ReturnCode filterCell(final Cell ignored) {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    return currentReturnCode;<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>  @Override<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  public Cell getNextCellHint(Cell currentKV) {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    // skip to the next range's start row<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    return PrivateCellUtil.createFirstOnRow(range.startRow, 0,<a name="line.142"></a>
-<span class="sourceLineNo">143</span>        (short) range.startRow.length);<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  }<a name="line.144"></a>
-<span class="sourceLineNo">145</span><a name="line.145"></a>
-<span class="sourceLineNo">146</span>  /**<a name="line.146"></a>
-<span class="sourceLineNo">147</span>   * @return The filter serialized using pb<a name="line.147"></a>
-<span class="sourceLineNo">148</span>   */<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  @Override<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  public byte[] toByteArray() {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    FilterProtos.MultiRowRangeFilter.Builder builder = FilterProtos.MultiRowRangeFilter<a name="line.151"></a>
-<span class="sourceLineNo">152</span>        .newBuilder();<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    for (RowRange range : rangeList) {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      if (range != null) {<a name="line.154"></a>
-<span class="sourceLineNo">155</span>        FilterProtos.RowRange.Builder rangebuilder = FilterProtos.RowRange.newBuilder();<a name="line.155"></a>
-<span class="sourceLineNo">156</span>        if (range.startRow != null)<a name="line.156"></a>
-<span class="sourceLineNo">157</span>          rangebuilder.setStartRow(UnsafeByteOperations.unsafeWrap(range.startRow));<a name="line.157"></a>
-<span class="sourceLineNo">158</span>        rangebuilder.setStartRowInclusive(range.startRowInclusive);<a name="line.158"></a>
-<span class="sourceLineNo">159</span>        if (range.stopRow != null)<a name="line.159"></a>
-<span class="sourceLineNo">160</span>          rangebuilder.setStopRow(UnsafeByteOperations.unsafeWrap(range.stopRow));<a name="line.160"></a>
-<span class="sourceLineNo">161</span>        rangebuilder.setStopRowInclusive(range.stopRowInclusive);<a name="line.161"></a>
-<span class="sourceLineNo">162</span>        builder.addRowRangeList(rangebuilder.build());<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      }<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    }<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    return builder.build().toByteArray();<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>   * @param pbBytes A pb serialized instance<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   * @return An instance of MultiRowRangeFilter<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   * @throws org.apache.hadoop.hbase.exceptions.DeserializationException<a name="line.171"></a>
-<span class="sourceLineNo">172</span>   */<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  public static MultiRowRangeFilter parseFrom(final byte[] pbBytes)<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      throws DeserializationException {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    FilterProtos.MultiRowRangeFilter proto;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    try {<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      proto = FilterProtos.MultiRowRangeFilter.parseFrom(pbBytes);<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    } catch (InvalidProtocolBufferException e) {<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      throw new DeserializationException(e);<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    }<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    int length = proto.getRowRangeListCount();<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    List&lt;FilterProtos.RowRange&gt; rangeProtos = proto.getRowRangeListList();<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    List&lt;RowRange&gt; rangeList = new ArrayList&lt;&gt;(length);<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    for (FilterProtos.RowRange rangeProto : rangeProtos) {<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      RowRange range = new RowRange(rangeProto.hasStartRow() ? rangeProto.getStartRow()<a name="line.185"></a>
-<span class="sourceLineNo">186</span>          .toByteArray() : null, rangeProto.getStartRowInclusive(), rangeProto.hasStopRow() ?<a name="line.186"></a>
-<span class="sourceLineNo">187</span>              rangeProto.getStopRow().toByteArray() : null, rangeProto.getStopRowInclusive());<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      rangeList.add(range);<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    }<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    return new MultiRowRangeFilter(rangeList);<a name="line.190"></a>
-<span class="sourceLineNo">191</span>  }<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span>  /**<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   * @param o the filter to compare<a name="line.194"></a>
-<span class="sourceLineNo">195</span>   * @return true if and only if the fields of the filter that are serialized are equal to the<a name="line.195"></a>
-<span class="sourceLineNo">196</span>   *         corresponding fields in other. Used for testing.<a name="line.196"></a>
-<span class="sourceLineNo">197</span>   */<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  @Override<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    if (o == this)<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      return true;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    if (!(o instanceof MultiRowRangeFilter))<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      return false;<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>    MultiRowRangeFilter other = (MultiRowRangeFilter) o;<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    if (this.rangeList.size() != other.rangeList.size())<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      return false;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    for (int i = 0; i &lt; rangeList.size(); ++i) {<a name="line.208"></a>
-<span class="sourceLineNo">209</span>      RowRange thisRange = this.rangeList.get(i);<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      RowRange otherRange = other.rangeList.get(i);<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      if (!(Bytes.equals(thisRange.startRow, otherRange.startRow) &amp;&amp; Bytes.equals(<a name="line.211"></a>
-<span class="sourceLineNo">212</span>          thisRange.stopRow, otherRange.stopRow) &amp;&amp; (thisRange.startRowInclusive ==<a name="line.212"></a>
-<span class="sourceLineNo">213</span>          otherRange.startRowInclusive) &amp;&amp; (thisRange.stopRowInclusive ==<a name="line.213"></a>
-<span class="sourceLineNo">214</span>          otherRange.stopRowInclusive))) {<a name="line.214"></a>
-<span class="sourceLineNo">215</span>        return false;<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      }<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    }<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    return true;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  }<a name="line.219"></a>
-<span class="sourceLineNo">220</span><a name="line.220"></a>
-<span class="sourceLineNo">221</span>  /**<a name="line.221"></a>
-<span class="sourceLineNo">222</span>   * calculate the position where the row key in the ranges list.<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   *<a name="line.223"></a>
-<span class="sourceLineNo">224</span>   * @param rowKey the row key to calculate<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   * @return index the position of the row key<a name="line.225"></a>
-<span class="sourceLineNo">226</span>   */<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  private int getNextRangeIndex(byte[] rowKey) {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    RowRange temp = new RowRange(rowKey, true, null, true);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    int index = Collections.binarySearch(rangeList, temp);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    if (index &lt; 0) {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>      int insertionPosition = -index - 1;<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      // check if the row key in the range before the insertion position<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      if (insertionPosition != 0 &amp;&amp; rangeList.get(insertionPosition - 1).contains(rowKey)) {<a name="line.233"></a>
-<span class="sourceLineNo">234</span>        return insertionPosition - 1;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      }<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      // check if the row key is before the first range<a name="line.236"></a>
-<span class="sourceLineNo">237</span>      if (insertionPosition == 0 &amp;&amp; !rangeList.get(insertionPosition).contains(rowKey)) {<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        return ROW_BEFORE_FIRST_RANGE;<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      }<a name="line.239"></a>
-<span class="sourceLineNo">240</span>      if (!initialized) {<a name="line.240"></a>
-<span class="sourceLineNo">241</span>        initialized = true;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>      }<a name="line.242"></a>
-<span class="sourceLineNo">243</span>      return insertionPosition;<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    }<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    // the row key equals one of the start keys, and the the range exclude the start key<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    if(rangeList.get(index).startRowInclusive == false) {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>      EXCLUSIVE = true;<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    }<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    return index;<a name="line.249"></a>
-<span class="sourceLineNo">250</span>  }<a name="line.250"></a>
-<span class="sourceLineNo">251</span><a name="line.251"></a>
-<span class="sourceLineNo">252</span>  /**<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   * sort the ranges and if the ranges with overlap, then merge them.<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   *<a name="line.254"></a>
-<span class="sourceLineNo">255</span>   * @param ranges the list of ranges to sort and merge.<a name="line.255"></a>
-<span class="sourceLineNo">256</span>   * @return the ranges after sort and merge.<a name="line.256"></a>
-<span class="sourceLineNo">257</span>   */<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  public static List&lt;RowRange&gt; sortAndMerge(List&lt;RowRange&gt; ranges) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    if (ranges.isEmpty()) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      throw new IllegalArgumentException("No ranges found.");<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    }<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    List&lt;RowRange&gt; invalidRanges = new ArrayList&lt;&gt;();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    List&lt;RowRange&gt; newRanges = new ArrayList&lt;&gt;(ranges.size());<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    Collections.sort(ranges);<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    if(ranges.get(0).isValid()) {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      if (ranges.size() == 1) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>        newRanges.add(ranges.get(0));<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      }<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    } else {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      invalidRanges.add(ranges.get(0));<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    }<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span>    byte[] lastStartRow = ranges.get(0).startRow;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    boolean lastStartRowInclusive = ranges.get(0).startRowInclusive;<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    byte[] lastStopRow = ranges.get(0).stopRow;<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    boolean lastStopRowInclusive = ranges.get(0).stopRowInclusive;<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    int i = 1;<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    for (; i &lt; ranges.size(); i++) {<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      RowRange range = ranges.get(i);<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      if (!range.isValid()) {<a name="line.280"></a>
-<span class="sourceLineNo">281</span>        invalidRanges.add(range);<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      }<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      if(Bytes.equals(lastStopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span>        newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.284"></a>
-<span class="sourceLineNo">285</span>            lastStopRowInclusive));<a name="line.285"></a>
-<span class="sourceLineNo">286</span>        break;<a name="line.286"></a>
-<span class="sourceLineNo">287</span>      }<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      // with overlap in the ranges<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      if ((Bytes.compareTo(lastStopRow, range.startRow) &gt; 0) ||<a name="line.289"></a>
-<span class="sourceLineNo">290</span>          (Bytes.compareTo(lastStopRow, range.startRow) == 0 &amp;&amp; !(lastStopRowInclusive == false &amp;&amp;<a name="line.290"></a>
-<span class="sourceLineNo">291</span>          range.isStartRowInclusive() == false))) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>        if(Bytes.equals(range.stopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>          newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, range.stopRow,<a name="line.293"></a>
-<span class="sourceLineNo">294</span>              range.stopRowInclusive));<a name="line.294"></a>
-<span class="sourceLineNo">295</span>          break;<a name="line.295"></a>
-<span class="sourceLineNo">296</span>        }<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        // if first range contains second range, ignore the second range<a name="line.297"></a>
-<span class="sourceLineNo">298</span>        if (Bytes.compareTo(lastStopRow, range.stopRow) &gt;= 0) {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>          if((Bytes.compareTo(lastStopRow, range.stopRow) == 0)) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span>            if(lastStopRowInclusive == true || range.stopRowInclusive == true) {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>              lastStopRowInclusive = true;<a name="line.301"></a>
-<span class="sourceLineNo">302</span>            }<a name="line.302"></a>
-<span class="sourceLineNo">303</span>          }<a name="line.303"></a>
-<span class="sourceLineNo">304</span>          if ((i + 1) == ranges.size()) {<a name="line.304"></a>
-<span class="sourceLineNo">305</span>            newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.305"></a>
-<span class="sourceLineNo">306</span>                lastStopRowInclusive));<a name="line.306"></a>
-<span class="sourceLineNo">307</span>          }<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        } else {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>          lastStopRow = range.stopRow;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>          lastStopRowInclusive = range.stopRowInclusive;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>          if ((i + 1) &lt; ranges.size()) {<a name="line.311"></a>
-<span class="sourceLineNo">312</span>            i++;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>            range = ranges.get(i);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>            if (!range.isValid()) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>              invalidRanges.add(range);<a name="line.315"></a>
-<span class="sourceLineNo">316</span>            }<a name="line.316"></a>
-<span class="sourceLineNo">317</span>          } else {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>            newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.318"></a>
-<span class="sourceLineNo">319</span>                lastStopRowInclusive));<a name="line.319"></a>
-<span class="sourceLineNo">320</span>            break;<a name="line.320"></a>
-<span class="sourceLineNo">321</span>          }<a name="line.321"></a>
-<span class="sourceLineNo">322</span>          while ((Bytes.compareTo(lastStopRow, range.startRow) &gt; 0) ||<a name="line.322"></a>
-<span class="sourceLineNo">323</span>              (Bytes.compareTo(lastStopRow, range.startRow) == 0 &amp;&amp;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>              (lastStopRowInclusive == true || range.startRowInclusive==true))) {<a name="line.324"></a>
-<span class="sourceLineNo">325</span>            if(Bytes.equals(range.stopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>              break;<a name="line.326"></a>
-<span class="sourceLineNo">327</span>            }<a name="line.327"></a>
-<span class="sourceLineNo">328</span>            // if this first range contain second range, ignore the second range<a name="line.328"></a>
-<span class="sourceLineNo">329</span>            if (Bytes.compareTo(lastStopRow, range.stopRow) &gt;= 0) {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>              if(lastStopRowInclusive == true || range.stopRowInclusive == true) {<a name="line.330"></a>
-<span class="sourceLineNo">331</span>                lastStopRowInclusive = true;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>              }<a name="line.332"></a>
-<span class="sourceLineNo">333</span>              i++;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>              if (i &lt; ranges.size()) {<a name="line.334"></a>
-<span class="sourceLineNo">335</span>                range = ranges.get(i);<a name="line.335"></a>
-<span class="sourceLineNo">336</span>                if (!range.isValid()) {<a name="line.336"></a>
-<span class="sourceLineNo">337</span>                  invalidRanges.add(range);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>                }<a name="line.338"></a>
-<span class="sourceLineNo">339</span>              } else {<a name="line.339"></a>
-<span class="sourceLineNo">340</span>                break;<a name="line.340"></a>
-<span class="sourceLineNo">341</span>              }<a name="line.341"></a>
-<span class="sourceLineNo">342</span>            } else {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>              lastStopRow = range.stopRow;<a name="line.343"></a>
-<span class="sourceLineNo">344</span>              lastStopRowInclusive = range.stopRowInclusive;<a name="line.344"></a>
-<span class="sourceLineNo">345</span>              i++;<a name="line.345"></a>
-<span class="sourceLineNo">346</span>              if (i &lt; ranges.size()) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>                range = ranges.get(i);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>                if (!range.isValid()) {<a name="line.348"></a>
-<span class="sourceLineNo">349</span>                  invalidRanges.add(range);<a name="line.349"></a>
-<span class="sourceLineNo">350</span>                }<a name="line.350"></a>
-<span class="sourceLineNo">351</span>              } else {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>                break;<a name="line.352"></a>
-<span class="sourceLineNo">353</span>              }<a name="line.353"></a>
-<span class="sourceLineNo">354</span>            }<a name="line.354"></a>
-<span class="sourceLineNo">355</span>          }<a name="line.355"></a>
-<span class="sourceLineNo">356</span>          if(Bytes.equals(range.stopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.356"></a>
-<span class="sourceLineNo">357</span>            if((Bytes.compareTo(lastStopRow, range.startRow) &lt; 0) ||<a name="line.357"></a>
-<span class="sourceLineNo">358</span>                (Bytes.compareTo(lastStopRow, range.startRow) == 0 &amp;&amp;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>                lastStopRowInclusive == false &amp;&amp; range.startRowInclusive == false)) {<a name="line.359"></a>
-<span class="sourceLineNo">360</span>              newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.360"></a>
-<span class="sourceLineNo">361</span>                  lastStopRowInclusive));<a name="line.361"></a>
-<span class="sourceLineNo">362</span>              newRanges.add(range);<a name="line.362"></a>
-<span class="sourceLineNo">363</span>            } else {<a name="line.363"></a>
-<span class="sourceLineNo">364</span>              newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, range.stopRow,<a name="line.364"></a>
-<span class="sourceLineNo">365</span>                  range.stopRowInclusive));<a name="line.365"></a>
-<span class="sourceLineNo">366</span>              break;<a name="line.366"></a>
-<span class="sourceLineNo">367</span>            }<a name="line.367"></a>
-<span class="sourceLineNo">368</span>          }<a name="line.368"></a>
-<span class="sourceLineNo">369</span>          newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.369"></a>
-<span class="sourceLineNo">370</span>              lastStopRowInclusive));<a name="line.370"></a>
-<span class="sourceLineNo">371</span>          if ((i + 1) == ranges.size()) {<a name="line.371"></a>
-<span class="sourceLineNo">372</span>            newRanges.add(range);<a name="line.372"></a>
-<span class="sourceLineNo">373</span>          }<a name="line.373"></a>
-<span class="sourceLineNo">374</span>          lastStartRow = range.startRow;<a name="line.374"></a>
-<span class="sourceLineNo">375</span>          lastStartRowInclusive = range.startRowInclusive;<a name="line.375"></a>
-<span class="sourceLineNo">376</span>          lastStopRow = range.stopRow;<a name="line.376"></a>
-<span class="sourceLineNo">377</span>          lastStopRowInclusive = range.stopRowInclusive;<a name="line.377"></a>
-<span class="sourceLineNo">378</span>        }<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      } else {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>        newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.380"></a>
-<span class="sourceLineNo">381</span>            lastStopRowInclusive));<a name="line.381"></a>
-<span class="sourceLineNo">382</span>        if ((i + 1) == ranges.size()) {<a name="line.382"></a>
-<span class="sourceLineNo">383</span>          newRanges.add(range);<a name="line.383"></a>
-<span class="sourceLineNo">384</span>        }<a name="line.384"></a>
-<span class="sourceLineNo">385</span>        lastStartRow = range.startRow;<a name="line.385"></a>
-<span class="sourceLineNo">386</span>        lastStartRowInclusive = range.startRowInclusive;<a name="line.386"></a>
-<span class="sourceLineNo">387</span>        lastStopRow = range.stopRow;<a name="line.387"></a>
-<span class="sourceLineNo">388</span>        lastStopRowInclusive = range.stopRowInclusive;<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      }<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    }<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    // check the remaining ranges<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    for(int j=i; j &lt; ranges.size(); j++) {<a name="line.392"></a>
-<span class="sourceLineNo">393</span>      if(!ranges.get(j).isValid()) {<a name="line.393"></a>
-<span class="sourceLineNo">394</span>        invalidRanges.add(ranges.get(j));<a name="line.394"></a>
-<span class="sourceLineNo">395</span>      }<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    }<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    // if invalid range exists, throw the exception<a name="line.397"></a>
-<span class="sourceLineNo">398</span>    if (invalidRanges.size() != 0) {<a name="line.398"></a>
-<span class="sourceLineNo">399</span>      throwExceptionForInvalidRanges(invalidRanges, true);<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    }<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    // If no valid ranges found, throw the exception<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    if(newRanges.isEmpty()) {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      throw new IllegalArgumentException("No valid ranges found.");<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    }<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    return newRanges;<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  }<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>  private static void throwExceptionForInvalidRanges(List&lt;RowRange&gt; invalidRanges,<a name="line.408"></a>
-<span class="sourceLineNo">409</span>      boolean details) {<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    StringBuilder sb = new StringBuilder();<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    sb.append(invalidRanges.size()).append(" invaild ranges.\n");<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    if (details) {<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      for (RowRange range : invalidRanges) {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>        sb.append(<a name="line.414"></a>
-<span class="sourceLineNo">415</span>            "Invalid range: start row =&gt; " + Bytes.toString(range.startRow) + ", stop row =&gt; "<a name="line.415"></a>
-<span class="sourceLineNo">416</span>                + Bytes.toString(range.stopRow)).append('\n');<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      }<a name="line.417"></a>
-<span class="sourceLineNo">418</span>    }<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    throw new IllegalArgumentException(sb.toString());<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  }<a name="line.420"></a>
-<span class="sourceLineNo">421</span><a name="line.421"></a>
-<span class="sourceLineNo">422</span>  @InterfaceAudience.Public<a name="line.422"></a>
-<span class="sourceLineNo">423</span>  public static class RowRange implements Comparable&lt;RowRange&gt; {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    private byte[] startRow;<a name="line.424"></a>
-<span class="sourceLineNo">425</span>    private boolean startRowInclusive = true;<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    private byte[] stopRow;<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    private boolean stopRowInclusive = false;<a name="line.427"></a>
-<span class="sourceLineNo">428</span><a name="line.428"></a>
-<span class="sourceLineNo">429</span>    public RowRange() {<a name="line.429"></a>
-<span class="sourceLineNo">430</span>    }<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    /**<a name="line.431"></a>
-<span class="sourceLineNo">432</span>     * If the startRow is empty or null, set it to HConstants.EMPTY_BYTE_ARRAY, means begin at the<a name="line.432"></a>
-<span class="sourceLineNo">433</span>     * start row of the table. If the stopRow is empty or null, set it to<a name="line.433"></a>
-<span class="sourceLineNo">434</span>     * HConstants.EMPTY_BYTE_ARRAY, means end of the last row of table.<a name="line.434"></a>
-<span class="sourceLineNo">435</span>     */<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    public RowRange(String startRow, boolean startRowInclusive, String stopRow,<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        boolean stopRowInclusive) {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>      this((startRow == null || startRow.isEmpty()) ? HConstants.EMPTY_BYTE_ARRAY :<a name="line.438"></a>
-<span class="sourceLineNo">439</span>        Bytes.toBytes(startRow), startRowInclusive,<a name="line.439"></a>
-<span class="sourceLineNo">440</span>        (stopRow == null || stopRow.isEmpty()) ? HConstants.EMPTY_BYTE_ARRAY :<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        Bytes.toBytes(stopRow), stopRowInclusive);<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    }<a name="line.442"></a>
-<span class="sourceLineNo">443</span><a name="line.443"></a>
-<span class="sourceLineNo">444</span>    public RowRange(byte[] startRow,  boolean startRowInclusive, byte[] stopRow,<a name="line.444"></a>
-<span class="sourceLineNo">445</span>        boolean stopRowInclusive) {<a name="line.445"></a>
-<span class="sourceLineNo">446</span>      this.startRow = (startRow == null) ? HConstants.EMPTY_BYTE_ARRAY : startRow;<a name="line.446"></a>
-<span class="sourceLineNo">447</span>      this.startRowInclusive = startRowInclusive;<a name="line.447"></a>
-<span class="sourceLineNo">448</span>      this.stopRow = (stopRow == null) ? HConstants.EMPTY_BYTE_ARRAY :stopRow;<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      this.stopRowInclusive = stopRowInclusive;<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    }<a name="line.450"></a>
-<span class="sourceLineNo">451</span><a name="line.451"></a>
-<span class="sourceLineNo">452</span>    public byte[] getStartRow() {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      return startRow;<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    }<a name="line.454"></a>
-<span class="sourceLineNo">455</span><a name="line.455"></a>
-<span class="sourceLineNo">456</span>    public byte[] getStopRow() {<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      return stopRow;<a name="line.457"></a>
-<span class="sourceLineNo">458</span>    }<a name="line.458"></a>
-<span class="sourceLineNo">459</span><a name="line.459"></a>
-<span class="sourceLineNo">460</span>    /**<a name="line.460"></a>
-<span class="sourceLineNo">461</span>     * @return if start row is inclusive.<a name="line.461"></a>
-<span class="sourceLineNo">462</span>     */<a name="line.462"></a>
-<span class="sourceLineNo">463</span>    public boolean isStartRowInclusive() {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>      return startRowInclusive;<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    }<a name="line.465"></a>
-<span class="sourceLineNo">466</span><a name="line.466"></a>
-<span class="sourceLineNo">467</span>    /**<a name="line.467"></a>
-<span class="sourceLineNo">468</span>     * @return if stop row is inclusive.<a name="line.468"></a>
-<span class="sourceLineNo">469</span>     */<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    public boolean isStopRowInclusive() {<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      return stopRowInclusive;<a name="line.471"></a>
-<span class="sourceLineNo">472</span>    }<a name="line.472"></a>
-<span class="sourceLineNo">473</span><a name="line.473"></a>
-<span class="sourceLineNo">474</span>    public boolean contains(byte[] row) {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      return contains(row, 0, row.length);<a name="line.475"></a>
-<span class="sourceLineNo">476</span>    }<a name="line.476"></a>
-<span class="sourceLineNo">477</span><a name="line.477"></a>
-<span class="sourceLineNo">478</span>    public boolean contains(byte[] buffer, int offset, int length) {<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if(startRowInclusive) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        if(stopRowInclusive) {<a name="line.480"></a>
-<span class="sourceLineNo">481</span>          return Bytes.compareTo(buffer, offset, length, startRow, 0, startRow.length) &gt;= 0<a name="line.481"></a>
-<span class="sourceLineNo">482</span>              &amp;&amp; (Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY) ||<a name="line.482"></a>
-<span class="sourceLineNo">483</span>                  Bytes.compareTo(buffer, offset, length, stopRow, 0, stopRow.length) &lt;= 0);<a name="line.483"></a>
-<span class="sourceLineNo">484</span>        } else {<a name="line.484"></a>
-<span class="sourceLineNo">485</span>          return Bytes.compareTo(buffer, offset, length, startRow, 0, startRow.length) &gt;= 0<a name="line.485"></a>
-<span class="sourceLineNo">486</span>              &amp;&amp; (Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY) ||<a name="line.486"></a>
-<span class="sourceLineNo">487</span>                  Bytes.compareTo(buffer, offset, length, stopRow, 0, stopRow.length) &lt; 0);<a name="line.487"></a>
-<span class="sourceLineNo">488</span>        }<a name="line.488"></a>
-<span class="sourceLineNo">489</span>      } else {<a name="line.489"></a>
-<span class="sourceLineNo">490</span>        if(stopRowInclusive) {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>          return Bytes.compareTo(buffer, offset, length, startRow, 0, startRow.length) &gt; 0<a name="line.491"></a>
-<span class="sourceLineNo">492</span>              &amp;&amp; (Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY) ||<a name="line.492"></a>
-<span class="sourceLineNo">493</span>                  Bytes.compareTo(buffer, offset, length, stopRow, 0, stopRow.length) &lt;= 0);<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        } else {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>          return Bytes.compareTo(buffer, offset, length, startRow, 0, startRow.length) &gt; 0<a name="line.495"></a>
-<span class="sourceLineNo">496</span>              &amp;&amp; (Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY) ||<a name="line.496"></a>
-<span class="sourceLineNo">497</span>                  Bytes.compareTo(buffer, offset, length, stopRow, 0, stopRow.length) &lt; 0);<a name="line.497"></a>
-<span class="sourceLineNo">498</span>        }<a name="line.498"></a>
-<span class="sourceLineNo">499</span>      }<a name="line.499"></a>
-<span class="sourceLineNo">500</span>    }<a name="line.500"></a>
-<span class="sourceLineNo">501</span><a name="line.501"></a>
-<span class="sourceLineNo">502</span>    @Override<a name="line.502"></a>
-<span class="sourceLineNo">503</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="EQ_COMPARETO_USE_OBJECT_EQUALS",<a name="line.503"></a>
-<span class="sourceLineNo">504</span>      justification="This compareTo is not of this Object, but of referenced RowRange")<a name="line.504"></a>
-<span class="sourceLineNo">505</span>    public int compareTo(RowRange other) {<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      return Bytes.compareTo(this.startRow, other.startRow);<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    }<a name="line.507"></a>
-<span class="sourceLineNo">508</span><a name="line.508"></a>
-<span class="sourceLineNo">509</span>    public boolean isValid() {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      return Bytes.equals(startRow, HConstants.EMPTY_BYTE_ARRAY)<a name="line.510"></a>
-<span class="sourceLineNo">511</span>          || Bytes.equals(stopRow, HConstants.EMPTY_BYTE_ARRAY)<a name="line.511"></a>
-<span class="sourceLineNo">512</span>          || Bytes.compareTo(startRow, stopRow) &lt; 0<a name="line.512"></a>
-<span class="sourceLineNo">513</span>          || (Bytes.compareTo(startRow, stopRow) == 0 &amp;&amp; stopRowInclusive == true);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    }<a name="line.514"></a>
-<span class="sourceLineNo">515</span>  }<a name="line.515"></a>
-<span class="sourceLineNo">516</span>}<a name="line.516"></a>
+<span class="sourceLineNo">023</span>import java.util.Objects;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.HConstants;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.34"></a>
+<span class="sourceLineNo">035</span><a name="line.35"></a>
+<span class="sourceLineNo">036</span>/**<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * Filter to support scan multiple row key ranges. It can construct the row key ranges from the<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * passed list which can be accessed by each region server.<a name="line.38"></a>
+<span class="sourceLineNo">039</span> *<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * HBase is quite efficient when scanning only one small row key range. If user needs to specify<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * multiple row key ranges in one scan, the typical solutions are: 1. through FilterList which is a<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * list of row key Filters, 2. using the SQL layer over HBase to join with two table, such as hive,<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * phoenix etc. However, both solutions are inefficient. Both of them can't utilize the range info<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * to perform fast forwarding during scan which is quite time consuming. If the number of ranges<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * are quite big (e.g. millions), join is a proper solution though it is slow. However, there are<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * cases that user wants to specify a small number of ranges to scan (e.g. &amp;lt;1000 ranges). Both<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * solutions can't provide satisfactory performance in such case. MultiRowRangeFilter is to support<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * such usec ase (scan multiple row key ranges), which can construct the row key ranges from user<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * specified list and perform fast-forwarding during scan. Thus, the scan will be quite efficient.<a name="line.49"></a>
+<span class="sourceLineNo">050</span> */<a name="line.50"></a>
+<span class="sourceLineNo">051</span>@InterfaceAudience.Public<a name="line.51"></a>
+<span class="sourceLineNo">052</span>public class MultiRowRangeFilter extends FilterBase {<a name="line.52"></a>
+<span class="sourceLineNo">053</span><a name="line.53"></a>
+<span class="sourceLineNo">054</span>  private List&lt;RowRange&gt; rangeList;<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>  private static final int ROW_BEFORE_FIRST_RANGE = -1;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  private boolean EXCLUSIVE = false;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  private boolean done = false;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  private boolean initialized = false;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  private int index;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>  private RowRange range;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>  private ReturnCode currentReturnCode;<a name="line.62"></a>
+<span class="sourceLineNo">063</span><a name="line.63"></a>
+<span class="sourceLineNo">064</span>  /**<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   * @param list A list of &lt;code&gt;RowRange&lt;/code&gt;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>   */<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  public MultiRowRangeFilter(List&lt;RowRange&gt; list) {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    this.rangeList = sortAndMerge(list);<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  }<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>  @Override<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  public boolean filterAllRemaining() {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    return done;<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>  public List&lt;RowRange&gt; getRowRanges() {<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    return this.rangeList;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  }<a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>  @Override<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  public boolean filterRowKey(Cell firstRowCell) {<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    if (filterAllRemaining()) return true;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    // If it is the first time of running, calculate the current range index for<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    // the row key. If index is out of bound which happens when the start row<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    // user sets is after the largest stop row of the ranges, stop the scan.<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    // If row key is after the current range, find the next range and update index.<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    byte[] rowArr = firstRowCell.getRowArray();<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    int length = firstRowCell.getRowLength();<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    int offset = firstRowCell.getRowOffset();<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    if (!initialized<a name="line.90"></a>
+<span class="sourceLineNo">091</span>        || !range.contains(rowArr, offset, length)) {<a name="line.91"></a>
+<span class="sourceLineNo">092</span>      byte[] rowkey = CellUtil.cloneRow(firstRowCell);<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      index = getNextRangeIndex(rowkey);<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      if (index &gt;= rangeList.size()) {<a name="line.94"></a>
+<span class="sourceLineNo">095</span>        done = true;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>        currentReturnCode = ReturnCode.NEXT_ROW;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>        return false;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      }<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      if(index != ROW_BEFORE_FIRST_RANGE) {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>        range = rangeList.get(index);<a name="line.100"></a>
+<span class="sourceLineNo">101</span>      } else {<a name="line.101"></a>
+<span class="sourceLineNo">102</span>        range = rangeList.get(0);<a name="line.102"></a>
+<span class="sourceLineNo">103</span>      }<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      if (EXCLUSIVE) {<a name="line.104"></a>
+<span class="sourceLineNo">105</span>        EXCLUSIVE = false;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>        currentReturnCode = ReturnCode.NEXT_ROW;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>        return false;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>      }<a name="line.108"></a>
+<span class="sourceLineNo">109</span>      if (!initialized) {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>        if(index != ROW_BEFORE_FIRST_RANGE) {<a name="line.110"></a>
+<span class="sourceLineNo">111</span>          currentReturnCode = ReturnCode.INCLUDE;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>        } else {<a name="line.112"></a>
+<span class="sourceLineNo">113</span>          currentReturnCode = ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>        }<a name="line.114"></a>
+<span class="sourceLineNo">115</span>        initialized = true;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      } else {<a name="line.116"></a>
+<span class="sourceLineNo">117</span>        if (range.contains(rowArr, offset, length)) {<a name="line.117"></a>
+<span class="sourceLineNo">118</span>          currentReturnCode = ReturnCode.INCLUDE;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>        } else {<a name="line.119"></a>
+<span class="sourceLineNo">120</span>          currentReturnCode = ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>        }<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      }<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    } else {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>      currentReturnCode = ReturnCode.INCLUDE;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    }<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    return false;<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<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  @Override<a name="line.130"></a>
+<span class="sourceLineNo">131</span>  public ReturnCode filterKeyValue(final Cell ignored) {<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    return filterCell(ignored);<a name="line.132"></a>
+<span class="sourceLineNo">133</span>  }<a name="line.133"></a>
+<span class="sourceLineNo">134</span><a name="line.134"></a>
+<span class="sourceLineNo">135</span>  @Override<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  public ReturnCode filterCell(final Cell ignored) {<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    return currentReturnCode;<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>  @Override<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  public Cell getNextCellHint(Cell currentKV) {<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    // skip to the next range's start row<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    return PrivateCellUtil.createFirstOnRow(range.startRow, 0,<a name="line.143"></a>
+<span class="sourceLineNo">144</span>        (short) range.startRow.length);<a name="line.144"></a>
+<span class="sourceLineNo">145</span>  }<a name="line.145"></a>
+<span class="sourceLineNo">146</span><a name="line.146"></a>
+<span class="sourceLineNo">147</span>  /**<a name="line.147"></a>
+<span class="sourceLineNo">148</span>   * @return The filter serialized using pb<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   */<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  @Override<a name="line.150"></a>
+<span class="sourceLineNo">151</span>  public byte[] toByteArray() {<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    FilterProtos.MultiRowRangeFilter.Builder builder = FilterProtos.MultiRowRangeFilter<a name="line.152"></a>
+<span class="sourceLineNo">153</span>        .newBuilder();<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    for (RowRange range : rangeList) {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>      if (range != null) {<a name="line.155"></a>
+<span class="sourceLineNo">156</span>        FilterProtos.RowRange.Builder rangebuilder = FilterProtos.RowRange.newBuilder();<a name="line.156"></a>
+<span class="sourceLineNo">157</span>        if (range.startRow != null)<a name="line.157"></a>
+<span class="sourceLineNo">158</span>          rangebuilder.setStartRow(UnsafeByteOperations.unsafeWrap(range.startRow));<a name="line.158"></a>
+<span class="sourceLineNo">159</span>        rangebuilder.setStartRowInclusive(range.startRowInclusive);<a name="line.159"></a>
+<span class="sourceLineNo">160</span>        if (range.stopRow != null)<a name="line.160"></a>
+<span class="sourceLineNo">161</span>          rangebuilder.setStopRow(UnsafeByteOperations.unsafeWrap(range.stopRow));<a name="line.161"></a>
+<span class="sourceLineNo">162</span>        rangebuilder.setStopRowInclusive(range.stopRowInclusive);<a name="line.162"></a>
+<span class="sourceLineNo">163</span>        builder.addRowRangeList(rangebuilder.build());<a name="line.163"></a>
+<span class="sourceLineNo">164</span>      }<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    }<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    return builder.build().toByteArray();<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>   * @param pbBytes A pb serialized instance<a name="line.170"></a>
+<span class="sourceLineNo">171</span>   * @return An instance of MultiRowRangeFilter<a name="line.171"></a>
+<span class="sourceLineNo">172</span>   * @throws org.apache.hadoop.hbase.exceptions.DeserializationException<a name="line.172"></a>
+<span class="sourceLineNo">173</span>   */<a name="line.173"></a>
+<span class="sourceLineNo">174</span>  public static MultiRowRangeFilter parseFrom(final byte[] pbBytes)<a name="line.174"></a>
+<span class="sourceLineNo">175</span>      throws DeserializationException {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    FilterProtos.MultiRowRangeFilter proto;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    try {<a name="line.177"></a>
+<span class="sourceLineNo">178</span>      proto = FilterProtos.MultiRowRangeFilter.parseFrom(pbBytes);<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    } catch (InvalidProtocolBufferException e) {<a name="line.179"></a>
+<span class="sourceLineNo">180</span>      throw new DeserializationException(e);<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    }<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    int length = proto.getRowRangeListCount();<a name="line.182"></a>
+<span class="sourceLineNo">183</span>    List&lt;FilterProtos.RowRange&gt; rangeProtos = proto.getRowRangeListList();<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    List&lt;RowRange&gt; rangeList = new ArrayList&lt;&gt;(length);<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    for (FilterProtos.RowRange rangeProto : rangeProtos) {<a name="line.185"></a>
+<span class="sourceLineNo">186</span>      RowRange range = new RowRange(rangeProto.hasStartRow() ? rangeProto.getStartRow()<a name="line.186"></a>
+<span class="sourceLineNo">187</span>          .toByteArray() : null, rangeProto.getStartRowInclusive(), rangeProto.hasStopRow() ?<a name="line.187"></a>
+<span class="sourceLineNo">188</span>              rangeProto.getStopRow().toByteArray() : null, rangeProto.getStopRowInclusive());<a name="line.188"></a>
+<span class="sourceLineNo">189</span>      rangeList.add(range);<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    }<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    return new MultiRowRangeFilter(rangeList);<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  }<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>  /**<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   * @param o the filter to compare<a name="line.195"></a>
+<span class="sourceLineNo">196</span>   * @return true if and only if the fields of the filter that are serialized are equal to the<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   *         corresponding fields in other. Used for testing.<a name="line.197"></a>
+<span class="sourceLineNo">198</span>   */<a name="line.198"></a>
+<span class="sourceLineNo">199</span>  @Override<a name="line.199"></a>
+<span class="sourceLineNo">200</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    if (o == this)<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      return true;<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    if (!(o instanceof MultiRowRangeFilter))<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      return false;<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>    MultiRowRangeFilter other = (MultiRowRangeFilter) o;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    if (this.rangeList.size() != other.rangeList.size())<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      return false;<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    for (int i = 0; i &lt; rangeList.size(); ++i) {<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      RowRange thisRange = this.rangeList.get(i);<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      RowRange otherRange = other.rangeList.get(i);<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      if (!(Bytes.equals(thisRange.startRow, otherRange.startRow) &amp;&amp; Bytes.equals(<a name="line.212"></a>
+<span class="sourceLineNo">213</span>          thisRange.stopRow, otherRange.stopRow) &amp;&amp; (thisRange.startRowInclusive ==<a name="line.213"></a>
+<span class="sourceLineNo">214</span>          otherRange.startRowInclusive) &amp;&amp; (thisRange.stopRowInclusive ==<a name="line.214"></a>
+<span class="sourceLineNo">215</span>          otherRange.stopRowInclusive))) {<a name="line.215"></a>
+<span class="sourceLineNo">216</span>        return false;<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      }<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    }<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    return true;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>  }<a name="line.220"></a>
+<span class="sourceLineNo">221</span><a name="line.221"></a>
+<span class="sourceLineNo">222</span>  /**<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   * calculate the position where the row key in the ranges list.<a name="line.223"></a>
+<span class="sourceLineNo">224</span>   *<a name="line.224"></a>
+<span class="sourceLineNo">225</span>   * @param rowKey the row key to calculate<a name="line.225"></a>
+<span class="sourceLineNo">226</span>   * @return index the position of the row key<a name="line.226"></a>
+<span class="sourceLineNo">227</span>   */<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  private int getNextRangeIndex(byte[] rowKey) {<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    RowRange temp = new RowRange(rowKey, true, null, true);<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    int index = Collections.binarySearch(rangeList, temp);<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    if (index &lt; 0) {<a name="line.231"></a>
+<span class="sourceLineNo">232</span>      int insertionPosition = -index - 1;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>      // check if the row key in the range before the insertion position<a name="line.233"></a>
+<span class="sourceLineNo">234</span>      if (insertionPosition != 0 &amp;&amp; rangeList.get(insertionPosition - 1).contains(rowKey)) {<a name="line.234"></a>
+<span class="sourceLineNo">235</span>        return insertionPosition - 1;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>      }<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      // check if the row key is before the first range<a name="line.237"></a>
+<span class="sourceLineNo">238</span>      if (insertionPosition == 0 &amp;&amp; !rangeList.get(insertionPosition).contains(rowKey)) {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>        return ROW_BEFORE_FIRST_RANGE;<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      }<a name="line.240"></a>
+<span class="sourceLineNo">241</span>      if (!initialized) {<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        initialized = true;<a name="line.242"></a>
+<span class="sourceLineNo">243</span>      }<a name="line.243"></a>
+<span class="sourceLineNo">244</span>      return insertionPosition;<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    }<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    // the row key equals one of the start keys, and the the range exclude the start key<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    if(rangeList.get(index).startRowInclusive == false) {<a name="line.247"></a>
+<span class="sourceLineNo">248</span>      EXCLUSIVE = true;<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    }<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    return index;<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  }<a name="line.251"></a>
+<span class="sourceLineNo">252</span><a name="line.252"></a>
+<span class="sourceLineNo">253</span>  /**<a name="line.253"></a>
+<span class="sourceLineNo">254</span>   * sort the ranges and if the ranges with overlap, then merge them.<a name="line.254"></a>
+<span class="sourceLineNo">255</span>   *<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   * @param ranges the list of ranges to sort and merge.<a name="line.256"></a>
+<span class="sourceLineNo">257</span>   * @return the ranges after sort and merge.<a name="line.257"></a>
+<span class="sourceLineNo">258</span>   */<a name="line.258"></a>
+<span class="sourceLineNo">259</span>  public static List&lt;RowRange&gt; sortAndMerge(List&lt;RowRange&gt; ranges) {<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    if (ranges.isEmpty()) {<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      throw new IllegalArgumentException("No ranges found.");<a name="line.261"></a>
+<span class="sourceLineNo">262</span>    }<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    List&lt;RowRange&gt; invalidRanges = new ArrayList&lt;&gt;();<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    List&lt;RowRange&gt; newRanges = new ArrayList&lt;&gt;(ranges.size());<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    Collections.sort(ranges);<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    if(ranges.get(0).isValid()) {<a name="line.266"></a>
+<span class="sourceLineNo">267</span>      if (ranges.size() == 1) {<a name="line.267"></a>
+<span class="sourceLineNo">268</span>        newRanges.add(ranges.get(0));<a name="line.268"></a>
+<span class="sourceLineNo">269</span>      }<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    } else {<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      invalidRanges.add(ranges.get(0));<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    }<a name="line.272"></a>
+<span class="sourceLineNo">273</span><a name="line.273"></a>
+<span class="sourceLineNo">274</span>    byte[] lastStartRow = ranges.get(0).startRow;<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    boolean lastStartRowInclusive = ranges.get(0).startRowInclusive;<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    byte[] lastStopRow = ranges.get(0).stopRow;<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    boolean lastStopRowInclusive = ranges.get(0).stopRowInclusive;<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    int i = 1;<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    for (; i &lt; ranges.size(); i++) {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      RowRange range = ranges.get(i);<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      if (!range.isValid()) {<a name="line.281"></a>
+<span class="sourceLineNo">282</span>        invalidRanges.add(range);<a name="line.282"></a>
+<span class="sourceLineNo">283</span>      }<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      if(Bytes.equals(lastStopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span>        newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.285"></a>
+<span class="sourceLineNo">286</span>            lastStopRowInclusive));<a name="line.286"></a>
+<span class="sourceLineNo">287</span>        break;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>      }<a name="line.288"></a>
+<span class="sourceLineNo">289</span>      // with overlap in the ranges<a name="line.289"></a>
+<span class="sourceLineNo">290</span>      if ((Bytes.compareTo(lastStopRow, range.startRow) &gt; 0) ||<a name="line.290"></a>
+<span class="sourceLineNo">291</span>          (Bytes.compareTo(lastStopRow, range.startRow) == 0 &amp;&amp; !(lastStopRowInclusive == false &amp;&amp;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>          range.isStartRowInclusive() == false))) {<a name="line.292"></a>
+<span class="sourceLineNo">293</span>        if(Bytes.equals(range.stopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>          newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, range.stopRow,<a name="line.294"></a>
+<span class="sourceLineNo">295</span>              range.stopRowInclusive));<a name="line.295"></a>
+<span class="sourceLineNo">296</span>          break;<a name="line.296"></a>
+<span class="sourceLineNo">297</span>        }<a name="line.297"></a>
+<span class="sourceLineNo">298</span>        // if first range contains second range, ignore the second range<a name="line.298"></a>
+<span class="sourceLineNo">299</span>        if (Bytes.compareTo(lastStopRow, range.stopRow) &gt;= 0) {<a name="line.299"></a>
+<span class="sourceLineNo">300</span>          if((Bytes.compareTo(lastStopRow, range.stopRow) == 0)) {<a name="line.300"></a>
+<span class="sourceLineNo">301</span>            if(lastStopRowInclusive == true || range.stopRowInclusive == true) {<a name="line.301"></a>
+<span class="sourceLineNo">302</span>              lastStopRowInclusive = true;<a name="line.302"></a>
+<span class="sourceLineNo">303</span>            }<a name="line.303"></a>
+<span class="sourceLineNo">304</span>          }<a name="line.304"></a>
+<span class="sourceLineNo">305</span>          if ((i + 1) == ranges.size()) {<a name="line.305"></a>
+<span class="sourceLineNo">306</span>            newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.306"></a>
+<span class="sourceLineNo">307</span>                lastStopRowInclusive));<a name="line.307"></a>
+<span class="sourceLineNo">308</span>          }<a name="line.308"></a>
+<span class="sourceLineNo">309</span>        } else {<a name="line.309"></a>
+<span class="sourceLineNo">310</span>          lastStopRow = range.stopRow;<a name="line.310"></a>
+<span class="sourceLineNo">311</span>          lastStopRowInclusive = range.stopRowInclusive;<a name="line.311"></a>
+<span class="sourceLineNo">312</span>          if ((i + 1) &lt; ranges.size()) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>            i++;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>            range = ranges.get(i);<a name="line.314"></a>
+<span class="sourceLineNo">315</span>            if (!range.isValid()) {<a name="line.315"></a>
+<span class="sourceLineNo">316</span>              invalidRanges.add(range);<a name="line.316"></a>
+<span class="sourceLineNo">317</span>            }<a name="line.317"></a>
+<span class="sourceLineNo">318</span>          } else {<a name="line.318"></a>
+<span class="sourceLineNo">319</span>            newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.319"></a>
+<span class="sourceLineNo">320</span>                lastStopRowInclusive));<a name="line.320"></a>
+<span class="sourceLineNo">321</span>            break;<a name="line.321"></a>
+<span class="sourceLineNo">322</span>          }<a name="line.322"></a>
+<span class="sourceLineNo">323</span>          while ((Bytes.compareTo(lastStopRow, range.startRow) &gt; 0) ||<a name="line.323"></a>
+<span class="sourceLineNo">324</span>              (Bytes.compareTo(lastStopRow, range.startRow) == 0 &amp;&amp;<a name="line.324"></a>
+<span class="sourceLineNo">325</span>              (lastStopRowInclusive == true || range.startRowInclusive==true))) {<a name="line.325"></a>
+<span class="sourceLineNo">326</span>            if(Bytes.equals(range.stopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>              break;<a name="line.327"></a>
+<span class="sourceLineNo">328</span>            }<a name="line.328"></a>
+<span class="sourceLineNo">329</span>            // if this first range contain second range, ignore the second range<a name="line.329"></a>
+<span class="sourceLineNo">330</span>            if (Bytes.compareTo(lastStopRow, range.stopRow) &gt;= 0) {<a name="line.330"></a>
+<span class="sourceLineNo">331</span>              if(lastStopRowInclusive == true || range.stopRowInclusive == true) {<a name="line.331"></a>
+<span class="sourceLineNo">332</span>                lastStopRowInclusive = true;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>              }<a name="line.333"></a>
+<span class="sourceLineNo">334</span>              i++;<a name="line.334"></a>
+<span class="sourceLineNo">335</span>              if (i &lt; ranges.size()) {<a name="line.335"></a>
+<span class="sourceLineNo">336</span>                range = ranges.get(i);<a name="line.336"></a>
+<span class="sourceLineNo">337</span>                if (!range.isValid()) {<a name="line.337"></a>
+<span class="sourceLineNo">338</span>                  invalidRanges.add(range);<a name="line.338"></a>
+<span class="sourceLineNo">339</span>                }<a name="line.339"></a>
+<span class="sourceLineNo">340</span>              } else {<a name="line.340"></a>
+<span class="sourceLineNo">341</span>                break;<a name="line.341"></a>
+<span class="sourceLineNo">342</span>              }<a name="line.342"></a>
+<span class="sourceLineNo">343</span>            } else {<a name="line.343"></a>
+<span class="sourceLineNo">344</span>              lastStopRow = range.stopRow;<a name="line.344"></a>
+<span class="sourceLineNo">345</span>              lastStopRowInclusive = range.stopRowInclusive;<a name="line.345"></a>
+<span class="sourceLineNo">346</span>              i++;<a name="line.346"></a>
+<span class="sourceLineNo">347</span>              if (i &lt; ranges.size()) {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>                range = ranges.get(i);<a name="line.348"></a>
+<span class="sourceLineNo">349</span>                if (!range.isValid()) {<a name="line.349"></a>
+<span class="sourceLineNo">350</span>                  invalidRanges.add(range);<a name="line.350"></a>
+<span class="sourceLineNo">351</span>                }<a name="line.351"></a>
+<span class="sourceLineNo">352</span>              } else {<a name="line.352"></a>
+<span class="sourceLineNo">353</span>                break;<a name="line.353"></a>
+<span class="sourceLineNo">354</span>              }<a name="line.354"></a>
+<span class="sourceLineNo">355</span>            }<a name="line.355"></a>
+<span class="sourceLineNo">356</span>          }<a name="line.356"></a>
+<span class="sourceLineNo">357</span>          if(Bytes.equals(range.stopRow, HConstants.EMPTY_BYTE_ARRAY)) {<a name="line.357"></a>
+<span class="sourceLineNo">358</span>            if((Bytes.compareTo(lastStopRow, range.startRow) &lt; 0) ||<a name="line.358"></a>
+<span class="sourceLineNo">359</span>                (Bytes.compareTo(lastStopRow, range.startRow) == 0 &amp;&amp;<a name="line.359"></a>
+<span class="sourceLineNo">360</span>                lastStopRowInclusive == false &amp;&amp; range.startRowInclusive == false)) {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>              newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.361"></a>
+<span class="sourceLineNo">362</span>                  lastStopRowInclusive));<a name="line.362"></a>
+<span class="sourceLineNo">363</span>              newRanges.add(range);<a name="line.363"></a>
+<span class="sourceLineNo">364</span>            } else {<a name="line.364"></a>
+<span class="sourceLineNo">365</span>              newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, range.stopRow,<a name="line.365"></a>
+<span class="sourceLineNo">366</span>                  range.stopRowInclusive));<a name="line.366"></a>
+<span class="sourceLineNo">367</span>              break;<a name="line.367"></a>
+<span class="sourceLineNo">368</span>            }<a name="line.368"></a>
+<span class="sourceLineNo">369</span>          }<a name="line.369"></a>
+<span class="sourceLineNo">370</span>          newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.370"></a>
+<span class="sourceLineNo">371</span>              lastStopRowInclusive));<a name="line.371"></a>
+<span class="sourceLineNo">372</span>          if ((i + 1) == ranges.size()) {<a name="line.372"></a>
+<span class="sourceLineNo">373</span>            newRanges.add(range);<a name="line.373"></a>
+<span class="sourceLineNo">374</span>          }<a name="line.374"></a>
+<span class="sourceLineNo">375</span>          lastStartRow = range.startRow;<a name="line.375"></a>
+<span class="sourceLineNo">376</span>          lastStartRowInclusive = range.startRowInclusive;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>          lastStopRow = range.stopRow;<a name="line.377"></a>
+<span class="sourceLineNo">378</span>          lastStopRowInclusive = range.stopRowInclusive;<a name="line.378"></a>
+<span class="sourceLineNo">379</span>        }<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      } else {<a name="line.380"></a>
+<span class="sourceLineNo">381</span>        newRanges.add(new RowRange(lastStartRow, lastStartRowInclusive, lastStopRow,<a name="line.381"></a>
+<span class="sourceLineNo">382</span>            lastStopRowInclusive));<a name="line.382"></a>
+<span class="sourceLineNo">383</span>        if ((i + 1) == ranges.size()) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span>          newRanges.add(range);<a name="line.384"></a>
+<span class="sourceLineNo">385</span>        }<a name="line.385"></a>
+<span class="sourceLineNo">386</span>        lastStartRow = range.startRow;<a name="line.386"></a>
+<span class="sourceLineNo">387</span>        lastStartRowInclusive = range.startRowInclusive;<a name="line.387"></a>
+<span class="sourceLineNo">388</span>        lastStopRow = range.stopRow;<a name="line.388"></a>
+<span class="sourceLineNo">389</span>        lastStopRowInclusive = range.stopRowInclusive;<a name="line.389"></a>
+<span class="sourceLineNo">390</span>      }<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    }<a name="line.391"></a>
+<span class="sourceLineNo">392</span>    // check the remaining ranges<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    for(int j=i; j &lt; ranges.size(); j++) {<a name="line.393"></a>
+<span class="sourceLineNo">394</span>      if(!ranges.get(j).isValid()) {<a name="line.394"></a>
+<span class="sourceLineNo">395</span>        invalidRanges.add(ranges.get(j));<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      }<a name="line.396"></a>
+<span class="sourceLineNo">397</span>    }<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    // if invalid range exists, throw the exception<a name="line.398"></a>
+<span class="sourceLineNo">399</span>    if (invalidRanges.size() != 0) {<a name="line.399"></a>
+<span class="sourceLineNo">400</span>      throwExceptionForInvalidRanges(invalidRanges, true);<a name="line.400"></a>
+<span class="sourceLineNo">401</span>    }<a name="line.401"></a>
+<span class="sourceLineNo">402</span>    // If no valid ranges found, throw the exception<a name="line.402"></a>
+<span class="sourceLineNo">403</span>    if(newRanges.isEmpty()) {<a name="line.403"></a>
+<span class="sourceLineNo">404</span>      throw new IllegalArgumentException("No valid ranges found.");<a name="line.404"></a>
+<span class="sourceLineNo">405</span>    }<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    return newRanges;<a name="line.406"></a>
+<span class="sourceLineNo">407</span>  }<a name="line.407"></a>
+<span class="sourceLineNo">408</span><a name="line.408"></a>
+<span class="sourceLineNo">409</span>  private static void throwExceptionForInvalidRanges(List&lt;RowRange&gt; invalidRanges,<a name="line.409"></a>
+<span class="sourceLineNo">410</span>      boolean details) {<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    StringBuilder sb = new StringBuilder();<a name="line.411"></a>
+<span class="sourceLineNo">412</span>    sb.append(invalidRanges.size()).append(" invaild ranges.\n");<a name="line.412"></a>
+<span class="sourceLineNo">413</span>    if (details) {<a name="line.413"></a>
+<span class="sourceLineNo">414</span>      for (RowRange range : invalidRanges) {<a name="line.414"></a>
+<span class="sourceLineNo">415</span>        sb.append(<a name="line.415"></a>
+<span class="sourceLineNo">416</span>            "Invalid range: start row =&gt; " + Bytes.toString(range.startRow) + ", stop row =&gt; "<a name="line.416"></a>
+<span class="sourceLineNo">417</span>                + Bytes.toString(range.stopRow)).append('

<TRUNCATED>

[25/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/src-html/org/apache/hadoop/hbase/filter/SkipFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/SkipFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/SkipFilter.html
index 9f62fe6..9a40948 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/SkipFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/SkipFilter.html
@@ -28,148 +28,163 @@
 <span class="sourceLineNo">020</span>package org.apache.hadoop.hbase.filter;<a name="line.20"></a>
 <span class="sourceLineNo">021</span><a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span><a name="line.23"></a>
-<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.Cell;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.29"></a>
-<span class="sourceLineNo">030</span><a name="line.30"></a>
-<span class="sourceLineNo">031</span>/**<a name="line.31"></a>
-<span class="sourceLineNo">032</span> * A wrapper filter that filters an entire row if any of the Cell checks do<a name="line.32"></a>
-<span class="sourceLineNo">033</span> * not pass.<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * &lt;p&gt;<a name="line.34"></a>
-<span class="sourceLineNo">035</span> * For example, if all columns in a row represent weights of different things,<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * with the values being the actual weights, and we want to filter out the<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * entire row if any of its weights are zero.  In this case, we want to prevent<a name="line.37"></a>
-<span class="sourceLineNo">038</span> * rows from being emitted if a single key is filtered.  Combine this filter<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * with a {@link ValueFilter}:<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * &lt;/p&gt;<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * &lt;p&gt;<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * &lt;code&gt;<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * scan.setFilter(new SkipFilter(new ValueFilter(CompareOp.NOT_EQUAL,<a name="line.43"></a>
-<span class="sourceLineNo">044</span> *     new BinaryComparator(Bytes.toBytes(0))));<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * &lt;/code&gt;<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * Any row which contained a column whose value was 0 will be filtered out<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * (since ValueFilter will not pass that Cell).<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * Without this filter, the other non-zero valued columns in the row would still<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * be emitted.<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * &lt;/p&gt;<a name="line.50"></a>
-<span class="sourceLineNo">051</span> */<a name="line.51"></a>
-<span class="sourceLineNo">052</span>@InterfaceAudience.Public<a name="line.52"></a>
-<span class="sourceLineNo">053</span>public class SkipFilter extends FilterBase {<a name="line.53"></a>
-<span class="sourceLineNo">054</span>  private boolean filterRow = false;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>  private Filter filter;<a name="line.55"></a>
-<span class="sourceLineNo">056</span><a name="line.56"></a>
-<span class="sourceLineNo">057</span>  public SkipFilter(Filter filter) {<a name="line.57"></a>
-<span class="sourceLineNo">058</span>    this.filter = filter;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  }<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span>  public Filter getFilter() {<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    return filter;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  }<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span>  @Override<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  public void reset() throws IOException {<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    filter.reset();<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    filterRow = false;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  }<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>  private void changeFR(boolean value) {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    filterRow = filterRow || value;<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>  @Override<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    return false;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  }<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>  @Deprecated<a name="line.81"></a>
-<span class="sourceLineNo">082</span>  @Override<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  public ReturnCode filterKeyValue(final Cell c) throws IOException {<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    return filterCell(c);<a name="line.84"></a>
-<span class="sourceLineNo">085</span>  }<a name="line.85"></a>
-<span class="sourceLineNo">086</span><a name="line.86"></a>
-<span class="sourceLineNo">087</span>  @Override<a name="line.87"></a>
-<span class="sourceLineNo">088</span>  public ReturnCode filterCell(final Cell c) throws IOException {<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    ReturnCode rc = filter.filterCell(c);<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    changeFR(rc != ReturnCode.INCLUDE);<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    return rc;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  }<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>  @Override<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  public Cell transformCell(Cell v) throws IOException {<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    return filter.transformCell(v);<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  }<a name="line.97"></a>
-<span class="sourceLineNo">098</span><a name="line.98"></a>
-<span class="sourceLineNo">099</span>  @Override<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  public boolean filterRow() {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    return filterRow;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  }<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    <a name="line.103"></a>
-<span class="sourceLineNo">104</span>  @Override<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  public boolean hasFilterRow() {<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    return true;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>  }<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>   * @return The filter serialized using pb<a name="line.110"></a>
-<span class="sourceLineNo">111</span>   */<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  @Override<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public byte[] toByteArray() throws IOException {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    FilterProtos.SkipFilter.Builder builder =<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      FilterProtos.SkipFilter.newBuilder();<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    builder.setFilter(ProtobufUtil.toFilter(this.filter));<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    return builder.build().toByteArray();<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  }<a name="line.118"></a>
-<span class="sourceLineNo">119</span><a name="line.119"></a>
-<span class="sourceLineNo">120</span>  /**<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   * @param pbBytes A pb serialized {@link SkipFilter} instance<a name="line.121"></a>
-<span class="sourceLineNo">122</span>   * @return An instance of {@link SkipFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>   * @throws DeserializationException<a name="line.123"></a>
-<span class="sourceLineNo">124</span>   * @see #toByteArray<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   */<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  public static SkipFilter parseFrom(final byte [] pbBytes)<a name="line.126"></a>
-<span class="sourceLineNo">127</span>  throws DeserializationException {<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    FilterProtos.SkipFilter proto;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    try {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>      proto = FilterProtos.SkipFilter.parseFrom(pbBytes);<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    } catch (InvalidProtocolBufferException e) {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      throw new DeserializationException(e);<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    }<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    try {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      return new SkipFilter(ProtobufUtil.toFilter(proto.getFilter()));<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    } catch (IOException ioe) {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      throw new DeserializationException(ioe);<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><a name="line.140"></a>
-<span class="sourceLineNo">141</span>  /**<a name="line.141"></a>
-<span class="sourceLineNo">142</span>   * @param o the other filter to compare with<a name="line.142"></a>
-<span class="sourceLineNo">143</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.143"></a>
-<span class="sourceLineNo">144</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   */<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  @Override<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    if (o == this) return true;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    if (!(o instanceof SkipFilter)) return false;<a name="line.149"></a>
-<span class="sourceLineNo">150</span><a name="line.150"></a>
-<span class="sourceLineNo">151</span>    SkipFilter other = (SkipFilter)o;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    return getFilter().areSerializedFieldsEqual(other.getFilter());<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>  @Override<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  public boolean isFamilyEssential(byte[] name) throws IOException {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    return filter.isFamilyEssential(name);<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  }<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>  @Override<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  public String toString() {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    return this.getClass().getSimpleName() + " " + this.filter.toString();<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  }<a name="line.163"></a>
-<span class="sourceLineNo">164</span>}<a name="line.164"></a>
+<span class="sourceLineNo">023</span>import java.util.Objects;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.30"></a>
+<span class="sourceLineNo">031</span><a name="line.31"></a>
+<span class="sourceLineNo">032</span>/**<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * A wrapper filter that filters an entire row if any of the Cell checks do<a name="line.33"></a>
+<span class="sourceLineNo">034</span> * not pass.<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * &lt;p&gt;<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * For example, if all columns in a row represent weights of different things,<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * with the values being the actual weights, and we want to filter out the<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * entire row if any of its weights are zero.  In this case, we want to prevent<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * rows from being emitted if a single key is filtered.  Combine this filter<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * with a {@link ValueFilter}:<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * &lt;/p&gt;<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * &lt;p&gt;<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * &lt;code&gt;<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * scan.setFilter(new SkipFilter(new ValueFilter(CompareOp.NOT_EQUAL,<a name="line.44"></a>
+<span class="sourceLineNo">045</span> *     new BinaryComparator(Bytes.toBytes(0))));<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * &lt;/code&gt;<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * Any row which contained a column whose value was 0 will be filtered out<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * (since ValueFilter will not pass that Cell).<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * Without this filter, the other non-zero valued columns in the row would still<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * be emitted.<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * &lt;/p&gt;<a name="line.51"></a>
+<span class="sourceLineNo">052</span> */<a name="line.52"></a>
+<span class="sourceLineNo">053</span>@InterfaceAudience.Public<a name="line.53"></a>
+<span class="sourceLineNo">054</span>public class SkipFilter extends FilterBase {<a name="line.54"></a>
+<span class="sourceLineNo">055</span>  private boolean filterRow = false;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>  private Filter filter;<a name="line.56"></a>
+<span class="sourceLineNo">057</span><a name="line.57"></a>
+<span class="sourceLineNo">058</span>  public SkipFilter(Filter filter) {<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    this.filter = filter;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  }<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span>  public Filter getFilter() {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    return filter;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  }<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>  @Override<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  public void reset() throws IOException {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    filter.reset();<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    filterRow = false;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>  }<a name="line.70"></a>
+<span class="sourceLineNo">071</span><a name="line.71"></a>
+<span class="sourceLineNo">072</span>  private void changeFR(boolean value) {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    filterRow = filterRow || value;<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>  @Override<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    return false;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>  }<a name="line.80"></a>
+<span class="sourceLineNo">081</span><a name="line.81"></a>
+<span class="sourceLineNo">082</span>  @Deprecated<a name="line.82"></a>
+<span class="sourceLineNo">083</span>  @Override<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  public ReturnCode filterKeyValue(final Cell c) throws IOException {<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    return filterCell(c);<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>  @Override<a name="line.88"></a>
+<span class="sourceLineNo">089</span>  public ReturnCode filterCell(final Cell c) throws IOException {<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    ReturnCode rc = filter.filterCell(c);<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    changeFR(rc != ReturnCode.INCLUDE);<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    return rc;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  }<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>  @Override<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  public Cell transformCell(Cell v) throws IOException {<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    return filter.transformCell(v);<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>  @Override<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  public boolean filterRow() {<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    return filterRow;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  }<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    <a name="line.104"></a>
+<span class="sourceLineNo">105</span>  @Override<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  public boolean hasFilterRow() {<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    return true;<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>   * @return The filter serialized using pb<a name="line.111"></a>
+<span class="sourceLineNo">112</span>   */<a name="line.112"></a>
+<span class="sourceLineNo">113</span>  @Override<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  public byte[] toByteArray() throws IOException {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    FilterProtos.SkipFilter.Builder builder =<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      FilterProtos.SkipFilter.newBuilder();<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    builder.setFilter(ProtobufUtil.toFilter(this.filter));<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    return builder.build().toByteArray();<a name="line.118"></a>
+<span class="sourceLineNo">119</span>  }<a name="line.119"></a>
+<span class="sourceLineNo">120</span><a name="line.120"></a>
+<span class="sourceLineNo">121</span>  /**<a name="line.121"></a>
+<span class="sourceLineNo">122</span>   * @param pbBytes A pb serialized {@link SkipFilter} instance<a name="line.122"></a>
+<span class="sourceLineNo">123</span>   * @return An instance of {@link SkipFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>   * @throws DeserializationException<a name="line.124"></a>
+<span class="sourceLineNo">125</span>   * @see #toByteArray<a name="line.125"></a>
+<span class="sourceLineNo">126</span>   */<a name="line.126"></a>
+<span class="sourceLineNo">127</span>  public static SkipFilter parseFrom(final byte [] pbBytes)<a name="line.127"></a>
+<span class="sourceLineNo">128</span>  throws DeserializationException {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    FilterProtos.SkipFilter proto;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    try {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      proto = FilterProtos.SkipFilter.parseFrom(pbBytes);<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    } catch (InvalidProtocolBufferException e) {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      throw new DeserializationException(e);<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    }<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    try {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>      return new SkipFilter(ProtobufUtil.toFilter(proto.getFilter()));<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    } catch (IOException ioe) {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>      throw new DeserializationException(ioe);<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    }<a name="line.139"></a>
+<span class="sourceLineNo">140</span>  }<a name="line.140"></a>
+<span class="sourceLineNo">141</span><a name="line.141"></a>
+<span class="sourceLineNo">142</span>  /**<a name="line.142"></a>
+<span class="sourceLineNo">143</span>   * @param o the other filter to compare with<a name="line.143"></a>
+<span class="sourceLineNo">144</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.144"></a>
+<span class="sourceLineNo">145</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   */<a name="line.146"></a>
+<span class="sourceLineNo">147</span>  @Override<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    if (o == this) return true;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    if (!(o instanceof SkipFilter)) return false;<a name="line.150"></a>
+<span class="sourceLineNo">151</span><a name="line.151"></a>
+<span class="sourceLineNo">152</span>    SkipFilter other = (SkipFilter)o;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    return getFilter().areSerializedFieldsEqual(other.getFilter());<a name="line.153"></a>
+<span class="sourceLineNo">154</span>  }<a name="line.154"></a>
+<span class="sourceLineNo">155</span><a name="line.155"></a>
+<span class="sourceLineNo">156</span>  @Override<a name="line.156"></a>
+<span class="sourceLineNo">157</span>  public boolean isFamilyEssential(byte[] name) throws IOException {<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    return filter.isFamilyEssential(name);<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  }<a name="line.159"></a>
+<span class="sourceLineNo">160</span><a name="line.160"></a>
+<span class="sourceLineNo">161</span>  @Override<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  public String toString() {<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    return this.getClass().getSimpleName() + " " + this.filter.toString();<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  }<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>  @Override<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  public boolean equals(Object obj) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    if (obj == null || (!(obj.getClass() == this.getClass()))) {<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      return false;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    }<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    SkipFilter f = (SkipFilter) obj;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    return this.areSerializedFieldsEqual(f);<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>  @Override<a name="line.175"></a>
+<span class="sourceLineNo">176</span>  public int hashCode() {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    return Objects.hash(this.filter);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>  }<a name="line.178"></a>
+<span class="sourceLineNo">179</span>}<a name="line.179"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html
index 54d784d..076540c 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html
@@ -28,225 +28,240 @@
 <span class="sourceLineNo">020</span>import java.io.IOException;<a name="line.20"></a>
 <span class="sourceLineNo">021</span>import java.util.ArrayList;<a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.util.List;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.util.TreeSet;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.PrivateCellUtil;<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>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.29"></a>
-<span class="sourceLineNo">030</span><a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.32"></a>
-<span class="sourceLineNo">033</span><a name="line.33"></a>
-<span class="sourceLineNo">034</span>/**<a name="line.34"></a>
-<span class="sourceLineNo">035</span> * Filter that returns only cells whose timestamp (version) is<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * in the specified list of timestamps (versions).<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * &lt;p&gt;<a name="line.37"></a>
-<span class="sourceLineNo">038</span> * Note: Use of this filter overrides any time range/time stamp<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * options specified using {@link org.apache.hadoop.hbase.client.Get#setTimeRange(long, long)},<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * {@link org.apache.hadoop.hbase.client.Scan#setTimeRange(long, long)},<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * {@link org.apache.hadoop.hbase.client.Get#setTimestamp(long)},<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * or {@link org.apache.hadoop.hbase.client.Scan#setTimestamp(long)}.<a name="line.42"></a>
-<span class="sourceLineNo">043</span> */<a name="line.43"></a>
-<span class="sourceLineNo">044</span>@InterfaceAudience.Public<a name="line.44"></a>
-<span class="sourceLineNo">045</span>public class TimestampsFilter extends FilterBase {<a name="line.45"></a>
-<span class="sourceLineNo">046</span><a name="line.46"></a>
-<span class="sourceLineNo">047</span>  private final boolean canHint;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>  TreeSet&lt;Long&gt; timestamps;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>  private static final int MAX_LOG_TIMESTAMPS = 5;<a name="line.49"></a>
-<span class="sourceLineNo">050</span><a name="line.50"></a>
-<span class="sourceLineNo">051</span>  // Used during scans to hint the scan to stop early<a name="line.51"></a>
-<span class="sourceLineNo">052</span>  // once the timestamps fall below the minTimestamp.<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  long minTimestamp = Long.MAX_VALUE;<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>   * Constructor for filter that retains only the specified timestamps in the list.<a name="line.56"></a>
-<span class="sourceLineNo">057</span>   * @param timestamps<a name="line.57"></a>
-<span class="sourceLineNo">058</span>   */<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  public TimestampsFilter(List&lt;Long&gt; timestamps) {<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    this(timestamps, false);<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>  /**<a name="line.63"></a>
-<span class="sourceLineNo">064</span>   * Constructor for filter that retains only those<a name="line.64"></a>
-<span class="sourceLineNo">065</span>   * cells whose timestamp (version) is in the specified<a name="line.65"></a>
-<span class="sourceLineNo">066</span>   * list of timestamps.<a name="line.66"></a>
-<span class="sourceLineNo">067</span>   *<a name="line.67"></a>
-<span class="sourceLineNo">068</span>   * @param timestamps list of timestamps that are wanted.<a name="line.68"></a>
-<span class="sourceLineNo">069</span>   * @param canHint should the filter provide a seek hint? This can skip<a name="line.69"></a>
-<span class="sourceLineNo">070</span>   *                past delete tombstones, so it should only be used when that<a name="line.70"></a>
-<span class="sourceLineNo">071</span>   *                is not an issue ( no deletes, or don't care if data<a name="line.71"></a>
-<span class="sourceLineNo">072</span>   *                becomes visible)<a name="line.72"></a>
-<span class="sourceLineNo">073</span>   */<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  public TimestampsFilter(List&lt;Long&gt; timestamps, boolean canHint) {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    for (Long timestamp : timestamps) {<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      Preconditions.checkArgument(timestamp &gt;= 0, "must be positive %s", timestamp);<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    }<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    this.canHint = canHint;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    this.timestamps = new TreeSet&lt;&gt;(timestamps);<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    init();<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  }<a name="line.81"></a>
-<span class="sourceLineNo">082</span><a name="line.82"></a>
-<span class="sourceLineNo">083</span>  /**<a name="line.83"></a>
-<span class="sourceLineNo">084</span>   * @return the list of timestamps<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   */<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  public List&lt;Long&gt; getTimestamps() {<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    List&lt;Long&gt; list = new ArrayList&lt;&gt;(timestamps.size());<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    list.addAll(timestamps);<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    return list;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>  }<a name="line.90"></a>
-<span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span>  private void init() {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    if (this.timestamps.size() &gt; 0) {<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      minTimestamp = this.timestamps.first();<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    }<a name="line.95"></a>
-<span class="sourceLineNo">096</span>  }<a name="line.96"></a>
-<span class="sourceLineNo">097</span><a name="line.97"></a>
-<span class="sourceLineNo">098</span>  /**<a name="line.98"></a>
-<span class="sourceLineNo">099</span>   * Gets the minimum timestamp requested by filter.<a name="line.99"></a>
-<span class="sourceLineNo">100</span>   * @return  minimum timestamp requested by filter.<a name="line.100"></a>
-<span class="sourceLineNo">101</span>   */<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  public long getMin() {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    return minTimestamp;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>  }<a name="line.104"></a>
-<span class="sourceLineNo">105</span><a name="line.105"></a>
-<span class="sourceLineNo">106</span>  @Override<a name="line.106"></a>
-<span class="sourceLineNo">107</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    return false;<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>  @Deprecated<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  @Override<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    return filterCell(c);<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  }<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span>  @Override<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  public ReturnCode filterCell(final Cell c) {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    if (this.timestamps.contains(c.getTimestamp())) {<a name="line.120"></a>
-<span class="sourceLineNo">121</span>      return ReturnCode.INCLUDE;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    } else if (c.getTimestamp() &lt; minTimestamp) {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      // The remaining versions of this column are guaranteed<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      // to be lesser than all of the other values.<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      return ReturnCode.NEXT_COL;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    }<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    return canHint ? ReturnCode.SEEK_NEXT_USING_HINT : ReturnCode.SKIP;<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">023</span>import java.util.Objects;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.util.TreeSet;<a name="line.24"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.Cell;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.PrivateCellUtil;<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>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.30"></a>
+<span class="sourceLineNo">031</span><a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.33"></a>
+<span class="sourceLineNo">034</span><a name="line.34"></a>
+<span class="sourceLineNo">035</span>/**<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * Filter that returns only cells whose timestamp (version) is<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * in the specified list of timestamps (versions).<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * &lt;p&gt;<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * Note: Use of this filter overrides any time range/time stamp<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * options specified using {@link org.apache.hadoop.hbase.client.Get#setTimeRange(long, long)},<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * {@link org.apache.hadoop.hbase.client.Scan#setTimeRange(long, long)},<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * {@link org.apache.hadoop.hbase.client.Get#setTimestamp(long)},<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * or {@link org.apache.hadoop.hbase.client.Scan#setTimestamp(long)}.<a name="line.43"></a>
+<span class="sourceLineNo">044</span> */<a name="line.44"></a>
+<span class="sourceLineNo">045</span>@InterfaceAudience.Public<a name="line.45"></a>
+<span class="sourceLineNo">046</span>public class TimestampsFilter extends FilterBase {<a name="line.46"></a>
+<span class="sourceLineNo">047</span><a name="line.47"></a>
+<span class="sourceLineNo">048</span>  private final boolean canHint;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>  TreeSet&lt;Long&gt; timestamps;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>  private static final int MAX_LOG_TIMESTAMPS = 5;<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>  // Used during scans to hint the scan to stop early<a name="line.52"></a>
+<span class="sourceLineNo">053</span>  // once the timestamps fall below the minTimestamp.<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  long minTimestamp = Long.MAX_VALUE;<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>   * Constructor for filter that retains only the specified timestamps in the list.<a name="line.57"></a>
+<span class="sourceLineNo">058</span>   * @param timestamps<a name="line.58"></a>
+<span class="sourceLineNo">059</span>   */<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  public TimestampsFilter(List&lt;Long&gt; timestamps) {<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    this(timestamps, false);<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>  /**<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   * Constructor for filter that retains only those<a name="line.65"></a>
+<span class="sourceLineNo">066</span>   * cells whose timestamp (version) is in the specified<a name="line.66"></a>
+<span class="sourceLineNo">067</span>   * list of timestamps.<a name="line.67"></a>
+<span class="sourceLineNo">068</span>   *<a name="line.68"></a>
+<span class="sourceLineNo">069</span>   * @param timestamps list of timestamps that are wanted.<a name="line.69"></a>
+<span class="sourceLineNo">070</span>   * @param canHint should the filter provide a seek hint? This can skip<a name="line.70"></a>
+<span class="sourceLineNo">071</span>   *                past delete tombstones, so it should only be used when that<a name="line.71"></a>
+<span class="sourceLineNo">072</span>   *                is not an issue ( no deletes, or don't care if data<a name="line.72"></a>
+<span class="sourceLineNo">073</span>   *                becomes visible)<a name="line.73"></a>
+<span class="sourceLineNo">074</span>   */<a name="line.74"></a>
+<span class="sourceLineNo">075</span>  public TimestampsFilter(List&lt;Long&gt; timestamps, boolean canHint) {<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    for (Long timestamp : timestamps) {<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      Preconditions.checkArgument(timestamp &gt;= 0, "must be positive %s", timestamp);<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    }<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    this.canHint = canHint;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    this.timestamps = new TreeSet&lt;&gt;(timestamps);<a name="line.80"></a>
+<span class="sourceLineNo">081</span>    init();<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  }<a name="line.82"></a>
+<span class="sourceLineNo">083</span><a name="line.83"></a>
+<span class="sourceLineNo">084</span>  /**<a name="line.84"></a>
+<span class="sourceLineNo">085</span>   * @return the list of timestamps<a name="line.85"></a>
+<span class="sourceLineNo">086</span>   */<a name="line.86"></a>
+<span class="sourceLineNo">087</span>  public List&lt;Long&gt; getTimestamps() {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    List&lt;Long&gt; list = new ArrayList&lt;&gt;(timestamps.size());<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    list.addAll(timestamps);<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    return list;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  }<a name="line.91"></a>
+<span class="sourceLineNo">092</span><a name="line.92"></a>
+<span class="sourceLineNo">093</span>  private void init() {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    if (this.timestamps.size() &gt; 0) {<a name="line.94"></a>
+<span class="sourceLineNo">095</span>      minTimestamp = this.timestamps.first();<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    }<a name="line.96"></a>
+<span class="sourceLineNo">097</span>  }<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>   * Gets the minimum timestamp requested by filter.<a name="line.100"></a>
+<span class="sourceLineNo">101</span>   * @return  minimum timestamp requested by filter.<a name="line.101"></a>
+<span class="sourceLineNo">102</span>   */<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  public long getMin() {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    return minTimestamp;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  }<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span>  @Override<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    return false;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>  }<a name="line.111"></a>
+<span class="sourceLineNo">112</span><a name="line.112"></a>
+<span class="sourceLineNo">113</span>  @Deprecated<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  @Override<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    return filterCell(c);<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span>  @Override<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  public ReturnCode filterCell(final Cell c) {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    if (this.timestamps.contains(c.getTimestamp())) {<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      return ReturnCode.INCLUDE;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    } else if (c.getTimestamp() &lt; minTimestamp) {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>      // The remaining versions of this column are guaranteed<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      // to be lesser than all of the other values.<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      return ReturnCode.NEXT_COL;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    }<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    return canHint ? ReturnCode.SEEK_NEXT_USING_HINT : ReturnCode.SKIP;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
 <span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>  /**<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * Pick the next cell that the scanner should seek to. Since this can skip any number of cells<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   * any of which can be a delete this can resurect old data.<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   *<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * The method will only be used if canHint was set to true while creating the filter.<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   *<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   * @throws IOException This will never happen.<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   */<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  @Override<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  public Cell getNextCellHint(Cell currentCell) throws IOException {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    if (!canHint) {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      return null;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    }<a name="line.143"></a>
-<span class="sourceLineNo">144</span><a name="line.144"></a>
-<span class="sourceLineNo">145</span>    Long nextTimestampObject = timestamps.lower(currentCell.getTimestamp());<a name="line.145"></a>
-<span class="sourceLineNo">146</span><a name="line.146"></a>
-<span class="sourceLineNo">147</span>    if (nextTimestampObject == null) {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      // This should only happen if the current column's<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      // timestamp is below the last one in the list.<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      //<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      // It should never happen as the filterCell should return NEXT_COL<a name="line.151"></a>
-<span class="sourceLineNo">152</span>      // but it's always better to be extra safe and protect against future<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      // behavioral changes.<a name="line.153"></a>
-<span class="sourceLineNo">154</span><a name="line.154"></a>
-<span class="sourceLineNo">155</span>      return PrivateCellUtil.createLastOnRowCol(currentCell);<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    }<a name="line.156"></a>
-<span class="sourceLineNo">157</span><a name="line.157"></a>
-<span class="sourceLineNo">158</span>    // Since we know the nextTimestampObject isn't null here there must still be<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    // timestamps that can be included. Cast the Long to a long and return the<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    // a cell with the current row/cf/col and the next found timestamp.<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    long nextTimestamp = nextTimestampObject;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    return PrivateCellUtil.createFirstOnRowColTS(currentCell, nextTimestamp);<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  }<a name="line.163"></a>
-<span class="sourceLineNo">164</span><a name="line.164"></a>
-<span class="sourceLineNo">165</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    ArrayList&lt;Long&gt; timestamps = new ArrayList&lt;&gt;(filterArguments.size());<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    for (int i = 0; i&lt;filterArguments.size(); i++) {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>      long timestamp = ParseFilter.convertByteArrayToLong(filterArguments.get(i));<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      timestamps.add(timestamp);<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    }<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    return new TimestampsFilter(timestamps);<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  }<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>   * @return The filter serialized using pb<a name="line.175"></a>
-<span class="sourceLineNo">176</span>   */<a name="line.176"></a>
-<span class="sourceLineNo">177</span>  @Override<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  public byte[] toByteArray() {<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    FilterProtos.TimestampsFilter.Builder builder =<a name="line.179"></a>
-<span class="sourceLineNo">180</span>        FilterProtos.TimestampsFilter.newBuilder();<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    builder.addAllTimestamps(this.timestamps);<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    builder.setCanHint(canHint);<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    return builder.build().toByteArray();<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  }<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>  /**<a name="line.186"></a>
-<span class="sourceLineNo">187</span>   * @param pbBytes A pb serialized {@link TimestampsFilter} instance<a name="line.187"></a>
-<span class="sourceLineNo">188</span>   *<a name="line.188"></a>
-<span class="sourceLineNo">189</span>   * @return An instance of {@link TimestampsFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>   * @see #toByteArray<a name="line.190"></a>
-<span class="sourceLineNo">191</span>   */<a name="line.191"></a>
-<span class="sourceLineNo">192</span>  public static TimestampsFilter parseFrom(final byte[] pbBytes)<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      throws DeserializationException {<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    FilterProtos.TimestampsFilter proto;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    try {<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      proto = FilterProtos.TimestampsFilter.parseFrom(pbBytes);<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    } catch (InvalidProtocolBufferException e) {<a name="line.197"></a>
-<span class="sourceLineNo">198</span>      throw new DeserializationException(e);<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    }<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    return new TimestampsFilter(proto.getTimestampsList(),<a name="line.200"></a>
-<span class="sourceLineNo">201</span>        proto.hasCanHint() &amp;&amp; proto.getCanHint());<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  }<a name="line.202"></a>
-<span class="sourceLineNo">203</span><a name="line.203"></a>
-<span class="sourceLineNo">204</span>  /**<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   * @param o the other filter to compare with<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.206"></a>
-<span class="sourceLineNo">207</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.207"></a>
-<span class="sourceLineNo">208</span>   */<a name="line.208"></a>
-<span class="sourceLineNo">209</span>  @Override<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    if (o == this) return true;<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    if (!(o instanceof TimestampsFilter)) return false;<a name="line.212"></a>
-<span class="sourceLineNo">213</span><a name="line.213"></a>
-<span class="sourceLineNo">214</span>    TimestampsFilter other = (TimestampsFilter)o;<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    return this.getTimestamps().equals(other.getTimestamps());<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  @Override<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  public String toString() {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    return toString(MAX_LOG_TIMESTAMPS);<a name="line.220"></a>
-<span class="sourceLineNo">221</span>  }<a name="line.221"></a>
-<span class="sourceLineNo">222</span><a name="line.222"></a>
-<span class="sourceLineNo">223</span>  protected String toString(int maxTimestamps) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    StringBuilder tsList = new StringBuilder();<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>    int count = 0;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    for (Long ts : this.timestamps) {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      if (count &gt;= maxTimestamps) {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        break;<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      }<a name="line.230"></a>
-<span class="sourceLineNo">231</span>      ++count;<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      tsList.append(ts.toString());<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      if (count &lt; this.timestamps.size() &amp;&amp; count &lt; maxTimestamps) {<a name="line.233"></a>
-<span class="sourceLineNo">234</span>        tsList.append(", ");<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      }<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    }<a name="line.236"></a>
-<span class="sourceLineNo">237</span><a name="line.237"></a>
-<span class="sourceLineNo">238</span>    return String.format("%s (%d/%d): [%s] canHint: [%b]", this.getClass().getSimpleName(),<a name="line.238"></a>
-<span class="sourceLineNo">239</span>        count, this.timestamps.size(), tsList.toString(), canHint);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span>}<a name="line.241"></a>
+<span class="sourceLineNo">131</span><a name="line.131"></a>
+<span class="sourceLineNo">132</span>  /**<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   * Pick the next cell that the scanner should seek to. Since this can skip any number of cells<a name="line.133"></a>
+<span class="sourceLineNo">134</span>   * any of which can be a delete this can resurect old data.<a name="line.134"></a>
+<span class="sourceLineNo">135</span>   *<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   * The method will only be used if canHint was set to true while creating the filter.<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   *<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   * @throws IOException This will never happen.<a name="line.138"></a>
+<span class="sourceLineNo">139</span>   */<a name="line.139"></a>
+<span class="sourceLineNo">140</span>  @Override<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  public Cell getNextCellHint(Cell currentCell) throws IOException {<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    if (!canHint) {<a name="line.142"></a>
+<span class="sourceLineNo">143</span>      return null;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    }<a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span>    Long nextTimestampObject = timestamps.lower(currentCell.getTimestamp());<a name="line.146"></a>
+<span class="sourceLineNo">147</span><a name="line.147"></a>
+<span class="sourceLineNo">148</span>    if (nextTimestampObject == null) {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      // This should only happen if the current column's<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      // timestamp is below the last one in the list.<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      //<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      // It should never happen as the filterCell should return NEXT_COL<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      // but it's always better to be extra safe and protect against future<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      // behavioral changes.<a name="line.154"></a>
+<span class="sourceLineNo">155</span><a name="line.155"></a>
+<span class="sourceLineNo">156</span>      return PrivateCellUtil.createLastOnRowCol(currentCell);<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    }<a name="line.157"></a>
+<span class="sourceLineNo">158</span><a name="line.158"></a>
+<span class="sourceLineNo">159</span>    // Since we know the nextTimestampObject isn't null here there must still be<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    // timestamps that can be included. Cast the Long to a long and return the<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    // a cell with the current row/cf/col and the next found timestamp.<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    long nextTimestamp = nextTimestampObject;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    return PrivateCellUtil.createFirstOnRowColTS(currentCell, nextTimestamp);<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  }<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    ArrayList&lt;Long&gt; timestamps = new ArrayList&lt;&gt;(filterArguments.size());<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    for (int i = 0; i&lt;filterArguments.size(); i++) {<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      long timestamp = ParseFilter.convertByteArrayToLong(filterArguments.get(i));<a name="line.169"></a>
+<span class="sourceLineNo">170</span>      timestamps.add(timestamp);<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    }<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    return new TimestampsFilter(timestamps);<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>  /**<a name="line.175"></a>
+<span class="sourceLineNo">176</span>   * @return The filter serialized using pb<a name="line.176"></a>
+<span class="sourceLineNo">177</span>   */<a name="line.177"></a>
+<span class="sourceLineNo">178</span>  @Override<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  public byte[] toByteArray() {<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    FilterProtos.TimestampsFilter.Builder builder =<a name="line.180"></a>
+<span class="sourceLineNo">181</span>        FilterProtos.TimestampsFilter.newBuilder();<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    builder.addAllTimestamps(this.timestamps);<a name="line.182"></a>
+<span class="sourceLineNo">183</span>    builder.setCanHint(canHint);<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    return builder.build().toByteArray();<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  }<a name="line.185"></a>
+<span class="sourceLineNo">186</span><a name="line.186"></a>
+<span class="sourceLineNo">187</span>  /**<a name="line.187"></a>
+<span class="sourceLineNo">188</span>   * @param pbBytes A pb serialized {@link TimestampsFilter} instance<a name="line.188"></a>
+<span class="sourceLineNo">189</span>   *<a name="line.189"></a>
+<span class="sourceLineNo">190</span>   * @return An instance of {@link TimestampsFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>   * @see #toByteArray<a name="line.191"></a>
+<span class="sourceLineNo">192</span>   */<a name="line.192"></a>
+<span class="sourceLineNo">193</span>  public static TimestampsFilter parseFrom(final byte[] pbBytes)<a name="line.193"></a>
+<span class="sourceLineNo">194</span>      throws DeserializationException {<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    FilterProtos.TimestampsFilter proto;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    try {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>      proto = FilterProtos.TimestampsFilter.parseFrom(pbBytes);<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    } catch (InvalidProtocolBufferException e) {<a name="line.198"></a>
+<span class="sourceLineNo">199</span>      throw new DeserializationException(e);<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    }<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    return new TimestampsFilter(proto.getTimestampsList(),<a name="line.201"></a>
+<span class="sourceLineNo">202</span>        proto.hasCanHint() &amp;&amp; proto.getCanHint());<a name="line.202"></a>
+<span class="sourceLineNo">203</span>  }<a name="line.203"></a>
+<span class="sourceLineNo">204</span><a name="line.204"></a>
+<span class="sourceLineNo">205</span>  /**<a name="line.205"></a>
+<span class="sourceLineNo">206</span>   * @param o the other filter to compare with<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   */<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  @Override<a name="line.210"></a>
+<span class="sourceLineNo">211</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    if (o == this) return true;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    if (!(o instanceof TimestampsFilter)) return false;<a name="line.213"></a>
+<span class="sourceLineNo">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span>    TimestampsFilter other = (TimestampsFilter)o;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    return this.getTimestamps().equals(other.getTimestamps());<a name="line.216"></a>
+<span class="sourceLineNo">217</span>  }<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>  @Override<a name="line.219"></a>
+<span class="sourceLineNo">220</span>  public String toString() {<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    return toString(MAX_LOG_TIMESTAMPS);<a name="line.221"></a>
+<span class="sourceLineNo">222</span>  }<a name="line.222"></a>
+<span class="sourceLineNo">223</span><a name="line.223"></a>
+<span class="sourceLineNo">224</span>  protected String toString(int maxTimestamps) {<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    StringBuilder tsList = new StringBuilder();<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>    int count = 0;<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    for (Long ts : this.timestamps) {<a name="line.228"></a>
+<span class="sourceLineNo">229</span>      if (count &gt;= maxTimestamps) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>        break;<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      }<a name="line.231"></a>
+<span class="sourceLineNo">232</span>      ++count;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>      tsList.append(ts.toString());<a name="line.233"></a>
+<span class="sourceLineNo">234</span>      if (count &lt; this.timestamps.size() &amp;&amp; count &lt; maxTimestamps) {<a name="line.234"></a>
+<span class="sourceLineNo">235</span>        tsList.append(", ");<a name="line.235"></a>
+<span class="sourceLineNo">236</span>      }<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    }<a name="line.237"></a>
+<span class="sourceLineNo">238</span><a name="line.238"></a>
+<span class="sourceLineNo">239</span>    return String.format("%s (%d/%d): [%s] canHint: [%b]", this.getClass().getSimpleName(),<a name="line.239"></a>
+<span class="sourceLineNo">240</span>        count, this.timestamps.size(), tsList.toString(), canHint);<a name="line.240"></a>
+<span class="sourceLineNo">241</span>  }<a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span>  @Override<a name="line.243"></a>
+<span class="sourceLineNo">244</span>  public boolean equals(Object obj) {<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    if (obj == null || (!(obj instanceof TimestampsFilter))) {<a name="line.245"></a>
+<span class="sourceLineNo">246</span>      return false;<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    }<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    TimestampsFilter f = (TimestampsFilter) obj;<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    return this.areSerializedFieldsEqual(f);<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  }<a name="line.250"></a>
+<span class="sourceLineNo">251</span><a name="line.251"></a>
+<span class="sourceLineNo">252</span>  @Override<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  public int hashCode() {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    return Objects.hash(this.getTimestamps().toArray());<a name="line.254"></a>
+<span class="sourceLineNo">255</span>  }<a name="line.255"></a>
+<span class="sourceLineNo">256</span>}<a name="line.256"></a>
 
 
 


[19/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/DependentColumnFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/DependentColumnFilter.html b/devapidocs/org/apache/hadoop/hbase/filter/DependentColumnFilter.html
index 7d9d2af..4421ed5 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/DependentColumnFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/DependentColumnFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":10,"i5":42,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":9,"i14":10,"i15":10,"i16":10};
+var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":10,"i5":10,"i6":42,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":9,"i16":10,"i17":10,"i18":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -125,7 +125,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.49">DependentColumnFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.50">DependentColumnFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></pre>
 <div class="block">A filter for adding inter-column timestamp matching
  Only cells with a correspondingly timestamped entry in
@@ -285,24 +285,28 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#filterAllRemaining--">filterAllRemaining</a></span>()</code>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#filterRow--">filterRow</a></span>()</code>
 <div class="block">Filters that never filter by rows based on previously gathered state from
@@ -310,14 +314,14 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
  never filters a row.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#filterRowCells-java.util.List-">filterRowCells</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;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;kvs)</code>
 <div class="block">Filters that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#filterRowKey-byte:A-int-int-">filterRowKey</a></span>(byte[]&nbsp;buffer,
             int&nbsp;offset,
@@ -326,43 +330,47 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
  never filters anything.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#getDropDependentColumn--">getDropDependentColumn</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#getFamily--">getFamily</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#getQualifier--">getQualifier</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#hasFilterRow--">hasFilterRow</a></span>()</code>
 <div class="block">Fitlers that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html" title="class in org.apache.hadoop.hbase.filter">DependentColumnFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#reset--">reset</a></span>()</code>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
@@ -395,7 +403,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -417,7 +425,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>columnFamily</h4>
-<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.51">columnFamily</a></pre>
+<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.52">columnFamily</a></pre>
 </li>
 </ul>
 <a name="columnQualifier">
@@ -426,7 +434,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>columnQualifier</h4>
-<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.52">columnQualifier</a></pre>
+<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.53">columnQualifier</a></pre>
 </li>
 </ul>
 <a name="dropDependentColumn">
@@ -435,7 +443,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>dropDependentColumn</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.53">dropDependentColumn</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.54">dropDependentColumn</a></pre>
 </li>
 </ul>
 <a name="stampSet">
@@ -444,7 +452,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <ul class="blockListLast">
 <li class="blockList">
 <h4>stampSet</h4>
-<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<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>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.55">stampSet</a></pre>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<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>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.56">stampSet</a></pre>
 </li>
 </ul>
 </li>
@@ -462,7 +470,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <li class="blockList">
 <h4>DependentColumnFilter</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.73">DependentColumnFilter</a>(byte[]&nbsp;family,
+public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.74">DependentColumnFilter</a>(byte[]&nbsp;family,
                                          byte[]&nbsp;qualifier,
                                          boolean&nbsp;dropDependentColumn,
                                          <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;valueCompareOp,
@@ -490,7 +498,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Depe
 <ul class="blockList">
 <li class="blockList">
 <h4>DependentColumnFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.92">DependentColumnFilter</a>(byte[]&nbsp;family,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.93">DependentColumnFilter</a>(byte[]&nbsp;family,
                              byte[]&nbsp;qualifier,
                              boolean&nbsp;dropDependentColumn,
                              <a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
@@ -515,7 +523,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Depe
 <ul class="blockList">
 <li class="blockList">
 <h4>DependentColumnFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.110">DependentColumnFilter</a>(byte[]&nbsp;family,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.111">DependentColumnFilter</a>(byte[]&nbsp;family,
                              byte[]&nbsp;qualifier)</pre>
 <div class="block">Constructor for DependentColumn filter.
  Cells where a Cell from target column
@@ -533,7 +541,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Depe
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DependentColumnFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.123">DependentColumnFilter</a>(byte[]&nbsp;family,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.124">DependentColumnFilter</a>(byte[]&nbsp;family,
                              byte[]&nbsp;qualifier,
                              boolean&nbsp;dropDependentColumn)</pre>
 <div class="block">Constructor for DependentColumn filter.
@@ -561,7 +569,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Depe
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamily</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.131">getFamily</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.132">getFamily</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the column family</dd>
@@ -574,7 +582,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Depe
 <ul class="blockList">
 <li class="blockList">
 <h4>getQualifier</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.138">getQualifier</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.139">getQualifier</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the column qualifier</dd>
@@ -587,7 +595,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Depe
 <ul class="blockList">
 <li class="blockList">
 <h4>dropDependentColumn</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.145">dropDependentColumn</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.146">dropDependentColumn</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>true if we should drop the dependent column, false otherwise</dd>
@@ -600,7 +608,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Depe
 <ul class="blockList">
 <li class="blockList">
 <h4>getDropDependentColumn</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.149">getDropDependentColumn</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.150">getDropDependentColumn</a>()</pre>
 </li>
 </ul>
 <a name="filterAllRemaining--">
@@ -609,7 +617,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Depe
 <ul class="blockList">
 <li class="blockList">
 <h4>filterAllRemaining</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.154">filterAllRemaining</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.155">filterAllRemaining</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterAllRemaining--">FilterBase</a></code></span></div>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.
@@ -633,7 +641,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Depe
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.160">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.161">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -668,7 +676,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.165">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.166">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -702,7 +710,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowCells</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.184">filterRowCells</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;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;kvs)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.185">filterRowCells</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;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;kvs)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterRowCells-java.util.List-">FilterBase</a></code></span></div>
 <div class="block">Filters that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.
@@ -725,7 +733,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>hasFilterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.189">hasFilterRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.190">hasFilterRow</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#hasFilterRow--">FilterBase</a></code></span></div>
 <div class="block">Fitlers that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.
@@ -746,7 +754,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.194">filterRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.195">filterRow</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterRow--">FilterBase</a></code></span></div>
 <div class="block">Filters that never filter by rows based on previously gathered state from
  <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-"><code>Filter.filterCell(Cell)</code></a> can inherit this implementation that
@@ -772,7 +780,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.199">filterRowKey</a>(byte[]&nbsp;buffer,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.200">filterRowKey</a>(byte[]&nbsp;buffer,
                             int&nbsp;offset,
                             int&nbsp;length)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterRowKey-byte:A-int-int-">FilterBase</a></code></span></div>
@@ -802,7 +810,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.203">reset</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.204">reset</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#reset--">FilterBase</a></code></span></div>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.
@@ -823,7 +831,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.207">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.208">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -832,7 +840,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.241">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.242">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toByteArray--">FilterBase</a></code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -849,7 +857,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html" title="class in org.apache.hadoop.hbase.filter">DependentColumnFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.261">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html" title="class in org.apache.hadoop.hbase.filter">DependentColumnFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.262">parseFrom</a>(byte[]&nbsp;pbBytes)
                                        throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -869,7 +877,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>areSerializedFieldsEqual</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.293">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.294">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">FilterBase</a></code></span></div>
 <div class="block">Default implementation so that writers of custom filters aren't forced to implement.</div>
 <dl>
@@ -886,10 +894,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.305">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.306">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toString--">FilterBase</a></code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -898,6 +906,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.317">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#equals-java.lang.Object-">equals</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.326">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#hashCode--">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/FamilyFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/FamilyFilter.html b/devapidocs/org/apache/hadoop/hbase/filter/FamilyFilter.html
index 1684fef..ca52fe4 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/FamilyFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/FamilyFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":9,"i2":10,"i3":42,"i4":9,"i5":10};
+var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":42,"i5":10,"i6":9,"i7":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -125,7 +125,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.48">FamilyFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.49">FamilyFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></pre>
 <div class="block"><p>
  This filter is used to filter based on the column family. It takes an
@@ -241,22 +241,30 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FamilyFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FamilyFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FamilyFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FamilyFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FamilyFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/FamilyFilter.html" title="class in org.apache.hadoop.hbase.filter">FamilyFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FamilyFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FamilyFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
@@ -289,7 +297,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -312,7 +320,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <li class="blockList">
 <h4>FamilyFilter</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.59">FamilyFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;familyCompareOp,
+public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.60">FamilyFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;familyCompareOp,
                                 <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;familyComparator)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0.
   Use <a href="../../../../../org/apache/hadoop/hbase/filter/FamilyFilter.html#FamilyFilter-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-"><code>FamilyFilter(CompareOperator, ByteArrayComparable)</code></a></span></div>
@@ -330,7 +338,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Fami
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FamilyFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.70">FamilyFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.71">FamilyFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                     <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;familyComparator)</pre>
 <div class="block">Constructor.</div>
 <dl>
@@ -355,7 +363,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Fami
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.77">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.78">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -390,7 +398,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.82">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.83">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -424,7 +432,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.92">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.93">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -433,7 +441,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.103">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.104">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toByteArray--">FilterBase</a></code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -450,7 +458,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FamilyFilter.html" title="class in org.apache.hadoop.hbase.filter">FamilyFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.116">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FamilyFilter.html" title="class in org.apache.hadoop.hbase.filter">FamilyFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.117">parseFrom</a>(byte[]&nbsp;pbBytes)
                               throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -467,10 +475,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>areSerializedFieldsEqual</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.142">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.143">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">FilterBase</a></code></span></div>
 <div class="block">Default implementation so that writers of custom filters aren't forced to implement.</div>
 <dl>
@@ -482,6 +490,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.152">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#equals-java.lang.Object-">equals</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.161">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#hashCode--">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/FilterList.Operator.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/FilterList.Operator.html b/devapidocs/org/apache/hadoop/hbase/filter/FilterList.Operator.html
index 57c64ad..e640a96 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/FilterList.Operator.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/FilterList.Operator.html
@@ -123,7 +123,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.50">FilterList.Operator</a>
+public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.51">FilterList.Operator</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a>&gt;</pre>
 <div class="block">set operator</div>
 </li>
@@ -216,7 +216,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>MUST_PASS_ALL</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.Operator.html#line.52">MUST_PASS_ALL</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.Operator.html#line.53">MUST_PASS_ALL</a></pre>
 <div class="block">!AND</div>
 </li>
 </ul>
@@ -226,7 +226,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MUST_PASS_ONE</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.Operator.html#line.54">MUST_PASS_ONE</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.Operator.html#line.55">MUST_PASS_ONE</a></pre>
 <div class="block">!OR</div>
 </li>
 </ul>
@@ -244,7 +244,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.Operator.html#line.50">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.Operator.html#line.51">values</a>()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
@@ -264,7 +264,7 @@ for (FilterList.Operator c : FilterList.Operator.values())
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.Operator.html#line.50">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.Operator.html#line.51">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 


[35/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/src-html/org/apache/hadoop/hbase/filter/FilterList.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/FilterList.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/FilterList.html
index 8dfb5f1..b025b7e 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/FilterList.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/FilterList.html
@@ -31,260 +31,274 @@
 <span class="sourceLineNo">023</span>import java.util.Arrays;<a name="line.23"></a>
 <span class="sourceLineNo">024</span>import java.util.Collections;<a name="line.24"></a>
 <span class="sourceLineNo">025</span>import java.util.List;<a name="line.25"></a>
-<span class="sourceLineNo">026</span><a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.Cell;<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>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.29"></a>
-<span class="sourceLineNo">030</span><a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.33"></a>
-<span class="sourceLineNo">034</span><a name="line.34"></a>
-<span class="sourceLineNo">035</span>/**<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * Implementation of {@link Filter} that represents an ordered List of Filters which will be<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * evaluated with a specified boolean operator {@link Operator#MUST_PASS_ALL} (&lt;code&gt;AND&lt;/code&gt;) or<a name="line.37"></a>
-<span class="sourceLineNo">038</span> * {@link Operator#MUST_PASS_ONE} (&lt;code&gt;OR&lt;/code&gt;). Since you can use Filter Lists as children of<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * Filter Lists, you can create a hierarchy of filters to be evaluated. &lt;br&gt;<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * {@link Operator#MUST_PASS_ALL} evaluates lazily: evaluation stops as soon as one filter does not<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * include the Cell. &lt;br&gt;<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * {@link Operator#MUST_PASS_ONE} evaluates non-lazily: all filters are always evaluated. &lt;br&gt;<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * Defaults to {@link Operator#MUST_PASS_ALL}.<a name="line.43"></a>
-<span class="sourceLineNo">044</span> */<a name="line.44"></a>
-<span class="sourceLineNo">045</span>@InterfaceAudience.Public<a name="line.45"></a>
-<span class="sourceLineNo">046</span>final public class FilterList extends FilterBase {<a name="line.46"></a>
-<span class="sourceLineNo">047</span><a name="line.47"></a>
-<span class="sourceLineNo">048</span>  /** set operator */<a name="line.48"></a>
-<span class="sourceLineNo">049</span>  @InterfaceAudience.Public<a name="line.49"></a>
-<span class="sourceLineNo">050</span>  public enum Operator {<a name="line.50"></a>
-<span class="sourceLineNo">051</span>    /** !AND */<a name="line.51"></a>
-<span class="sourceLineNo">052</span>    MUST_PASS_ALL,<a name="line.52"></a>
-<span class="sourceLineNo">053</span>    /** !OR */<a name="line.53"></a>
-<span class="sourceLineNo">054</span>    MUST_PASS_ONE<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 Operator operator;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  private FilterListBase filterListBase;<a name="line.58"></a>
-<span class="sourceLineNo">059</span><a name="line.59"></a>
-<span class="sourceLineNo">060</span>  /**<a name="line.60"></a>
-<span class="sourceLineNo">061</span>   * Constructor that takes a set of {@link Filter}s and an operator.<a name="line.61"></a>
-<span class="sourceLineNo">062</span>   * @param operator Operator to process filter set with.<a name="line.62"></a>
-<span class="sourceLineNo">063</span>   * @param filters Set of row filters.<a name="line.63"></a>
-<span class="sourceLineNo">064</span>   */<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  public FilterList(final Operator operator, final List&lt;Filter&gt; filters) {<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    if (operator == Operator.MUST_PASS_ALL) {<a name="line.66"></a>
-<span class="sourceLineNo">067</span>      filterListBase = new FilterListWithAND(filters);<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    } else if (operator == Operator.MUST_PASS_ONE) {<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      filterListBase = new FilterListWithOR(filters);<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    } else {<a name="line.70"></a>
-<span class="sourceLineNo">071</span>      throw new IllegalArgumentException("Invalid operator: " + operator);<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    }<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    this.operator = operator;<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>   * Constructor that takes a set of {@link Filter}s. The default operator MUST_PASS_ALL is assumed.<a name="line.77"></a>
-<span class="sourceLineNo">078</span>   * All filters are cloned to internal list.<a name="line.78"></a>
-<span class="sourceLineNo">079</span>   * @param filters list of filters<a name="line.79"></a>
-<span class="sourceLineNo">080</span>   */<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  public FilterList(final List&lt;Filter&gt; filters) {<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    this(Operator.MUST_PASS_ALL, filters);<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  }<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  /**<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   * Constructor that takes a var arg number of {@link Filter}s. The default operator MUST_PASS_ALL<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   * is assumed.<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   * @param filters<a name="line.88"></a>
-<span class="sourceLineNo">089</span>   */<a name="line.89"></a>
-<span class="sourceLineNo">090</span>  public FilterList(final Filter... filters) {<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    this(Operator.MUST_PASS_ALL, Arrays.asList(filters));<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  }<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>  /**<a name="line.94"></a>
-<span class="sourceLineNo">095</span>   * Constructor that takes an operator.<a name="line.95"></a>
-<span class="sourceLineNo">096</span>   * @param operator Operator to process filter set with.<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   */<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  public FilterList(final Operator operator) {<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    this(operator, new ArrayList&lt;&gt;());<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>  /**<a name="line.102"></a>
-<span class="sourceLineNo">103</span>   * Constructor that takes a var arg number of {@link Filter}s and an operator.<a name="line.103"></a>
-<span class="sourceLineNo">104</span>   * @param operator Operator to process filter set with.<a name="line.104"></a>
-<span class="sourceLineNo">105</span>   * @param filters Filters to use<a name="line.105"></a>
-<span class="sourceLineNo">106</span>   */<a name="line.106"></a>
-<span class="sourceLineNo">107</span>  public FilterList(final Operator operator, final Filter... filters) {<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    this(operator, Arrays.asList(filters));<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>   * Get the operator.<a name="line.112"></a>
-<span class="sourceLineNo">113</span>   * @return operator<a name="line.113"></a>
-<span class="sourceLineNo">114</span>   */<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  public Operator getOperator() {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    return operator;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
-<span class="sourceLineNo">118</span><a name="line.118"></a>
-<span class="sourceLineNo">119</span>  /**<a name="line.119"></a>
-<span class="sourceLineNo">120</span>   * Get the filters.<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   * @return filters<a name="line.121"></a>
-<span class="sourceLineNo">122</span>   */<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  public List&lt;Filter&gt; getFilters() {<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    return filterListBase.getFilters();<a name="line.124"></a>
-<span class="sourceLineNo">125</span>  }<a name="line.125"></a>
-<span class="sourceLineNo">126</span><a name="line.126"></a>
-<span class="sourceLineNo">127</span>  public int size() {<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    return filterListBase.size();<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>  public void addFilter(List&lt;Filter&gt; filters) {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    filterListBase.addFilterLists(filters);<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  }<a name="line.133"></a>
-<span class="sourceLineNo">134</span><a name="line.134"></a>
-<span class="sourceLineNo">135</span>  /**<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * Add a filter.<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   * @param filter another filter<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   */<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  public void addFilter(Filter filter) {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    addFilter(Collections.singletonList(filter));<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
-<span class="sourceLineNo">142</span><a name="line.142"></a>
-<span class="sourceLineNo">143</span>  @Override<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  public void reset() throws IOException {<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    filterListBase.reset();<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  }<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  @Override<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  public boolean filterRowKey(byte[] rowKey, int offset, int length) throws IOException {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    return filterListBase.filterRowKey(rowKey, offset, length);<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>  @Override<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  public boolean filterRowKey(Cell firstRowCell) throws IOException {<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    return filterListBase.filterRowKey(firstRowCell);<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  }<a name="line.156"></a>
-<span class="sourceLineNo">157</span><a name="line.157"></a>
-<span class="sourceLineNo">158</span>  @Override<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  public boolean filterAllRemaining() throws IOException {<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    return filterListBase.filterAllRemaining();<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 Cell transformCell(Cell c) throws IOException {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    return filterListBase.transformCell(c);<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>  @Override<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  @Deprecated<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  public ReturnCode filterKeyValue(final Cell c) throws IOException {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    return filterCell(c);<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  }<a name="line.172"></a>
-<span class="sourceLineNo">173</span><a name="line.173"></a>
-<span class="sourceLineNo">174</span>  @Override<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  public ReturnCode filterCell(final Cell c) throws IOException {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    return filterListBase.filterCell(c);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>  }<a name="line.177"></a>
-<span class="sourceLineNo">178</span><a name="line.178"></a>
-<span class="sourceLineNo">179</span>  /**<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   * Filters that never filter by modifying the returned List of Cells can inherit this<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   * implementation that does nothing. {@inheritDoc}<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   */<a name="line.182"></a>
-<span class="sourceLineNo">183</span>  @Override<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  public void filterRowCells(List&lt;Cell&gt; cells) throws IOException {<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    filterListBase.filterRowCells(cells);<a name="line.185"></a>
-<span class="sourceLineNo">186</span>  }<a name="line.186"></a>
-<span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>  @Override<a name="line.188"></a>
-<span class="sourceLineNo">189</span>  public boolean hasFilterRow() {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    return filterListBase.hasFilterRow();<a name="line.190"></a>
-<span class="sourceLineNo">191</span>  }<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span>  @Override<a name="line.193"></a>
-<span class="sourceLineNo">194</span>  public boolean filterRow() throws IOException {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    return filterListBase.filterRow();<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  }<a name="line.196"></a>
-<span class="sourceLineNo">197</span><a name="line.197"></a>
-<span class="sourceLineNo">198</span>  /**<a name="line.198"></a>
-<span class="sourceLineNo">199</span>   * @return The filter serialized using pb<a name="line.199"></a>
-<span class="sourceLineNo">200</span>   */<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  @Override<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  public byte[] toByteArray() throws IOException {<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    FilterProtos.FilterList.Builder builder = FilterProtos.FilterList.newBuilder();<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    builder.setOperator(FilterProtos.FilterList.Operator.valueOf(operator.name()));<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    ArrayList&lt;Filter&gt; filters = filterListBase.getFilters();<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    for (int i = 0, n = filters.size(); i &lt; n; i++) {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      builder.addFilters(ProtobufUtil.toFilter(filters.get(i)));<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    }<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    return builder.build().toByteArray();<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  }<a name="line.210"></a>
-<span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span>  /**<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   * @param pbBytes A pb serialized {@link FilterList} instance<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   * @return An instance of {@link FilterList} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   * @throws DeserializationException<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   * @see #toByteArray<a name="line.216"></a>
-<span class="sourceLineNo">217</span>   */<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  public static FilterList parseFrom(final byte[] pbBytes) throws DeserializationException {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    FilterProtos.FilterList proto;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    try {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      proto = FilterProtos.FilterList.parseFrom(pbBytes);<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    } catch (InvalidProtocolBufferException e) {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      throw new DeserializationException(e);<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>    List&lt;Filter&gt; rowFilters = new ArrayList&lt;&gt;(proto.getFiltersCount());<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    try {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      List&lt;FilterProtos.Filter&gt; filtersList = proto.getFiltersList();<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      for (int i = 0, n = filtersList.size(); i &lt; n; i++) {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        rowFilters.add(ProtobufUtil.toFilter(filtersList.get(i)));<a name="line.230"></a>
-<span class="sourceLineNo">231</span>      }<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    } catch (IOException ioe) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      throw new DeserializationException(ioe);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    return new FilterList(Operator.valueOf(proto.getOperator().name()), rowFilters);<a name="line.235"></a>
-<span class="sourceLineNo">236</span>  }<a name="line.236"></a>
-<span class="sourceLineNo">237</span><a name="line.237"></a>
-<span class="sourceLineNo">238</span>  /**<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * @param other<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * @return true if and only if the fields of the filter that are serialized are equal to the<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   *         corresponding fields in other. Used for testing.<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  @Override<a name="line.243"></a>
-<span class="sourceLineNo">244</span>  boolean areSerializedFieldsEqual(Filter other) {<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    if (other == this) return true;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    if (!(other instanceof FilterList)) return false;<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>    FilterList o = (FilterList) other;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    return this.getOperator().equals(o.getOperator())<a name="line.249"></a>
-<span class="sourceLineNo">250</span>        &amp;&amp; ((this.getFilters() == o.getFilters()) || this.getFilters().equals(o.getFilters()));<a name="line.250"></a>
-<span class="sourceLineNo">251</span>  }<a name="line.251"></a>
-<span class="sourceLineNo">252</span><a name="line.252"></a>
-<span class="sourceLineNo">253</span>  @Override<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  public Cell getNextCellHint(Cell currentCell) throws IOException {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    return this.filterListBase.getNextCellHint(currentCell);<a name="line.255"></a>
-<span class="sourceLineNo">256</span>  }<a name="line.256"></a>
-<span class="sourceLineNo">257</span><a name="line.257"></a>
-<span class="sourceLineNo">258</span>  @Override<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  public boolean isFamilyEssential(byte[] name) throws IOException {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    return this.filterListBase.isFamilyEssential(name);<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  @Override<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  public void setReversed(boolean reversed) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    this.reversed = reversed;<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    this.filterListBase.setReversed(reversed);<a name="line.266"></a>
-<span class="sourceLineNo">267</span>  }<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>  @Override<a name="line.269"></a>
-<span class="sourceLineNo">270</span>  public boolean isReversed() {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    assert this.reversed == this.filterListBase.isReversed();<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    return this.reversed;<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  }<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  @Override<a name="line.275"></a>
-<span class="sourceLineNo">276</span>  public String toString() {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    return this.filterListBase.toString();<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  }<a name="line.278"></a>
-<span class="sourceLineNo">279</span>}<a name="line.279"></a>
+<span class="sourceLineNo">026</span>import java.util.Objects;<a name="line.26"></a>
+<span class="sourceLineNo">027</span><a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.Cell;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.30"></a>
+<span class="sourceLineNo">031</span><a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.34"></a>
+<span class="sourceLineNo">035</span><a name="line.35"></a>
+<span class="sourceLineNo">036</span>/**<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * Implementation of {@link Filter} that represents an ordered List of Filters which will be<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * evaluated with a specified boolean operator {@link Operator#MUST_PASS_ALL} (&lt;code&gt;AND&lt;/code&gt;) or<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * {@link Operator#MUST_PASS_ONE} (&lt;code&gt;OR&lt;/code&gt;). Since you can use Filter Lists as children of<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * Filter Lists, you can create a hierarchy of filters to be evaluated. &lt;br&gt;<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * {@link Operator#MUST_PASS_ALL} evaluates lazily: evaluation stops as soon as one filter does not<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * include the Cell. &lt;br&gt;<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * {@link Operator#MUST_PASS_ONE} evaluates non-lazily: all filters are always evaluated. &lt;br&gt;<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * Defaults to {@link Operator#MUST_PASS_ALL}.<a name="line.44"></a>
+<span class="sourceLineNo">045</span> */<a name="line.45"></a>
+<span class="sourceLineNo">046</span>@InterfaceAudience.Public<a name="line.46"></a>
+<span class="sourceLineNo">047</span>final public class FilterList extends FilterBase {<a name="line.47"></a>
+<span class="sourceLineNo">048</span><a name="line.48"></a>
+<span class="sourceLineNo">049</span>  /** set operator */<a name="line.49"></a>
+<span class="sourceLineNo">050</span>  @InterfaceAudience.Public<a name="line.50"></a>
+<span class="sourceLineNo">051</span>  public enum Operator {<a name="line.51"></a>
+<span class="sourceLineNo">052</span>    /** !AND */<a name="line.52"></a>
+<span class="sourceLineNo">053</span>    MUST_PASS_ALL,<a name="line.53"></a>
+<span class="sourceLineNo">054</span>    /** !OR */<a name="line.54"></a>
+<span class="sourceLineNo">055</span>    MUST_PASS_ONE<a name="line.55"></a>
+<span class="sourceLineNo">056</span>  }<a name="line.56"></a>
+<span class="sourceLineNo">057</span><a name="line.57"></a>
+<span class="sourceLineNo">058</span>  private Operator operator;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  private FilterListBase filterListBase;<a name="line.59"></a>
+<span class="sourceLineNo">060</span><a name="line.60"></a>
+<span class="sourceLineNo">061</span>  /**<a name="line.61"></a>
+<span class="sourceLineNo">062</span>   * Constructor that takes a set of {@link Filter}s and an operator.<a name="line.62"></a>
+<span class="sourceLineNo">063</span>   * @param operator Operator to process filter set with.<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   * @param filters Set of row filters.<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   */<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  public FilterList(final Operator operator, final List&lt;Filter&gt; filters) {<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    if (operator == Operator.MUST_PASS_ALL) {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>      filterListBase = new FilterListWithAND(filters);<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    } else if (operator == Operator.MUST_PASS_ONE) {<a name="line.69"></a>
+<span class="sourceLineNo">070</span>      filterListBase = new FilterListWithOR(filters);<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    } else {<a name="line.71"></a>
+<span class="sourceLineNo">072</span>      throw new IllegalArgumentException("Invalid operator: " + operator);<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    }<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    this.operator = operator;<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>   * Constructor that takes a set of {@link Filter}s. The default operator MUST_PASS_ALL is assumed.<a name="line.78"></a>
+<span class="sourceLineNo">079</span>   * All filters are cloned to internal list.<a name="line.79"></a>
+<span class="sourceLineNo">080</span>   * @param filters list of filters<a name="line.80"></a>
+<span class="sourceLineNo">081</span>   */<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  public FilterList(final List&lt;Filter&gt; filters) {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    this(Operator.MUST_PASS_ALL, filters);<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  }<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>  /**<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   * Constructor that takes a var arg number of {@link Filter}s. The default operator MUST_PASS_ALL<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   * is assumed.<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   * @param filters<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   */<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  public FilterList(final Filter... filters) {<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    this(Operator.MUST_PASS_ALL, Arrays.asList(filters));<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  }<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>  /**<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   * Constructor that takes an operator.<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   * @param operator Operator to process filter set with.<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   */<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  public FilterList(final Operator operator) {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    this(operator, new ArrayList&lt;&gt;());<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  }<a name="line.101"></a>
+<span class="sourceLineNo">102</span><a name="line.102"></a>
+<span class="sourceLineNo">103</span>  /**<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   * Constructor that takes a var arg number of {@link Filter}s and an operator.<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   * @param operator Operator to process filter set with.<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   * @param filters Filters to use<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   */<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  public FilterList(final Operator operator, final Filter... filters) {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    this(operator, Arrays.asList(filters));<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>  /**<a name="line.112"></a>
+<span class="sourceLineNo">113</span>   * Get the operator.<a name="line.113"></a>
+<span class="sourceLineNo">114</span>   * @return operator<a name="line.114"></a>
+<span class="sourceLineNo">115</span>   */<a name="line.115"></a>
+<span class="sourceLineNo">116</span>  public Operator getOperator() {<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    return operator;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  }<a name="line.118"></a>
+<span class="sourceLineNo">119</span><a name="line.119"></a>
+<span class="sourceLineNo">120</span>  /**<a name="line.120"></a>
+<span class="sourceLineNo">121</span>   * Get the filters.<a name="line.121"></a>
+<span class="sourceLineNo">122</span>   * @return filters<a name="line.122"></a>
+<span class="sourceLineNo">123</span>   */<a name="line.123"></a>
+<span class="sourceLineNo">124</span>  public List&lt;Filter&gt; getFilters() {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    return filterListBase.getFilters();<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>  public int size() {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    return filterListBase.size();<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  }<a name="line.130"></a>
+<span class="sourceLineNo">131</span><a name="line.131"></a>
+<span class="sourceLineNo">132</span>  public void addFilter(List&lt;Filter&gt; filters) {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    filterListBase.addFilterLists(filters);<a name="line.133"></a>
+<span class="sourceLineNo">134</span>  }<a name="line.134"></a>
+<span class="sourceLineNo">135</span><a name="line.135"></a>
+<span class="sourceLineNo">136</span>  /**<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   * Add a filter.<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   * @param filter another filter<a name="line.138"></a>
+<span class="sourceLineNo">139</span>   */<a name="line.139"></a>
+<span class="sourceLineNo">140</span>  public void addFilter(Filter filter) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    addFilter(Collections.singletonList(filter));<a name="line.141"></a>
+<span class="sourceLineNo">142</span>  }<a name="line.142"></a>
+<span class="sourceLineNo">143</span><a name="line.143"></a>
+<span class="sourceLineNo">144</span>  @Override<a name="line.144"></a>
+<span class="sourceLineNo">145</span>  public void reset() throws IOException {<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    filterListBase.reset();<a name="line.146"></a>
+<span class="sourceLineNo">147</span>  }<a name="line.147"></a>
+<span class="sourceLineNo">148</span><a name="line.148"></a>
+<span class="sourceLineNo">149</span>  @Override<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  public boolean filterRowKey(byte[] rowKey, int offset, int length) throws IOException {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    return filterListBase.filterRowKey(rowKey, offset, length);<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>  @Override<a name="line.154"></a>
+<span class="sourceLineNo">155</span>  public boolean filterRowKey(Cell firstRowCell) throws IOException {<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    return filterListBase.filterRowKey(firstRowCell);<a name="line.156"></a>
+<span class="sourceLineNo">157</span>  }<a name="line.157"></a>
+<span class="sourceLineNo">158</span><a name="line.158"></a>
+<span class="sourceLineNo">159</span>  @Override<a name="line.159"></a>
+<span class="sourceLineNo">160</span>  public boolean filterAllRemaining() throws IOException {<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    return filterListBase.filterAllRemaining();<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 Cell transformCell(Cell c) throws IOException {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    return filterListBase.transformCell(c);<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>  @Override<a name="line.169"></a>
+<span class="sourceLineNo">170</span>  @Deprecated<a name="line.170"></a>
+<span class="sourceLineNo">171</span>  public ReturnCode filterKeyValue(final Cell c) throws IOException {<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    return filterCell(c);<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>  @Override<a name="line.175"></a>
+<span class="sourceLineNo">176</span>  public ReturnCode filterCell(final Cell c) throws IOException {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    return filterListBase.filterCell(c);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>  }<a name="line.178"></a>
+<span class="sourceLineNo">179</span><a name="line.179"></a>
+<span class="sourceLineNo">180</span>  /**<a name="line.180"></a>
+<span class="sourceLineNo">181</span>   * Filters that never filter by modifying the returned List of Cells can inherit this<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   * implementation that does nothing. {@inheritDoc}<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   */<a name="line.183"></a>
+<span class="sourceLineNo">184</span>  @Override<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  public void filterRowCells(List&lt;Cell&gt; cells) throws IOException {<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    filterListBase.filterRowCells(cells);<a name="line.186"></a>
+<span class="sourceLineNo">187</span>  }<a name="line.187"></a>
+<span class="sourceLineNo">188</span><a name="line.188"></a>
+<span class="sourceLineNo">189</span>  @Override<a name="line.189"></a>
+<span class="sourceLineNo">190</span>  public boolean hasFilterRow() {<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    return filterListBase.hasFilterRow();<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  }<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>  @Override<a name="line.194"></a>
+<span class="sourceLineNo">195</span>  public boolean filterRow() throws IOException {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    return filterListBase.filterRow();<a name="line.196"></a>
+<span class="sourceLineNo">197</span>  }<a name="line.197"></a>
+<span class="sourceLineNo">198</span><a name="line.198"></a>
+<span class="sourceLineNo">199</span>  /**<a name="line.199"></a>
+<span class="sourceLineNo">200</span>   * @return The filter serialized using pb<a name="line.200"></a>
+<span class="sourceLineNo">201</span>   */<a name="line.201"></a>
+<span class="sourceLineNo">202</span>  @Override<a name="line.202"></a>
+<span class="sourceLineNo">203</span>  public byte[] toByteArray() throws IOException {<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    FilterProtos.FilterList.Builder builder = FilterProtos.FilterList.newBuilder();<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    builder.setOperator(FilterProtos.FilterList.Operator.valueOf(operator.name()));<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    ArrayList&lt;Filter&gt; filters = filterListBase.getFilters();<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    for (int i = 0, n = filters.size(); i &lt; n; i++) {<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      builder.addFilters(ProtobufUtil.toFilter(filters.get(i)));<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    }<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    return builder.build().toByteArray();<a name="line.210"></a>
+<span class="sourceLineNo">211</span>  }<a name="line.211"></a>
+<span class="sourceLineNo">212</span><a name="line.212"></a>
+<span class="sourceLineNo">213</span>  /**<a name="line.213"></a>
+<span class="sourceLineNo">214</span>   * @param pbBytes A pb serialized {@link FilterList} instance<a name="line.214"></a>
+<span class="sourceLineNo">215</span>   * @return An instance of {@link FilterList} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>   * @throws DeserializationException<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   * @see #toByteArray<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  public static FilterList parseFrom(final byte[] pbBytes) throws DeserializationException {<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    FilterProtos.FilterList proto;<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    try {<a name="line.221"></a>
+<span class="sourceLineNo">222</span>      proto = FilterProtos.FilterList.parseFrom(pbBytes);<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    } catch (InvalidProtocolBufferException e) {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      throw new DeserializationException(e);<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    }<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>    List&lt;Filter&gt; rowFilters = new ArrayList&lt;&gt;(proto.getFiltersCount());<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    try {<a name="line.228"></a>
+<span class="sourceLineNo">229</span>      List&lt;FilterProtos.Filter&gt; filtersList = proto.getFiltersList();<a name="line.229"></a>
+<span class="sourceLineNo">230</span>      for (int i = 0, n = filtersList.size(); i &lt; n; i++) {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>        rowFilters.add(ProtobufUtil.toFilter(filtersList.get(i)));<a name="line.231"></a>
+<span class="sourceLineNo">232</span>      }<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    } catch (IOException ioe) {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>      throw new DeserializationException(ioe);<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    }<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    return new FilterList(Operator.valueOf(proto.getOperator().name()), rowFilters);<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  }<a name="line.237"></a>
+<span class="sourceLineNo">238</span><a name="line.238"></a>
+<span class="sourceLineNo">239</span>  /**<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   * @param other<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * @return true if and only if the fields of the filter that are serialized are equal to the<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   *         corresponding fields in other. Used for testing.<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   */<a name="line.243"></a>
+<span class="sourceLineNo">244</span>  @Override<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  boolean areSerializedFieldsEqual(Filter other) {<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    if (other == this) return true;<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    if (!(other instanceof FilterList)) return false;<a name="line.247"></a>
+<span class="sourceLineNo">248</span><a name="line.248"></a>
+<span class="sourceLineNo">249</span>    FilterList o = (FilterList) other;<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    return this.getOperator().equals(o.getOperator())<a name="line.250"></a>
+<span class="sourceLineNo">251</span>        &amp;&amp; ((this.getFilters() == o.getFilters()) || this.getFilters().equals(o.getFilters()));<a name="line.251"></a>
+<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
+<span class="sourceLineNo">253</span><a name="line.253"></a>
+<span class="sourceLineNo">254</span>  @Override<a name="line.254"></a>
+<span class="sourceLineNo">255</span>  public Cell getNextCellHint(Cell currentCell) throws IOException {<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    return this.filterListBase.getNextCellHint(currentCell);<a name="line.256"></a>
+<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
+<span class="sourceLineNo">258</span><a name="line.258"></a>
+<span class="sourceLineNo">259</span>  @Override<a name="line.259"></a>
+<span class="sourceLineNo">260</span>  public boolean isFamilyEssential(byte[] name) throws IOException {<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    return this.filterListBase.isFamilyEssential(name);<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  }<a name="line.262"></a>
+<span class="sourceLineNo">263</span><a name="line.263"></a>
+<span class="sourceLineNo">264</span>  @Override<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  public void setReversed(boolean reversed) {<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    this.reversed = reversed;<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    this.filterListBase.setReversed(reversed);<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  }<a name="line.268"></a>
+<span class="sourceLineNo">269</span><a name="line.269"></a>
+<span class="sourceLineNo">270</span>  @Override<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  public boolean isReversed() {<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    assert this.reversed == this.filterListBase.isReversed();<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    return this.reversed;<a name="line.273"></a>
+<span class="sourceLineNo">274</span>  }<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>  @Override<a name="line.276"></a>
+<span class="sourceLineNo">277</span>  public String toString() {<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    return this.filterListBase.toString();<a name="line.278"></a>
+<span class="sourceLineNo">279</span>  }<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  @Override<a name="line.280"></a>
+<span class="sourceLineNo">281</span>  public boolean equals(Object obj) {<a name="line.281"></a>
+<span class="sourceLineNo">282</span>    if (obj == null || (!(obj instanceof FilterList))) {<a name="line.282"></a>
+<span class="sourceLineNo">283</span>      return false;<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    }<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    FilterList f = (FilterList) obj;<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    return this.areSerializedFieldsEqual(f);<a name="line.286"></a>
+<span class="sourceLineNo">287</span>  }<a name="line.287"></a>
+<span class="sourceLineNo">288</span><a name="line.288"></a>
+<span class="sourceLineNo">289</span>  @Override<a name="line.289"></a>
+<span class="sourceLineNo">290</span>  public int hashCode() {<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    return Objects.hash(this.getOperator(), Arrays.hashCode(this.getFilters().toArray()));<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  }<a name="line.292"></a>
+<span class="sourceLineNo">293</span>}<a name="line.293"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html
index e9b444b..69ecec9 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html
@@ -26,122 +26,137 @@
 <span class="sourceLineNo">018</span><a name="line.18"></a>
 <span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.filter;<a name="line.19"></a>
 <span class="sourceLineNo">020</span><a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.util.Set;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.util.TreeSet;<a name="line.22"></a>
-<span class="sourceLineNo">023</span><a name="line.23"></a>
-<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.Cell;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.29"></a>
-<span class="sourceLineNo">030</span><a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hbase.thirdparty.com.google.protobuf.ByteString;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.33"></a>
-<span class="sourceLineNo">034</span><a name="line.34"></a>
-<span class="sourceLineNo">035</span>/**<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * The filter looks for the given columns in KeyValue. Once there is a match for<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * any one of the columns, it returns ReturnCode.NEXT_ROW for remaining<a name="line.37"></a>
-<span class="sourceLineNo">038</span> * KeyValues in the row.<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * &lt;p&gt;<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * Note : It may emit KVs which do not have the given columns in them, if<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * these KVs happen to occur before a KV which does have a match. Given this<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * caveat, this filter is only useful for special cases<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * like org.apache.hadoop.hbase.mapreduce.RowCounter.<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * &lt;p&gt;<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * @deprecated Deprecated in 2.0. See HBASE-13347<a name="line.45"></a>
-<span class="sourceLineNo">046</span> */<a name="line.46"></a>
-<span class="sourceLineNo">047</span>@InterfaceAudience.Public<a name="line.47"></a>
-<span class="sourceLineNo">048</span>@Deprecated<a name="line.48"></a>
-<span class="sourceLineNo">049</span>public class FirstKeyValueMatchingQualifiersFilter extends FirstKeyOnlyFilter {<a name="line.49"></a>
-<span class="sourceLineNo">050</span><a name="line.50"></a>
-<span class="sourceLineNo">051</span>  private Set&lt;byte []&gt; qualifiers;<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>  /**<a name="line.53"></a>
-<span class="sourceLineNo">054</span>   * Constructor which takes a set of columns. As soon as first KeyValue<a name="line.54"></a>
-<span class="sourceLineNo">055</span>   * matching any of these columns is found, filter moves to next row.<a name="line.55"></a>
-<span class="sourceLineNo">056</span>   * <a name="line.56"></a>
-<span class="sourceLineNo">057</span>   * @param qualifiers the set of columns to me matched.<a name="line.57"></a>
-<span class="sourceLineNo">058</span>   */<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  public FirstKeyValueMatchingQualifiersFilter(Set&lt;byte []&gt; qualifiers) {<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    this.qualifiers = qualifiers;<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>  @Deprecated<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  @Override<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    return filterCell(c);<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  }<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span>  @Override<a name="line.69"></a>
-<span class="sourceLineNo">070</span>  public ReturnCode filterCell(final Cell c) {<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    if (hasFoundKV()) {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      return ReturnCode.NEXT_ROW;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    } else if (hasOneMatchingQualifier(c)) {<a name="line.73"></a>
-<span class="sourceLineNo">074</span>      setFoundKV(true);<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    }<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    return ReturnCode.INCLUDE;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  }<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  private boolean hasOneMatchingQualifier(Cell c) {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    for (byte[] q : qualifiers) {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>      if (CellUtil.matchingQualifier(c, q)) {<a name="line.81"></a>
-<span class="sourceLineNo">082</span>        return true;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>      }<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    }<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    return false;<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>   * @return The filter serialized using pb<a name="line.89"></a>
-<span class="sourceLineNo">090</span>   */<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  @Override<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  public byte [] toByteArray() {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    FilterProtos.FirstKeyValueMatchingQualifiersFilter.Builder builder =<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      FilterProtos.FirstKeyValueMatchingQualifiersFilter.newBuilder();<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    for (byte[] qualifier : qualifiers) {<a name="line.95"></a>
-<span class="sourceLineNo">096</span>      if (qualifier != null) builder.addQualifiers(UnsafeByteOperations.unsafeWrap(qualifier));<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    }<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    return builder.build().toByteArray();<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>   * @param pbBytes A pb serialized {@link FirstKeyValueMatchingQualifiersFilter} instance<a name="line.102"></a>
-<span class="sourceLineNo">103</span>   * @return An instance of {@link FirstKeyValueMatchingQualifiersFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>   * @throws DeserializationException<a name="line.104"></a>
-<span class="sourceLineNo">105</span>   * @see #toByteArray<a name="line.105"></a>
-<span class="sourceLineNo">106</span>   */<a name="line.106"></a>
-<span class="sourceLineNo">107</span>  public static FirstKeyValueMatchingQualifiersFilter parseFrom(final byte [] pbBytes)<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  throws DeserializationException {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    FilterProtos.FirstKeyValueMatchingQualifiersFilter proto;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    try {<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      proto = FilterProtos.FirstKeyValueMatchingQualifiersFilter.parseFrom(pbBytes);<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    } catch (InvalidProtocolBufferException e) {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>      throw new DeserializationException(e);<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    }<a name="line.114"></a>
-<span class="sourceLineNo">115</span><a name="line.115"></a>
-<span class="sourceLineNo">116</span>    TreeSet&lt;byte []&gt; qualifiers = new TreeSet&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    for (ByteString qualifier : proto.getQualifiersList()) {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      qualifiers.add(qualifier.toByteArray());<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    }<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    return new FirstKeyValueMatchingQualifiersFilter(qualifiers);<a name="line.120"></a>
-<span class="sourceLineNo">121</span>  }<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>   * @param o the other filter to compare with<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.125"></a>
-<span class="sourceLineNo">126</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.126"></a>
-<span class="sourceLineNo">127</span>   */<a name="line.127"></a>
-<span class="sourceLineNo">128</span>  @Override<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    if (o == this) return true;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    if (!(o instanceof FirstKeyValueMatchingQualifiersFilter)) return false;<a name="line.131"></a>
-<span class="sourceLineNo">132</span><a name="line.132"></a>
-<span class="sourceLineNo">133</span>    FirstKeyValueMatchingQualifiersFilter other = (FirstKeyValueMatchingQualifiersFilter)o;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    return this.qualifiers.equals(other.qualifiers);<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  }<a name="line.135"></a>
-<span class="sourceLineNo">136</span>}<a name="line.136"></a>
+<span class="sourceLineNo">021</span>import java.util.Objects;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.util.Set;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.util.TreeSet;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.CellUtil;<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>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.30"></a>
+<span class="sourceLineNo">031</span><a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hbase.thirdparty.com.google.protobuf.ByteString;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.34"></a>
+<span class="sourceLineNo">035</span><a name="line.35"></a>
+<span class="sourceLineNo">036</span>/**<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * The filter looks for the given columns in KeyValue. Once there is a match for<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * any one of the columns, it returns ReturnCode.NEXT_ROW for remaining<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * KeyValues in the row.<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * &lt;p&gt;<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * Note : It may emit KVs which do not have the given columns in them, if<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * these KVs happen to occur before a KV which does have a match. Given this<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * caveat, this filter is only useful for special cases<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * like org.apache.hadoop.hbase.mapreduce.RowCounter.<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * &lt;p&gt;<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * @deprecated Deprecated in 2.0. See HBASE-13347<a name="line.46"></a>
+<span class="sourceLineNo">047</span> */<a name="line.47"></a>
+<span class="sourceLineNo">048</span>@InterfaceAudience.Public<a name="line.48"></a>
+<span class="sourceLineNo">049</span>@Deprecated<a name="line.49"></a>
+<span class="sourceLineNo">050</span>public class FirstKeyValueMatchingQualifiersFilter extends FirstKeyOnlyFilter {<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>  private Set&lt;byte []&gt; qualifiers;<a name="line.52"></a>
+<span class="sourceLineNo">053</span><a name="line.53"></a>
+<span class="sourceLineNo">054</span>  /**<a name="line.54"></a>
+<span class="sourceLineNo">055</span>   * Constructor which takes a set of columns. As soon as first KeyValue<a name="line.55"></a>
+<span class="sourceLineNo">056</span>   * matching any of these columns is found, filter moves to next row.<a name="line.56"></a>
+<span class="sourceLineNo">057</span>   * <a name="line.57"></a>
+<span class="sourceLineNo">058</span>   * @param qualifiers the set of columns to me matched.<a name="line.58"></a>
+<span class="sourceLineNo">059</span>   */<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  public FirstKeyValueMatchingQualifiersFilter(Set&lt;byte []&gt; qualifiers) {<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    this.qualifiers = qualifiers;<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>  @Deprecated<a name="line.64"></a>
+<span class="sourceLineNo">065</span>  @Override<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    return filterCell(c);<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  }<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>  @Override<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  public ReturnCode filterCell(final Cell c) {<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    if (hasFoundKV()) {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>      return ReturnCode.NEXT_ROW;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    } else if (hasOneMatchingQualifier(c)) {<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      setFoundKV(true);<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    }<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    return ReturnCode.INCLUDE;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  }<a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>  private boolean hasOneMatchingQualifier(Cell c) {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>    for (byte[] q : qualifiers) {<a name="line.81"></a>
+<span class="sourceLineNo">082</span>      if (CellUtil.matchingQualifier(c, q)) {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>        return true;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>      }<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    }<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    return false;<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>   * @return The filter serialized using pb<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   */<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  @Override<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  public byte [] toByteArray() {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    FilterProtos.FirstKeyValueMatchingQualifiersFilter.Builder builder =<a name="line.94"></a>
+<span class="sourceLineNo">095</span>      FilterProtos.FirstKeyValueMatchingQualifiersFilter.newBuilder();<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    for (byte[] qualifier : qualifiers) {<a name="line.96"></a>
+<span class="sourceLineNo">097</span>      if (qualifier != null) builder.addQualifiers(UnsafeByteOperations.unsafeWrap(qualifier));<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    }<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    return builder.build().toByteArray();<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>  /**<a name="line.102"></a>
+<span class="sourceLineNo">103</span>   * @param pbBytes A pb serialized {@link FirstKeyValueMatchingQualifiersFilter} instance<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   * @return An instance of {@link FirstKeyValueMatchingQualifiersFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   * @throws DeserializationException<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   * @see #toByteArray<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   */<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  public static FirstKeyValueMatchingQualifiersFilter parseFrom(final byte [] pbBytes)<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  throws DeserializationException {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    FilterProtos.FirstKeyValueMatchingQualifiersFilter proto;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    try {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>      proto = FilterProtos.FirstKeyValueMatchingQualifiersFilter.parseFrom(pbBytes);<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    } catch (InvalidProtocolBufferException e) {<a name="line.113"></a>
+<span class="sourceLineNo">114</span>      throw new DeserializationException(e);<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    }<a name="line.115"></a>
+<span class="sourceLineNo">116</span><a name="line.116"></a>
+<span class="sourceLineNo">117</span>    TreeSet&lt;byte []&gt; qualifiers = new TreeSet&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    for (ByteString qualifier : proto.getQualifiersList()) {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>      qualifiers.add(qualifier.toByteArray());<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    }<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    return new FirstKeyValueMatchingQualifiersFilter(qualifiers);<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>  /**<a name="line.124"></a>
+<span class="sourceLineNo">125</span>   * @param o the other filter to compare with<a name="line.125"></a>
+<span class="sourceLineNo">126</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.126"></a>
+<span class="sourceLineNo">127</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.127"></a>
+<span class="sourceLineNo">128</span>   */<a name="line.128"></a>
+<span class="sourceLineNo">129</span>  @Override<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    if (o == this) return true;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    if (!(o instanceof FirstKeyValueMatchingQualifiersFilter)) return false;<a name="line.132"></a>
+<span class="sourceLineNo">133</span><a name="line.133"></a>
+<span class="sourceLineNo">134</span>    FirstKeyValueMatchingQualifiersFilter other = (FirstKeyValueMatchingQualifiersFilter)o;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    return this.qualifiers.equals(other.qualifiers);<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>  @Override<a name="line.138"></a>
+<span class="sourceLineNo">139</span>  public boolean equals(Object obj) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    if (obj == null || (!(obj instanceof FirstKeyValueMatchingQualifiersFilter))) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      return false;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    }<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    FirstKeyValueMatchingQualifiersFilter f = (FirstKeyValueMatchingQualifiersFilter) obj;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    return this.areSerializedFieldsEqual(f);<a name="line.144"></a>
+<span class="sourceLineNo">145</span>  }<a name="line.145"></a>
+<span class="sourceLineNo">146</span><a name="line.146"></a>
+<span class="sourceLineNo">147</span>  @Override<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  public int hashCode() {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    return Objects.hash(this.qualifiers);<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  }<a name="line.150"></a>
+<span class="sourceLineNo">151</span>}<a name="line.151"></a>
 
 
 


[27/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/src-html/org/apache/hadoop/hbase/filter/RowFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/RowFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/RowFilter.html
index 2db4997..14fcebb 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/RowFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/RowFilter.html
@@ -29,146 +29,161 @@
 <span class="sourceLineNo">021</span><a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
 <span class="sourceLineNo">023</span>import java.util.ArrayList;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.CompareOperator;<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>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.31"></a>
-<span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>/**<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * This filter is used to filter based on the key. It takes an operator<a name="line.34"></a>
-<span class="sourceLineNo">035</span> * (equal, greater, not equal, etc) and a byte [] comparator for the row,<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * and column qualifier portions of a key.<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * &lt;p&gt;<a name="line.37"></a>
-<span class="sourceLineNo">038</span> * This filter can be wrapped with {@link WhileMatchFilter} to add more control.<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * &lt;p&gt;<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * Multiple filters can be combined using {@link FilterList}.<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * &lt;p&gt;<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * If an already known row range needs to be scanned, <a name="line.42"></a>
-<span class="sourceLineNo">043</span> * use {@link org.apache.hadoop.hbase.CellScanner} start<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * and stop rows directly rather than a filter.<a name="line.44"></a>
-<span class="sourceLineNo">045</span> */<a name="line.45"></a>
-<span class="sourceLineNo">046</span>@InterfaceAudience.Public<a name="line.46"></a>
-<span class="sourceLineNo">047</span>public class RowFilter extends CompareFilter {<a name="line.47"></a>
-<span class="sourceLineNo">048</span><a name="line.48"></a>
-<span class="sourceLineNo">049</span>  private boolean filterOutRow = false;<a name="line.49"></a>
-<span class="sourceLineNo">050</span><a name="line.50"></a>
-<span class="sourceLineNo">051</span>  /**<a name="line.51"></a>
-<span class="sourceLineNo">052</span>   * Constructor.<a name="line.52"></a>
-<span class="sourceLineNo">053</span>   * @param rowCompareOp the compare op for row matching<a name="line.53"></a>
-<span class="sourceLineNo">054</span>   * @param rowComparator the comparator for row matching<a name="line.54"></a>
-<span class="sourceLineNo">055</span>   * @deprecated Since 2.0.0. Will remove in 3.0.0. Use<a name="line.55"></a>
-<span class="sourceLineNo">056</span>   * {@link #RowFilter(CompareOperator, ByteArrayComparable)}} instead.<a name="line.56"></a>
-<span class="sourceLineNo">057</span>   */<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  @Deprecated<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  public RowFilter(final CompareOp rowCompareOp,<a name="line.59"></a>
-<span class="sourceLineNo">060</span>      final ByteArrayComparable rowComparator) {<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    super(rowCompareOp, rowComparator);<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>  /**<a name="line.64"></a>
-<span class="sourceLineNo">065</span>   * Constructor.<a name="line.65"></a>
-<span class="sourceLineNo">066</span>   * @param op the compare op for row matching<a name="line.66"></a>
-<span class="sourceLineNo">067</span>   * @param rowComparator the comparator for row matching<a name="line.67"></a>
-<span class="sourceLineNo">068</span>   */<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  public RowFilter(final CompareOperator op,<a name="line.69"></a>
-<span class="sourceLineNo">070</span>                   final ByteArrayComparable rowComparator) {<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    super(op, rowComparator);<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  }<a name="line.72"></a>
-<span class="sourceLineNo">073</span><a name="line.73"></a>
-<span class="sourceLineNo">074</span>  @Override<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  public void reset() {<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    this.filterOutRow = false;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  }<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  @Deprecated<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  @Override<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    return filterCell(c);<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  }<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  @Override<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  public ReturnCode filterCell(final Cell v) {<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    if(this.filterOutRow) {<a name="line.87"></a>
-<span class="sourceLineNo">088</span>      return ReturnCode.NEXT_ROW;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    }<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    return ReturnCode.INCLUDE;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  }<a name="line.91"></a>
-<span class="sourceLineNo">092</span><a name="line.92"></a>
-<span class="sourceLineNo">093</span>  @Override<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  public boolean filterRowKey(Cell firstRowCell) {<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    if (compareRow(getCompareOperator(), this.comparator, firstRowCell)) {<a name="line.95"></a>
-<span class="sourceLineNo">096</span>      this.filterOutRow = true;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    }<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    return this.filterOutRow;<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>  @Override<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  public boolean filterRow() {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    return this.filterOutRow;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>  }<a name="line.104"></a>
-<span class="sourceLineNo">105</span><a name="line.105"></a>
-<span class="sourceLineNo">106</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    @SuppressWarnings("rawtypes") // for arguments<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    ArrayList arguments = CompareFilter.extractArguments(filterArguments);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    CompareOperator compareOp = (CompareOperator)arguments.get(0);<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    ByteArrayComparable comparator = (ByteArrayComparable)arguments.get(1);<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    return new RowFilter(compareOp, comparator);<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  }<a name="line.112"></a>
-<span class="sourceLineNo">113</span><a name="line.113"></a>
-<span class="sourceLineNo">114</span> /**<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  * @return The filter serialized using pb<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  */<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  @Override<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  public byte [] toByteArray() {<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    FilterProtos.RowFilter.Builder builder =<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      FilterProtos.RowFilter.newBuilder();<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    builder.setCompareFilter(super.convert());<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    return builder.build().toByteArray();<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>  /**<a name="line.125"></a>
-<span class="sourceLineNo">126</span>   * @param pbBytes A pb serialized {@link RowFilter} instance<a name="line.126"></a>
-<span class="sourceLineNo">127</span>   * @return An instance of {@link RowFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>   * @throws DeserializationException<a name="line.128"></a>
-<span class="sourceLineNo">129</span>   * @see #toByteArray<a name="line.129"></a>
-<span class="sourceLineNo">130</span>   */<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  public static RowFilter parseFrom(final byte [] pbBytes)<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  throws DeserializationException {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    FilterProtos.RowFilter proto;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    try {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      proto = FilterProtos.RowFilter.parseFrom(pbBytes);<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    } catch (InvalidProtocolBufferException e) {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      throw new DeserializationException(e);<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    final CompareOperator valueCompareOp =<a name="line.139"></a>
-<span class="sourceLineNo">140</span>      CompareOperator.valueOf(proto.getCompareFilter().getCompareOp().name());<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    ByteArrayComparable valueComparator = null;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    try {<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      if (proto.getCompareFilter().hasComparator()) {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>        valueComparator = ProtobufUtil.toComparator(proto.getCompareFilter().getComparator());<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      }<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    } catch (IOException ioe) {<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      throw new DeserializationException(ioe);<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    }<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    return new RowFilter(valueCompareOp,valueComparator);<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  }<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>   * @return true if and only if the fields of the filter that are serialized<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   */<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  @Override<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    if (o == this) return true;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    if (!(o instanceof RowFilter)) return false;<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>    return super.areSerializedFieldsEqual(o);<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">024</span>import java.util.Objects;<a name="line.24"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.Cell;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.CompareOperator;<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>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>/**<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * This filter is used to filter based on the key. It takes an operator<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * (equal, greater, not equal, etc) and a byte [] comparator for the row,<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * and column qualifier portions of a key.<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * &lt;p&gt;<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * This filter can be wrapped with {@link WhileMatchFilter} to add more control.<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * &lt;p&gt;<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * Multiple filters can be combined using {@link FilterList}.<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * &lt;p&gt;<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * If an already known row range needs to be scanned, <a name="line.43"></a>
+<span class="sourceLineNo">044</span> * use {@link org.apache.hadoop.hbase.CellScanner} start<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * and stop rows directly rather than a filter.<a name="line.45"></a>
+<span class="sourceLineNo">046</span> */<a name="line.46"></a>
+<span class="sourceLineNo">047</span>@InterfaceAudience.Public<a name="line.47"></a>
+<span class="sourceLineNo">048</span>public class RowFilter extends CompareFilter {<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>  private boolean filterOutRow = false;<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>  /**<a name="line.52"></a>
+<span class="sourceLineNo">053</span>   * Constructor.<a name="line.53"></a>
+<span class="sourceLineNo">054</span>   * @param rowCompareOp the compare op for row matching<a name="line.54"></a>
+<span class="sourceLineNo">055</span>   * @param rowComparator the comparator for row matching<a name="line.55"></a>
+<span class="sourceLineNo">056</span>   * @deprecated Since 2.0.0. Will remove in 3.0.0. Use<a name="line.56"></a>
+<span class="sourceLineNo">057</span>   * {@link #RowFilter(CompareOperator, ByteArrayComparable)}} instead.<a name="line.57"></a>
+<span class="sourceLineNo">058</span>   */<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  @Deprecated<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  public RowFilter(final CompareOp rowCompareOp,<a name="line.60"></a>
+<span class="sourceLineNo">061</span>      final ByteArrayComparable rowComparator) {<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    super(rowCompareOp, rowComparator);<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  }<a name="line.63"></a>
+<span class="sourceLineNo">064</span><a name="line.64"></a>
+<span class="sourceLineNo">065</span>  /**<a name="line.65"></a>
+<span class="sourceLineNo">066</span>   * Constructor.<a name="line.66"></a>
+<span class="sourceLineNo">067</span>   * @param op the compare op for row matching<a name="line.67"></a>
+<span class="sourceLineNo">068</span>   * @param rowComparator the comparator for row matching<a name="line.68"></a>
+<span class="sourceLineNo">069</span>   */<a name="line.69"></a>
+<span class="sourceLineNo">070</span>  public RowFilter(final CompareOperator op,<a name="line.70"></a>
+<span class="sourceLineNo">071</span>                   final ByteArrayComparable rowComparator) {<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    super(op, rowComparator);<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>  @Override<a name="line.75"></a>
+<span class="sourceLineNo">076</span>  public void reset() {<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    this.filterOutRow = false;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  }<a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>  @Deprecated<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  @Override<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    return filterCell(c);<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  }<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>  @Override<a name="line.86"></a>
+<span class="sourceLineNo">087</span>  public ReturnCode filterCell(final Cell v) {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    if(this.filterOutRow) {<a name="line.88"></a>
+<span class="sourceLineNo">089</span>      return ReturnCode.NEXT_ROW;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    }<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    return ReturnCode.INCLUDE;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  }<a name="line.92"></a>
+<span class="sourceLineNo">093</span><a name="line.93"></a>
+<span class="sourceLineNo">094</span>  @Override<a name="line.94"></a>
+<span class="sourceLineNo">095</span>  public boolean filterRowKey(Cell firstRowCell) {<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    if (compareRow(getCompareOperator(), this.comparator, firstRowCell)) {<a name="line.96"></a>
+<span class="sourceLineNo">097</span>      this.filterOutRow = true;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    }<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    return this.filterOutRow;<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>  @Override<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  public boolean filterRow() {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    return this.filterOutRow;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  }<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    @SuppressWarnings("rawtypes") // for arguments<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    ArrayList arguments = CompareFilter.extractArguments(filterArguments);<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    CompareOperator compareOp = (CompareOperator)arguments.get(0);<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    ByteArrayComparable comparator = (ByteArrayComparable)arguments.get(1);<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    return new RowFilter(compareOp, comparator);<a name="line.112"></a>
+<span class="sourceLineNo">113</span>  }<a name="line.113"></a>
+<span class="sourceLineNo">114</span><a name="line.114"></a>
+<span class="sourceLineNo">115</span> /**<a name="line.115"></a>
+<span class="sourceLineNo">116</span>  * @return The filter serialized using pb<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  */<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  @Override<a name="line.118"></a>
+<span class="sourceLineNo">119</span>  public byte [] toByteArray() {<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    FilterProtos.RowFilter.Builder builder =<a name="line.120"></a>
+<span class="sourceLineNo">121</span>      FilterProtos.RowFilter.newBuilder();<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    builder.setCompareFilter(super.convert());<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    return builder.build().toByteArray();<a name="line.123"></a>
+<span class="sourceLineNo">124</span>  }<a name="line.124"></a>
+<span class="sourceLineNo">125</span><a name="line.125"></a>
+<span class="sourceLineNo">126</span>  /**<a name="line.126"></a>
+<span class="sourceLineNo">127</span>   * @param pbBytes A pb serialized {@link RowFilter} instance<a name="line.127"></a>
+<span class="sourceLineNo">128</span>   * @return An instance of {@link RowFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>   * @throws DeserializationException<a name="line.129"></a>
+<span class="sourceLineNo">130</span>   * @see #toByteArray<a name="line.130"></a>
+<span class="sourceLineNo">131</span>   */<a name="line.131"></a>
+<span class="sourceLineNo">132</span>  public static RowFilter parseFrom(final byte [] pbBytes)<a name="line.132"></a>
+<span class="sourceLineNo">133</span>  throws DeserializationException {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    FilterProtos.RowFilter proto;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    try {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>      proto = FilterProtos.RowFilter.parseFrom(pbBytes);<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    } catch (InvalidProtocolBufferException e) {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>      throw new DeserializationException(e);<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    }<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    final CompareOperator valueCompareOp =<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      CompareOperator.valueOf(proto.getCompareFilter().getCompareOp().name());<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    ByteArrayComparable valueComparator = null;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    try {<a name="line.143"></a>
+<span class="sourceLineNo">144</span>      if (proto.getCompareFilter().hasComparator()) {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>        valueComparator = ProtobufUtil.toComparator(proto.getCompareFilter().getComparator());<a name="line.145"></a>
+<span class="sourceLineNo">146</span>      }<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    } catch (IOException ioe) {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      throw new DeserializationException(ioe);<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    }<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    return new RowFilter(valueCompareOp,valueComparator);<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>   * @return true if and only if the fields of the filter that are serialized<a name="line.154"></a>
+<span class="sourceLineNo">155</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.155"></a>
+<span class="sourceLineNo">156</span>   */<a name="line.156"></a>
+<span class="sourceLineNo">157</span>  @Override<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    if (o == this) return true;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    if (!(o instanceof RowFilter)) return false;<a name="line.160"></a>
+<span class="sourceLineNo">161</span><a name="line.161"></a>
+<span class="sourceLineNo">162</span>    return super.areSerializedFieldsEqual(o);<a name="line.162"></a>
+<span class="sourceLineNo">163</span>  }<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>  @Override<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public boolean equals(Object obj) {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    if (obj == null || (!(obj instanceof RowFilter))) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      return false;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    }<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    RowFilter f = (RowFilter) obj;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    return this.areSerializedFieldsEqual(f);<a name="line.171"></a>
+<span class="sourceLineNo">172</span>  }<a name="line.172"></a>
+<span class="sourceLineNo">173</span><a name="line.173"></a>
+<span class="sourceLineNo">174</span>  @Override<a name="line.174"></a>
+<span class="sourceLineNo">175</span>  public int hashCode() {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    return Objects.hash(this.getComparator(), this.getCompareOperator());<a name="line.176"></a>
+<span class="sourceLineNo">177</span>  }<a name="line.177"></a>
+<span class="sourceLineNo">178</span>}<a name="line.178"></a>
 
 
 


[46/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html b/apidocs/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html
index 8b1ecf3..f1e0686 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":42,"i5":10,"i6":10,"i7":10,"i8":9,"i9":10,"i10":10,"i11":10};
+var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":10,"i5":42,"i6":10,"i7":10,"i8":10,"i9":10,"i10":9,"i11":10,"i12":10,"i13":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.41">MultipleColumnPrefixFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.43">MultipleColumnPrefixFilter</a>
 extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <div class="block">This filter is used for selecting only those keys with columns that matches
  a particular prefix. For example, if prefix is 'an', it will pass keys will
@@ -214,55 +214,63 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#createTreeSet--">createTreeSet</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#filterColumn-org.apache.hadoop.hbase.Cell-">filterColumn</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>byte[][]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#getPrefix--">getPrefix</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">MultipleColumnPrefixFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#toString-int-">toString</a></span>(int&nbsp;maxPrefixes)</code>&nbsp;</td>
 </tr>
@@ -286,7 +294,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -308,7 +316,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>hint</h4>
-<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.42">hint</a></pre>
+<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.44">hint</a></pre>
 </li>
 </ul>
 <a name="sortedPrefixes">
@@ -317,7 +325,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>sortedPrefixes</h4>
-<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/TreeSet.html?is-external=true" title="class or interface in java.util">TreeSet</a>&lt;byte[]&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.43">sortedPrefixes</a></pre>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/TreeSet.html?is-external=true" title="class or interface in java.util">TreeSet</a>&lt;byte[]&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.45">sortedPrefixes</a></pre>
 </li>
 </ul>
 </li>
@@ -334,7 +342,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MultipleColumnPrefixFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.46">MultipleColumnPrefixFilter</a>(byte[][]&nbsp;prefixes)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.48">MultipleColumnPrefixFilter</a>(byte[][]&nbsp;prefixes)</pre>
 </li>
 </ul>
 </li>
@@ -351,7 +359,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getPrefix</h4>
-<pre>public&nbsp;byte[][]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.55">getPrefix</a>()</pre>
+<pre>public&nbsp;byte[][]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.57">getPrefix</a>()</pre>
 </li>
 </ul>
 <a name="filterRowKey-org.apache.hadoop.hbase.Cell-">
@@ -360,7 +368,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.65">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.67">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -389,7 +397,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.72">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.74">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -424,7 +432,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.77">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.79">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -458,7 +466,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterColumn</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.85">filterColumn</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.87">filterColumn</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 </li>
 </ul>
 <a name="createFilterFromArguments-java.util.ArrayList-">
@@ -467,7 +475,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.109">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.111">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -476,7 +484,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.122">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.124">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -493,7 +501,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">MultipleColumnPrefixFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.137">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">MultipleColumnPrefixFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.139">parseFrom</a>(byte[]&nbsp;pbBytes)
                                             throws org.apache.hadoop.hbase.exceptions.DeserializationException</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -513,7 +521,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>getNextCellHint</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.169">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.171">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.
@@ -539,7 +547,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createTreeSet</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/TreeSet.html?is-external=true" title="class or interface in java.util">TreeSet</a>&lt;byte[]&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.173">createTreeSet</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/TreeSet.html?is-external=true" title="class or interface in java.util">TreeSet</a>&lt;byte[]&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.175">createTreeSet</a>()</pre>
 </li>
 </ul>
 <a name="toString--">
@@ -548,7 +556,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.188">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.190">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -560,10 +568,36 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString-int-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.192">toString</a>(int&nbsp;maxPrefixes)</pre>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.194">toString</a>(int&nbsp;maxPrefixes)</pre>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.214">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.html#line.223">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/PageFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/PageFilter.html b/apidocs/org/apache/hadoop/hbase/filter/PageFilter.html
index c4d3133..5db2b05 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/PageFilter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/PageFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":10,"i3":42,"i4":10,"i5":10,"i6":10,"i7":10,"i8":9,"i9":10,"i10":10};
+var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":42,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":9,"i11":10,"i12":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.44">PageFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.45">PageFilter</a>
 extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <div class="block">Implementation of Filter interface that limits results to a specific page
  size. It terminates scanning once the number of filter-passed rows is &gt;
@@ -204,24 +204,28 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#filterAllRemaining--">filterAllRemaining</a></span>()</code>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#filterRow--">filterRow</a></span>()</code>
 <div class="block">Filters that never filter by rows based on previously gathered state from
@@ -229,34 +233,38 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
  never filters a row.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#getPageSize--">getPageSize</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#hasFilterRow--">hasFilterRow</a></span>()</code>
 <div class="block">Fitlers that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html" title="class in org.apache.hadoop.hbase.filter">PageFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
@@ -282,7 +290,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -304,7 +312,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PageFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.53">PageFilter</a>(long&nbsp;pageSize)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.54">PageFilter</a>(long&nbsp;pageSize)</pre>
 <div class="block">Constructor that takes a maximum page size.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -326,7 +334,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getPageSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.58">getPageSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.59">getPageSize</a>()</pre>
 </li>
 </ul>
 <a name="filterRowKey-org.apache.hadoop.hbase.Cell-">
@@ -335,7 +343,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.63">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.64">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -364,7 +372,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.71">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.72">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
                                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
@@ -402,7 +410,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.76">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.77">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;ignored)
                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -439,7 +447,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterAllRemaining</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.81">filterAllRemaining</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.82">filterAllRemaining</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.
@@ -462,7 +470,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.86">filterRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.87">filterRow</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that never filter by rows based on previously gathered state from
  <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-"><code>Filter.filterCell(Cell)</code></a> can inherit this implementation that
@@ -488,7 +496,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>hasFilterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.92">hasFilterRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.93">hasFilterRow</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Fitlers that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.
@@ -509,7 +517,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.96">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.97">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -518,7 +526,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.107">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.108">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -535,7 +543,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html" title="class in org.apache.hadoop.hbase.filter">PageFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.120">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/PageFilter.html" title="class in org.apache.hadoop.hbase.filter">PageFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.121">parseFrom</a>(byte[]&nbsp;pbBytes)
                             throws org.apache.hadoop.hbase.exceptions.DeserializationException</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -552,10 +560,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.150">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.151">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -564,6 +572,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.156">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PageFilter.html#line.165">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/PrefixFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/PrefixFilter.html b/apidocs/org/apache/hadoop/hbase/filter/PrefixFilter.html
index 2ef837b..8a35285 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/PrefixFilter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/PrefixFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":10,"i3":42,"i4":10,"i5":10,"i6":10,"i7":9,"i8":10,"i9":10,"i10":10};
+var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":42,"i5":10,"i6":10,"i7":10,"i8":10,"i9":9,"i10":10,"i11":10,"i12":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.40">PrefixFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.41">PrefixFilter</a>
 extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <div class="block">Pass results that have same row prefix.</div>
 </li>
@@ -213,24 +213,28 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#filterAllRemaining--">filterAllRemaining</a></span>()</code>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#filterRow--">filterRow</a></span>()</code>
 <div class="block">Filters that never filter by rows based on previously gathered state from
@@ -238,34 +242,38 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
  never filters a row.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#getPrefix--">getPrefix</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">PrefixFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#reset--">reset</a></span>()</code>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
@@ -291,7 +299,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -313,7 +321,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>prefix</h4>
-<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.41">prefix</a></pre>
+<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.42">prefix</a></pre>
 </li>
 </ul>
 <a name="passedPrefix">
@@ -322,7 +330,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>passedPrefix</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.42">passedPrefix</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.43">passedPrefix</a></pre>
 </li>
 </ul>
 <a name="filterRow">
@@ -331,7 +339,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>filterRow</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.43">filterRow</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.44">filterRow</a></pre>
 </li>
 </ul>
 </li>
@@ -348,7 +356,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PrefixFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.45">PrefixFilter</a>(byte[]&nbsp;prefix)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.46">PrefixFilter</a>(byte[]&nbsp;prefix)</pre>
 </li>
 </ul>
 </li>
@@ -365,7 +373,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getPrefix</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.49">getPrefix</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.50">getPrefix</a>()</pre>
 </li>
 </ul>
 <a name="filterRowKey-org.apache.hadoop.hbase.Cell-">
@@ -374,7 +382,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.54">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.55">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
  false, each KeyValue in the row will be passed to <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-"><code>Filter.filterCell(Cell)</code></a> below.
@@ -400,7 +408,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.81">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.82">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -435,7 +443,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.86">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.87">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -469,7 +477,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.92">filterRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.93">filterRow</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that never filter by rows based on previously gathered state from
  <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-"><code>Filter.filterCell(Cell)</code></a> can inherit this implementation that
@@ -495,7 +503,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.97">reset</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.98">reset</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.
@@ -516,7 +524,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterAllRemaining</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.102">filterAllRemaining</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.103">filterAllRemaining</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.
@@ -539,7 +547,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.106">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.107">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -548,7 +556,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.117">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.118">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -565,7 +573,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">PrefixFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.130">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/PrefixFilter.html" title="class in org.apache.hadoop.hbase.filter">PrefixFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.131">parseFrom</a>(byte[]&nbsp;pbBytes)
                               throws org.apache.hadoop.hbase.exceptions.DeserializationException</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -582,10 +590,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.156">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.157">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -594,6 +602,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.162">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html#line.171">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>


[17/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/FilterListWithOR.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/FilterListWithOR.html b/devapidocs/org/apache/hadoop/hbase/filter/FilterListWithOR.html
index 3282c7f..ece1819 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/FilterListWithOR.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/FilterListWithOR.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -125,7 +125,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.37">FilterListWithOR</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.39">FilterListWithOR</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.html" title="class in org.apache.hadoop.hbase.filter">FilterListBase</a></pre>
 <div class="block">FilterListWithOR represents an ordered list of filters which will be evaluated with an OR
  operator.</div>
@@ -224,18 +224,22 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListWithOR.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListWithOR.html#filterAllRemaining--">filterAllRemaining</a></span>()</code>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListWithOR.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListWithOR.html#filterRow--">filterRow</a></span>()</code>
 <div class="block">Filters that never filter by rows based on previously gathered state from
@@ -243,7 +247,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
  never filters a row.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListWithOR.html#filterRowKey-byte:A-int-int-">filterRowKey</a></span>(byte[]&nbsp;rowKey,
             int&nbsp;offset,
@@ -252,38 +256,42 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
  never filters anything.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListWithOR.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListWithOR.html#formatLogFilters-java.util.List-">formatLogFilters</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;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;logFilters)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListWithOR.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)</code>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListWithOR.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListWithOR.html#mergeReturnCode-org.apache.hadoop.hbase.filter.Filter.ReturnCode-org.apache.hadoop.hbase.filter.Filter.ReturnCode-">mergeReturnCode</a></span>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;rc,
                <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;localRC)</code>
 <div class="block">FilterList with MUST_PASS_ONE choose the minimal forward step among sub-filter in filter list.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListWithOR.html#reset--">reset</a></span>()</code>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListWithOR.html#shouldPassCurrentCellToFilter-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.filter.Filter.ReturnCode-">shouldPassCurrentCellToFilter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;prevCell,
                              <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell,
@@ -293,13 +301,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
  in filter list return SKIP, then the filter list will return SKIP.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListWithOR.html#updatePrevCellList-int-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.filter.Filter.ReturnCode-">updatePrevCellList</a></span>(int&nbsp;index,
                   <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell,
                   <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;currentRC)</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListWithOR.html#updatePrevFilterRCList-int-org.apache.hadoop.hbase.filter.Filter.ReturnCode-">updatePrevFilterRCList</a></span>(int&nbsp;index,
                       <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;currentRC)</code>&nbsp;</td>
@@ -331,7 +339,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -353,7 +361,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>prevFilterRCList</h4>
-<pre>private&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="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.44">prevFilterRCList</a></pre>
+<pre>private&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="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.46">prevFilterRCList</a></pre>
 <div class="block">Save previous return code and previous cell for every filter in filter list. For MUST_PASS_ONE,
  we use the previous return code to decide whether we should pass current cell encountered to
  the filter. For MUST_PASS_ALL, the two list are meaningless.</div>
@@ -365,7 +373,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <ul class="blockListLast">
 <li class="blockList">
 <h4>prevCellList</h4>
-<pre>private&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="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.45">prevCellList</a></pre>
+<pre>private&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="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.47">prevCellList</a></pre>
 </li>
 </ul>
 </li>
@@ -382,7 +390,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FilterListWithOR</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.47">FilterListWithOR</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;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;filters)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.49">FilterListWithOR</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;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;filters)</pre>
 </li>
 </ul>
 </li>
@@ -399,7 +407,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>addFilterLists</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.55">addFilterLists</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;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;filters)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.57">addFilterLists</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;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;filters)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.html#addFilterLists-java.util.List-">addFilterLists</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.html" title="class in org.apache.hadoop.hbase.filter">FilterListBase</a></code></dd>
@@ -412,7 +420,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>formatLogFilters</h4>
-<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.66">formatLogFilters</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;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;logFilters)</pre>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.68">formatLogFilters</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;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;logFilters)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.html#formatLogFilters-java.util.List-">formatLogFilters</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.html" title="class in org.apache.hadoop.hbase.filter">FilterListBase</a></code></dd>
@@ -425,7 +433,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>shouldPassCurrentCellToFilter</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.86">shouldPassCurrentCellToFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;prevCell,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.88">shouldPassCurrentCellToFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;prevCell,
                                               <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell,
                                               <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;prevCode)
                                        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>
@@ -455,7 +463,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>mergeReturnCode</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.146">mergeReturnCode</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;rc,
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.148">mergeReturnCode</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;rc,
                                           <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;localRC)</pre>
 <div class="block">FilterList with MUST_PASS_ONE choose the minimal forward step among sub-filter in filter list.
  Let's call it: The Minimal Step Rule. So if filter-A in filter list return INCLUDE and filter-B
@@ -500,7 +508,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>updatePrevFilterRCList</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.235">updatePrevFilterRCList</a>(int&nbsp;index,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.237">updatePrevFilterRCList</a>(int&nbsp;index,
                                     <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;currentRC)</pre>
 </li>
 </ul>
@@ -510,7 +518,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>updatePrevCellList</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.239">updatePrevCellList</a>(int&nbsp;index,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.241">updatePrevCellList</a>(int&nbsp;index,
                                 <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell,
                                 <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;currentRC)</pre>
 </li>
@@ -521,7 +529,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.251">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.253">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -558,7 +566,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.298">reset</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.300">reset</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#reset--">FilterBase</a></code></span></div>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
@@ -582,7 +590,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.308">filterRowKey</a>(byte[]&nbsp;rowKey,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.310">filterRowKey</a>(byte[]&nbsp;rowKey,
                             int&nbsp;offset,
                             int&nbsp;length)
                      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>
@@ -615,7 +623,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.323">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.325">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -643,7 +651,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>filterAllRemaining</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.341">filterAllRemaining</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.343">filterAllRemaining</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterAllRemaining--">FilterBase</a></code></span></div>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
@@ -669,7 +677,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.354">filterRow</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.356">filterRow</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterRow--">FilterBase</a></code></span></div>
 <div class="block">Filters that never filter by rows based on previously gathered state from
@@ -695,10 +703,10 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <a name="getNextCellHint-org.apache.hadoop.hbase.Cell-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getNextCellHint</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.368">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.370">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">FilterBase</a></code></span></div>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
@@ -721,6 +729,32 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.399">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithOR.html#line.413">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html b/devapidocs/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html
index d274a5f..8a314cd 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":42,"i1":42,"i2":42,"i3":42,"i4":41,"i5":42};
+var methods = {"i0":42,"i1":42,"i2":42,"i3":42,"i4":42,"i5":42,"i6":41,"i7":42};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -129,7 +129,7 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre>@InterfaceAudience.Public
  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.49">FirstKeyValueMatchingQualifiersFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.50">FirstKeyValueMatchingQualifiersFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyOnlyFilter.html" title="class in org.apache.hadoop.hbase.filter">FirstKeyOnlyFilter</a></pre>
 <div class="block">The filter looks for the given columns in KeyValue. Once there is a match for
  any one of the columns, it returns ReturnCode.NEXT_ROW for remaining
@@ -229,31 +229,43 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyOnlyFilte
 </td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#hashCode--">hashCode</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#hasOneMatchingQualifier-org.apache.hadoop.hbase.Cell-">hasOneMatchingQualifier</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 &nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html" title="class in org.apache.hadoop.hbase.filter">FirstKeyValueMatchingQualifiersFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 &nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
@@ -287,7 +299,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyOnlyFilte
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -309,7 +321,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyOnlyFilte
 <ul class="blockListLast">
 <li class="blockList">
 <h4>qualifiers</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;byte[]&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.51">qualifiers</a></pre>
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;byte[]&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.52">qualifiers</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
@@ -327,7 +339,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyOnlyFilte
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FirstKeyValueMatchingQualifiersFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.59">FirstKeyValueMatchingQualifiersFilter</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;byte[]&gt;&nbsp;qualifiers)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.60">FirstKeyValueMatchingQualifiersFilter</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;byte[]&gt;&nbsp;qualifiers)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Constructor which takes a set of columns. As soon as first KeyValue
  matching any of these columns is found, filter moves to next row.</div>
@@ -352,7 +364,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyOnlyFilte
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.65">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.66">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -387,7 +399,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.70">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.71">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -422,7 +434,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>hasOneMatchingQualifier</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.79">hasOneMatchingQualifier</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.80">hasOneMatchingQualifier</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
@@ -432,7 +444,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.92">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.93">toByteArray</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toByteArray--">FilterBase</a></code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
@@ -450,7 +462,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html" title="class in org.apache.hadoop.hbase.filter">FirstKeyValueMatchingQualifiersFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.107">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html" title="class in org.apache.hadoop.hbase.filter">FirstKeyValueMatchingQualifiersFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.108">parseFrom</a>(byte[]&nbsp;pbBytes)
                                                        throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
@@ -468,10 +480,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>areSerializedFieldsEqual</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.129">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.130">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;o)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">FilterBase</a></code></span></div>
 <div class="block">Default implementation so that writers of custom filters aren't forced to implement.</div>
@@ -486,6 +498,34 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.139">equals</a>(<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>&nbsp;obj)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FirstKeyValueMatchingQualifiersFilter.html#line.148">hashCode</a>()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html b/devapidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html
index 247c5be..291197e 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.459">FuzzyRowFilter.Order</a>
+<pre>private static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.460">FuzzyRowFilter.Order</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.Order</a>&gt;</pre>
 <div class="block">Abstracts directional comparisons based on scan direction.</div>
 </li>
@@ -247,7 +247,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>ASC</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.Order</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html#line.460">ASC</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.Order</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html#line.461">ASC</a></pre>
 </li>
 </ul>
 <a name="DESC">
@@ -256,7 +256,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DESC</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.Order</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html#line.487">DESC</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.Order</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html#line.488">DESC</a></pre>
 </li>
 </ul>
 </li>
@@ -273,7 +273,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.Order</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html#line.459">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.Order</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html#line.460">values</a>()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
@@ -293,7 +293,7 @@ for (FuzzyRowFilter.Order c : FuzzyRowFilter.Order.values())
 <ul class="blockList">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.Order</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html#line.459">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.Order</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html#line.460">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 
@@ -315,7 +315,7 @@ not permitted.)</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>orderFor</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.Order</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html#line.515">orderFor</a>(boolean&nbsp;reverse)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.Order</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html#line.516">orderFor</a>(boolean&nbsp;reverse)</pre>
 </li>
 </ul>
 <a name="lt-int-int-">
@@ -324,7 +324,7 @@ not permitted.)</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>lt</h4>
-<pre>public abstract&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html#line.520">lt</a>(int&nbsp;lhs,
+<pre>public abstract&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html#line.521">lt</a>(int&nbsp;lhs,
                            int&nbsp;rhs)</pre>
 <div class="block">Returns true when <code>lhs &lt; rhs</code>.</div>
 </li>
@@ -335,7 +335,7 @@ not permitted.)</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>gt</h4>
-<pre>public abstract&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html#line.523">gt</a>(int&nbsp;lhs,
+<pre>public abstract&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html#line.524">gt</a>(int&nbsp;lhs,
                            int&nbsp;rhs)</pre>
 <div class="block">Returns true when <code>lhs &gt; rhs</code>.</div>
 </li>
@@ -346,7 +346,7 @@ not permitted.)</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>inc</h4>
-<pre>public abstract&nbsp;byte&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html#line.526">inc</a>(byte&nbsp;val)</pre>
+<pre>public abstract&nbsp;byte&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html#line.527">inc</a>(byte&nbsp;val)</pre>
 <div class="block">Returns <code>val</code> incremented by 1.</div>
 </li>
 </ul>
@@ -356,7 +356,7 @@ not permitted.)</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>isMax</h4>
-<pre>public abstract&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html#line.529">isMax</a>(byte&nbsp;val)</pre>
+<pre>public abstract&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html#line.530">isMax</a>(byte&nbsp;val)</pre>
 <div class="block">Return true when <code>val</code> is the maximum value</div>
 </li>
 </ul>
@@ -366,7 +366,7 @@ not permitted.)</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>min</h4>
-<pre>public abstract&nbsp;byte&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html#line.532">min</a>()</pre>
+<pre>public abstract&nbsp;byte&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html#line.533">min</a>()</pre>
 <div class="block">Return the minimum value according to this ordering scheme.</div>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.RowTracker.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.RowTracker.html b/devapidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.RowTracker.html
index b7471f3..68c3854 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.RowTracker.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.RowTracker.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.201">FuzzyRowFilter.RowTracker</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.202">FuzzyRowFilter.RowTracker</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">If we have multiple fuzzy keys, row tracker should improve overall performance. It calculates
  all next rows (one per every fuzzy key) and put them (the fuzzy key is bundled) into a priority
@@ -225,7 +225,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>nextRows</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/PriorityQueue.html?is-external=true" title="class or interface in java.util">PriorityQueue</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[],byte[]&gt;&gt;&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.RowTracker.html#line.202">nextRows</a></pre>
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/PriorityQueue.html?is-external=true" title="class or interface in java.util">PriorityQueue</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[],<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[],byte[]&gt;&gt;&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.RowTracker.html#line.203">nextRows</a></pre>
 </li>
 </ul>
 <a name="initialized">
@@ -234,7 +234,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>initialized</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.RowTracker.html#line.203">initialized</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.RowTracker.html#line.204">initialized</a></pre>
 </li>
 </ul>
 </li>
@@ -251,7 +251,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RowTracker</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.RowTracker.html#line.205">RowTracker</a>()</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.RowTracker.html#line.206">RowTracker</a>()</pre>
 </li>
 </ul>
 </li>
@@ -268,7 +268,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>nextRow</h4>
-<pre>byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.RowTracker.html#line.217">nextRow</a>()</pre>
+<pre>byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.RowTracker.html#line.218">nextRow</a>()</pre>
 </li>
 </ul>
 <a name="updateTracker-org.apache.hadoop.hbase.Cell-">
@@ -277,7 +277,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateTracker</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.RowTracker.html#line.226">updateTracker</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.RowTracker.html#line.227">updateTracker</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)</pre>
 </li>
 </ul>
 <a name="lessThan-org.apache.hadoop.hbase.Cell-byte:A-">
@@ -286,7 +286,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>lessThan</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.RowTracker.html#line.242">lessThan</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell,
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.RowTracker.html#line.243">lessThan</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell,
                  byte[]&nbsp;nextRowKey)</pre>
 </li>
 </ul>
@@ -296,7 +296,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>updateWith</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.RowTracker.html#line.247">updateWith</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.RowTracker.html#line.248">updateWith</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell,
                 <a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[],byte[]&gt;&nbsp;fuzzyData)</pre>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html b/devapidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html
index 5cb2037..8940899 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.317">FuzzyRowFilter.SatisfiesCode</a>
+<pre>static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.html#line.318">FuzzyRowFilter.SatisfiesCode</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.SatisfiesCode</a>&gt;</pre>
 </li>
 </ul>
@@ -219,7 +219,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>YES</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.SatisfiesCode</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html#line.319">YES</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.SatisfiesCode</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html#line.320">YES</a></pre>
 <div class="block">row satisfies fuzzy rule</div>
 </li>
 </ul>
@@ -229,7 +229,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>NEXT_EXISTS</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.SatisfiesCode</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html#line.321">NEXT_EXISTS</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.SatisfiesCode</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html#line.322">NEXT_EXISTS</a></pre>
 <div class="block">row doesn't satisfy fuzzy rule, but there's possible greater row that does</div>
 </li>
 </ul>
@@ -239,7 +239,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>NO_NEXT</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.SatisfiesCode</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html#line.323">NO_NEXT</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.SatisfiesCode</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html#line.324">NO_NEXT</a></pre>
 <div class="block">row doesn't satisfy fuzzy rule and there's no greater row that does</div>
 </li>
 </ul>
@@ -257,7 +257,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.SatisfiesCode</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html#line.317">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.SatisfiesCode</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html#line.318">values</a>()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
@@ -277,7 +277,7 @@ for (FuzzyRowFilter.SatisfiesCode c : FuzzyRowFilter.SatisfiesCode.values())
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.SatisfiesCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html#line.317">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter">FuzzyRowFilter.SatisfiesCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html#line.318">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 


[05/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html b/devapidocs/src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html
index d206019..9475950 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/filter/ColumnPrefixFilter.html
@@ -29,147 +29,162 @@
 <span class="sourceLineNo">021</span><a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
 <span class="sourceLineNo">023</span>import java.util.ArrayList;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.ByteBufferExtendedCell;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.Cell;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.PrivateCellUtil;<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>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.util.ByteBufferUtils;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.32"></a>
-<span class="sourceLineNo">033</span><a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>/**<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * This filter is used for selecting only those keys with columns that matches<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * a particular prefix. For example, if prefix is 'an', it will pass keys with<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * columns like 'and', 'anti' but not keys with columns like 'ball', 'act'.<a name="line.41"></a>
-<span class="sourceLineNo">042</span> */<a name="line.42"></a>
-<span class="sourceLineNo">043</span>@InterfaceAudience.Public<a name="line.43"></a>
-<span class="sourceLineNo">044</span>public class ColumnPrefixFilter extends FilterBase {<a name="line.44"></a>
-<span class="sourceLineNo">045</span>  protected byte [] prefix = null;<a name="line.45"></a>
-<span class="sourceLineNo">046</span><a name="line.46"></a>
-<span class="sourceLineNo">047</span>  public ColumnPrefixFilter(final byte [] prefix) {<a name="line.47"></a>
-<span class="sourceLineNo">048</span>    this.prefix = prefix;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>  }<a name="line.49"></a>
-<span class="sourceLineNo">050</span><a name="line.50"></a>
-<span class="sourceLineNo">051</span>  public byte[] getPrefix() {<a name="line.51"></a>
-<span class="sourceLineNo">052</span>    return prefix;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  }<a name="line.53"></a>
-<span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>  @Override<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.56"></a>
-<span class="sourceLineNo">057</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.57"></a>
-<span class="sourceLineNo">058</span>    return false;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  }<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span>  @Deprecated<a name="line.61"></a>
-<span class="sourceLineNo">062</span>  @Override<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    return filterCell(c);<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  }<a name="line.65"></a>
-<span class="sourceLineNo">066</span><a name="line.66"></a>
-<span class="sourceLineNo">067</span>  @Override<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  public ReturnCode filterCell(final Cell cell) {<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    if (this.prefix == null) {<a name="line.69"></a>
-<span class="sourceLineNo">070</span>      return ReturnCode.INCLUDE;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    } else {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      return filterColumn(cell);<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>  public ReturnCode filterColumn(Cell cell) {<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    int qualifierLength = cell.getQualifierLength();<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    if (qualifierLength &lt; prefix.length) {<a name="line.78"></a>
-<span class="sourceLineNo">079</span>      int cmp = compareQualifierPart(cell, qualifierLength, this.prefix);<a name="line.79"></a>
-<span class="sourceLineNo">080</span>      if (cmp &lt;= 0) {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>        return ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>      } else {<a name="line.82"></a>
-<span class="sourceLineNo">083</span>        return ReturnCode.NEXT_ROW;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>      }<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    } else {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      int cmp = compareQualifierPart(cell, this.prefix.length, this.prefix);<a name="line.86"></a>
-<span class="sourceLineNo">087</span>      if (cmp &lt; 0) {<a name="line.87"></a>
-<span class="sourceLineNo">088</span>        return ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>      } else if (cmp &gt; 0) {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>        return ReturnCode.NEXT_ROW;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>      } else {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>        return ReturnCode.INCLUDE;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      }<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    }<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  }<a name="line.95"></a>
-<span class="sourceLineNo">096</span><a name="line.96"></a>
-<span class="sourceLineNo">097</span>  private static int compareQualifierPart(Cell cell, int length, byte[] prefix) {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    if (cell instanceof ByteBufferExtendedCell) {<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      return ByteBufferUtils.compareTo(((ByteBufferExtendedCell) cell).getQualifierByteBuffer(),<a name="line.99"></a>
-<span class="sourceLineNo">100</span>          ((ByteBufferExtendedCell) cell).getQualifierPosition(), length, prefix, 0, length);<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    }<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    return Bytes.compareTo(cell.getQualifierArray(), cell.getQualifierOffset(), length, prefix, 0,<a name="line.102"></a>
-<span class="sourceLineNo">103</span>        length);<a name="line.103"></a>
-<span class="sourceLineNo">104</span>  }<a name="line.104"></a>
-<span class="sourceLineNo">105</span><a name="line.105"></a>
-<span class="sourceLineNo">106</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    Preconditions.checkArgument(filterArguments.size() == 1,<a name="line.107"></a>
-<span class="sourceLineNo">108</span>                                "Expected 1 but got: %s", filterArguments.size());<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    byte [] columnPrefix = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    return new ColumnPrefixFilter(columnPrefix);<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  }<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>  /**<a name="line.113"></a>
-<span class="sourceLineNo">114</span>   * @return The filter serialized using pb<a name="line.114"></a>
-<span class="sourceLineNo">115</span>   */<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  @Override<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  public byte [] toByteArray() {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    FilterProtos.ColumnPrefixFilter.Builder builder =<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      FilterProtos.ColumnPrefixFilter.newBuilder();<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    if (this.prefix != null) builder.setPrefix(UnsafeByteOperations.unsafeWrap(this.prefix));<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    return builder.build().toByteArray();<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>  /**<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   * @param pbBytes A pb serialized {@link ColumnPrefixFilter} instance<a name="line.125"></a>
-<span class="sourceLineNo">126</span>   * @return An instance of {@link ColumnPrefixFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>   * @throws org.apache.hadoop.hbase.exceptions.DeserializationException<a name="line.127"></a>
-<span class="sourceLineNo">128</span>   * @see #toByteArray<a name="line.128"></a>
-<span class="sourceLineNo">129</span>   */<a name="line.129"></a>
-<span class="sourceLineNo">130</span>  public static ColumnPrefixFilter parseFrom(final byte [] pbBytes)<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  throws DeserializationException {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    FilterProtos.ColumnPrefixFilter proto;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    try {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      proto = FilterProtos.ColumnPrefixFilter.parseFrom(pbBytes);<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    } catch (InvalidProtocolBufferException e) {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      throw new DeserializationException(e);<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    }<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    return new ColumnPrefixFilter(proto.getPrefix().toByteArray());<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  }<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>  /**<a name="line.141"></a>
-<span class="sourceLineNo">142</span>   * @param o the other filter to compare with<a name="line.142"></a>
-<span class="sourceLineNo">143</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.143"></a>
-<span class="sourceLineNo">144</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   */<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  @Override<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>   if (o == this) return true;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>   if (!(o instanceof ColumnPrefixFilter)) return false;<a name="line.149"></a>
-<span class="sourceLineNo">150</span><a name="line.150"></a>
-<span class="sourceLineNo">151</span>   ColumnPrefixFilter other = (ColumnPrefixFilter)o;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    return Bytes.equals(this.getPrefix(), other.getPrefix());<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>  @Override<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  public Cell getNextCellHint(Cell cell) {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    return PrivateCellUtil.createFirstOnRowCol(cell, prefix, 0, prefix.length);<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  }<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>  @Override<a name="line.160"></a>
-<span class="sourceLineNo">161</span>  public String toString() {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    return this.getClass().getSimpleName() + " " + Bytes.toStringBinary(this.prefix);<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  }<a name="line.163"></a>
-<span class="sourceLineNo">164</span>}<a name="line.164"></a>
+<span class="sourceLineNo">024</span>import java.util.Objects;<a name="line.24"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.ByteBufferExtendedCell;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.Cell;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.util.ByteBufferUtils;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.33"></a>
+<span class="sourceLineNo">034</span><a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.37"></a>
+<span class="sourceLineNo">038</span><a name="line.38"></a>
+<span class="sourceLineNo">039</span>/**<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * This filter is used for selecting only those keys with columns that matches<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * a particular prefix. For example, if prefix is 'an', it will pass keys with<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * columns like 'and', 'anti' but not keys with columns like 'ball', 'act'.<a name="line.42"></a>
+<span class="sourceLineNo">043</span> */<a name="line.43"></a>
+<span class="sourceLineNo">044</span>@InterfaceAudience.Public<a name="line.44"></a>
+<span class="sourceLineNo">045</span>public class ColumnPrefixFilter extends FilterBase {<a name="line.45"></a>
+<span class="sourceLineNo">046</span>  protected byte [] prefix = null;<a name="line.46"></a>
+<span class="sourceLineNo">047</span><a name="line.47"></a>
+<span class="sourceLineNo">048</span>  public ColumnPrefixFilter(final byte [] prefix) {<a name="line.48"></a>
+<span class="sourceLineNo">049</span>    this.prefix = prefix;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>  }<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>  public byte[] getPrefix() {<a name="line.52"></a>
+<span class="sourceLineNo">053</span>    return prefix;<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>  @Override<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    return false;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  }<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span>  @Deprecated<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  @Override<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    return filterCell(c);<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  }<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span>  @Override<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  public ReturnCode filterCell(final Cell cell) {<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    if (this.prefix == null) {<a name="line.70"></a>
+<span class="sourceLineNo">071</span>      return ReturnCode.INCLUDE;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    } else {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>      return filterColumn(cell);<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>  public ReturnCode filterColumn(Cell cell) {<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    int qualifierLength = cell.getQualifierLength();<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    if (qualifierLength &lt; prefix.length) {<a name="line.79"></a>
+<span class="sourceLineNo">080</span>      int cmp = compareQualifierPart(cell, qualifierLength, this.prefix);<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      if (cmp &lt;= 0) {<a name="line.81"></a>
+<span class="sourceLineNo">082</span>        return ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>      } else {<a name="line.83"></a>
+<span class="sourceLineNo">084</span>        return ReturnCode.NEXT_ROW;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>      }<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    } else {<a name="line.86"></a>
+<span class="sourceLineNo">087</span>      int cmp = compareQualifierPart(cell, this.prefix.length, this.prefix);<a name="line.87"></a>
+<span class="sourceLineNo">088</span>      if (cmp &lt; 0) {<a name="line.88"></a>
+<span class="sourceLineNo">089</span>        return ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>      } else if (cmp &gt; 0) {<a name="line.90"></a>
+<span class="sourceLineNo">091</span>        return ReturnCode.NEXT_ROW;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>      } else {<a name="line.92"></a>
+<span class="sourceLineNo">093</span>        return ReturnCode.INCLUDE;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      }<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    }<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  }<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>  private static int compareQualifierPart(Cell cell, int length, byte[] prefix) {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    if (cell instanceof ByteBufferExtendedCell) {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      return ByteBufferUtils.compareTo(((ByteBufferExtendedCell) cell).getQualifierByteBuffer(),<a name="line.100"></a>
+<span class="sourceLineNo">101</span>          ((ByteBufferExtendedCell) cell).getQualifierPosition(), length, prefix, 0, length);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    }<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    return Bytes.compareTo(cell.getQualifierArray(), cell.getQualifierOffset(), length, prefix, 0,<a name="line.103"></a>
+<span class="sourceLineNo">104</span>        length);<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  }<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    Preconditions.checkArgument(filterArguments.size() == 1,<a name="line.108"></a>
+<span class="sourceLineNo">109</span>                                "Expected 1 but got: %s", filterArguments.size());<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    byte [] columnPrefix = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    return new ColumnPrefixFilter(columnPrefix);<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  }<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>  /**<a name="line.114"></a>
+<span class="sourceLineNo">115</span>   * @return The filter serialized using pb<a name="line.115"></a>
+<span class="sourceLineNo">116</span>   */<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  @Override<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  public byte [] toByteArray() {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    FilterProtos.ColumnPrefixFilter.Builder builder =<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      FilterProtos.ColumnPrefixFilter.newBuilder();<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    if (this.prefix != null) builder.setPrefix(UnsafeByteOperations.unsafeWrap(this.prefix));<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    return builder.build().toByteArray();<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>  /**<a name="line.125"></a>
+<span class="sourceLineNo">126</span>   * @param pbBytes A pb serialized {@link ColumnPrefixFilter} instance<a name="line.126"></a>
+<span class="sourceLineNo">127</span>   * @return An instance of {@link ColumnPrefixFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>   * @throws org.apache.hadoop.hbase.exceptions.DeserializationException<a name="line.128"></a>
+<span class="sourceLineNo">129</span>   * @see #toByteArray<a name="line.129"></a>
+<span class="sourceLineNo">130</span>   */<a name="line.130"></a>
+<span class="sourceLineNo">131</span>  public static ColumnPrefixFilter parseFrom(final byte [] pbBytes)<a name="line.131"></a>
+<span class="sourceLineNo">132</span>  throws DeserializationException {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    FilterProtos.ColumnPrefixFilter proto;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    try {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      proto = FilterProtos.ColumnPrefixFilter.parseFrom(pbBytes);<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    } catch (InvalidProtocolBufferException e) {<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      throw new DeserializationException(e);<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    }<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    return new ColumnPrefixFilter(proto.getPrefix().toByteArray());<a name="line.139"></a>
+<span class="sourceLineNo">140</span>  }<a name="line.140"></a>
+<span class="sourceLineNo">141</span><a name="line.141"></a>
+<span class="sourceLineNo">142</span>  /**<a name="line.142"></a>
+<span class="sourceLineNo">143</span>   * @param o the other filter to compare with<a name="line.143"></a>
+<span class="sourceLineNo">144</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.144"></a>
+<span class="sourceLineNo">145</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   */<a name="line.146"></a>
+<span class="sourceLineNo">147</span>  @Override<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   if (o == this) return true;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>   if (!(o instanceof ColumnPrefixFilter)) return false;<a name="line.150"></a>
+<span class="sourceLineNo">151</span><a name="line.151"></a>
+<span class="sourceLineNo">152</span>   ColumnPrefixFilter other = (ColumnPrefixFilter)o;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    return Bytes.equals(this.getPrefix(), other.getPrefix());<a name="line.153"></a>
+<span class="sourceLineNo">154</span>  }<a name="line.154"></a>
+<span class="sourceLineNo">155</span><a name="line.155"></a>
+<span class="sourceLineNo">156</span>  @Override<a name="line.156"></a>
+<span class="sourceLineNo">157</span>  public Cell getNextCellHint(Cell cell) {<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    return PrivateCellUtil.createFirstOnRowCol(cell, prefix, 0, prefix.length);<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  }<a name="line.159"></a>
+<span class="sourceLineNo">160</span><a name="line.160"></a>
+<span class="sourceLineNo">161</span>  @Override<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  public String toString() {<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    return this.getClass().getSimpleName() + " " + Bytes.toStringBinary(this.prefix);<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  }<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>  @Override<a name="line.166"></a>
+<span class="sourceLineNo">167</span>  public boolean equals(Object obj) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    if (obj == null || (!(obj instanceof ColumnPrefixFilter))) {<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      return false;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    }<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    ColumnPrefixFilter f = (ColumnPrefixFilter) obj;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    return this.areSerializedFieldsEqual(f);<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>  @Override<a name="line.175"></a>
+<span class="sourceLineNo">176</span>  public int hashCode() {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    return Objects.hash(Bytes.hashCode(this.getPrefix()));<a name="line.177"></a>
+<span class="sourceLineNo">178</span>  }<a name="line.178"></a>
+<span class="sourceLineNo">179</span>}<a name="line.179"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html b/devapidocs/src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html
index a659033..8c66a2c 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/filter/ColumnRangeFilter.html
@@ -31,223 +31,239 @@
 <span class="sourceLineNo">023</span><a name="line.23"></a>
 <span class="sourceLineNo">024</span>import java.io.IOException;<a name="line.24"></a>
 <span class="sourceLineNo">025</span>import java.util.ArrayList;<a name="line.25"></a>
-<span class="sourceLineNo">026</span><a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.Cell;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.35"></a>
-<span class="sourceLineNo">036</span><a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.37"></a>
-<span class="sourceLineNo">038</span><a name="line.38"></a>
-<span class="sourceLineNo">039</span>/**<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * This filter is used for selecting only those keys with columns that are<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * between minColumn to maxColumn. For example, if minColumn is 'an', and<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * maxColumn is 'be', it will pass keys with columns like 'ana', 'bad', but not<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * keys with columns like 'bed', 'eye'<a name="line.43"></a>
-<span class="sourceLineNo">044</span> *<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * If minColumn is null, there is no lower bound. If maxColumn is null, there is<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * no upper bound.<a name="line.46"></a>
-<span class="sourceLineNo">047</span> *<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * minColumnInclusive and maxColumnInclusive specify if the ranges are inclusive<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * or not.<a name="line.49"></a>
-<span class="sourceLineNo">050</span> */<a name="line.50"></a>
-<span class="sourceLineNo">051</span>@InterfaceAudience.Public<a name="line.51"></a>
-<span class="sourceLineNo">052</span>public class ColumnRangeFilter extends FilterBase {<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  protected byte[] minColumn = null;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>  protected boolean minColumnInclusive = true;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>  protected byte[] maxColumn = null;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  protected boolean maxColumnInclusive = false;<a name="line.56"></a>
-<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span>  /**<a name="line.58"></a>
-<span class="sourceLineNo">059</span>   * Create a filter to select those keys with columns that are between minColumn<a name="line.59"></a>
-<span class="sourceLineNo">060</span>   * and maxColumn.<a name="line.60"></a>
-<span class="sourceLineNo">061</span>   * @param minColumn minimum value for the column range. If if it's null,<a name="line.61"></a>
-<span class="sourceLineNo">062</span>   * there is no lower bound.<a name="line.62"></a>
-<span class="sourceLineNo">063</span>   * @param minColumnInclusive if true, include minColumn in the range.<a name="line.63"></a>
-<span class="sourceLineNo">064</span>   * @param maxColumn maximum value for the column range. If it's null,<a name="line.64"></a>
-<span class="sourceLineNo">065</span>   * @param maxColumnInclusive if true, include maxColumn in the range.<a name="line.65"></a>
-<span class="sourceLineNo">066</span>   * there is no upper bound.<a name="line.66"></a>
-<span class="sourceLineNo">067</span>   */<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  public ColumnRangeFilter(final byte[] minColumn, boolean minColumnInclusive,<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      final byte[] maxColumn, boolean maxColumnInclusive) {<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    this.minColumn = minColumn;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    this.minColumnInclusive = minColumnInclusive;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    this.maxColumn = maxColumn;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    this.maxColumnInclusive = maxColumnInclusive;<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>   * @return if min column range is inclusive.<a name="line.77"></a>
-<span class="sourceLineNo">078</span>   */<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  public boolean isMinColumnInclusive() {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    return minColumnInclusive;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  }<a name="line.81"></a>
-<span class="sourceLineNo">082</span><a name="line.82"></a>
-<span class="sourceLineNo">083</span>  /**<a name="line.83"></a>
-<span class="sourceLineNo">084</span>   * @return if max column range is inclusive.<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   */<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  public boolean isMaxColumnInclusive() {<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    return maxColumnInclusive;<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>  /**<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   * @return the min column range for the filter<a name="line.91"></a>
-<span class="sourceLineNo">092</span>   */<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  public byte[] getMinColumn() {<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    return this.minColumn;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  }<a name="line.95"></a>
-<span class="sourceLineNo">096</span><a name="line.96"></a>
-<span class="sourceLineNo">097</span>  /**<a name="line.97"></a>
-<span class="sourceLineNo">098</span>   * @return true if min column is inclusive, false otherwise<a name="line.98"></a>
-<span class="sourceLineNo">099</span>   */<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  public boolean getMinColumnInclusive() {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    return this.minColumnInclusive;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  }<a name="line.102"></a>
-<span class="sourceLineNo">103</span><a name="line.103"></a>
-<span class="sourceLineNo">104</span>  /**<a name="line.104"></a>
-<span class="sourceLineNo">105</span>   * @return the max column range for the filter<a name="line.105"></a>
-<span class="sourceLineNo">106</span>   */<a name="line.106"></a>
-<span class="sourceLineNo">107</span>  public byte[] getMaxColumn() {<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    return this.maxColumn;<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>   * @return true if max column is inclusive, false otherwise<a name="line.112"></a>
-<span class="sourceLineNo">113</span>   */<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  public boolean getMaxColumnInclusive() {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    return this.maxColumnInclusive;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  }<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span>  @Override<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    return false;<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>  @Override<a name="line.124"></a>
-<span class="sourceLineNo">125</span>  @Deprecated<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    return filterCell(c);<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>  @Override<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  public ReturnCode filterCell(final Cell c) {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    int cmpMin = 1;<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>    if (this.minColumn != null) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      cmpMin = CellUtil.compareQualifiers(c, this.minColumn, 0, this.minColumn.length);<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>    if (cmpMin &lt; 0) {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      return ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    }<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span>    if (!this.minColumnInclusive &amp;&amp; cmpMin == 0) {<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      return ReturnCode.NEXT_COL;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    }<a name="line.144"></a>
-<span class="sourceLineNo">145</span><a name="line.145"></a>
-<span class="sourceLineNo">146</span>    if (this.maxColumn == null) {<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      return ReturnCode.INCLUDE;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    }<a name="line.148"></a>
-<span class="sourceLineNo">149</span><a name="line.149"></a>
-<span class="sourceLineNo">150</span>    int cmpMax = CellUtil.compareQualifiers(c, this.maxColumn, 0, this.maxColumn.length);<a name="line.150"></a>
-<span class="sourceLineNo">151</span><a name="line.151"></a>
-<span class="sourceLineNo">152</span>    if ((this.maxColumnInclusive &amp;&amp; cmpMax &lt;= 0) || (!this.maxColumnInclusive &amp;&amp; cmpMax &lt; 0)) {<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      return ReturnCode.INCLUDE;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    }<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>    return ReturnCode.NEXT_ROW;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>  }<a name="line.157"></a>
-<span class="sourceLineNo">158</span><a name="line.158"></a>
-<span class="sourceLineNo">159</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    Preconditions.checkArgument(filterArguments.size() == 4,<a name="line.160"></a>
-<span class="sourceLineNo">161</span>                                "Expected 4 but got: %s", filterArguments.size());<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    byte [] minColumn = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    boolean minColumnInclusive = ParseFilter.convertByteArrayToBoolean(filterArguments.get(1));<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    byte [] maxColumn = ParseFilter.removeQuotesFromByteArray(filterArguments.get(2));<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    boolean maxColumnInclusive = ParseFilter.convertByteArrayToBoolean(filterArguments.get(3));<a name="line.165"></a>
-<span class="sourceLineNo">166</span><a name="line.166"></a>
-<span class="sourceLineNo">167</span>    if (minColumn.length == 0)<a name="line.167"></a>
-<span class="sourceLineNo">168</span>      minColumn = null;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    if (maxColumn.length == 0)<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      maxColumn = null;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    return new ColumnRangeFilter(minColumn, minColumnInclusive,<a name="line.171"></a>
-<span class="sourceLineNo">172</span>                                 maxColumn, maxColumnInclusive);<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>  /**<a name="line.175"></a>
-<span class="sourceLineNo">176</span>   * @return The filter serialized using pb<a name="line.176"></a>
-<span class="sourceLineNo">177</span>   */<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  @Override<a name="line.178"></a>
-<span class="sourceLineNo">179</span>  public byte [] toByteArray() {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    FilterProtos.ColumnRangeFilter.Builder builder =<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      FilterProtos.ColumnRangeFilter.newBuilder();<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    if (this.minColumn != null) builder.setMinColumn(<a name="line.182"></a>
-<span class="sourceLineNo">183</span>        UnsafeByteOperations.unsafeWrap(this.minColumn));<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    builder.setMinColumnInclusive(this.minColumnInclusive);<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    if (this.maxColumn != null) builder.setMaxColumn(<a name="line.185"></a>
-<span class="sourceLineNo">186</span>        UnsafeByteOperations.unsafeWrap(this.maxColumn));<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    builder.setMaxColumnInclusive(this.maxColumnInclusive);<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    return builder.build().toByteArray();<a name="line.188"></a>
-<span class="sourceLineNo">189</span>  }<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>  /**<a name="line.191"></a>
-<span class="sourceLineNo">192</span>   * @param pbBytes A pb serialized {@link ColumnRangeFilter} instance<a name="line.192"></a>
-<span class="sourceLineNo">193</span>   * @return An instance of {@link ColumnRangeFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   * @throws DeserializationException<a name="line.194"></a>
-<span class="sourceLineNo">195</span>   * @see #toByteArray<a name="line.195"></a>
-<span class="sourceLineNo">196</span>   */<a name="line.196"></a>
-<span class="sourceLineNo">197</span>  public static ColumnRangeFilter parseFrom(final byte [] pbBytes)<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  throws DeserializationException {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    FilterProtos.ColumnRangeFilter proto;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    try {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      proto = FilterProtos.ColumnRangeFilter.parseFrom(pbBytes);<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    } catch (InvalidProtocolBufferException e) {<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      throw new DeserializationException(e);<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    }<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    return new ColumnRangeFilter(proto.hasMinColumn()?proto.getMinColumn().toByteArray():null,<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      proto.getMinColumnInclusive(),proto.hasMaxColumn()?proto.getMaxColumn().toByteArray():null,<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      proto.getMaxColumnInclusive());<a name="line.207"></a>
-<span class="sourceLineNo">208</span>  }<a name="line.208"></a>
-<span class="sourceLineNo">209</span><a name="line.209"></a>
-<span class="sourceLineNo">210</span>  /**<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * @param o filter to serialize.<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   * @return true if and only if the fields of the filter that are serialized are equal to the<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   *         corresponding fields in other. Used for testing.<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   */<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  @Override<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    if (o == this) {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      return true;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    }<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    if (!(o instanceof ColumnRangeFilter)) {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      return false;<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    }<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    ColumnRangeFilter other = (ColumnRangeFilter) o;<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    return Bytes.equals(this.getMinColumn(), other.getMinColumn())<a name="line.224"></a>
-<span class="sourceLineNo">225</span>        &amp;&amp; this.getMinColumnInclusive() == other.getMinColumnInclusive()<a name="line.225"></a>
-<span class="sourceLineNo">226</span>        &amp;&amp; Bytes.equals(this.getMaxColumn(), other.getMaxColumn())<a name="line.226"></a>
-<span class="sourceLineNo">227</span>        &amp;&amp; this.getMaxColumnInclusive() == other.getMaxColumnInclusive();<a name="line.227"></a>
-<span class="sourceLineNo">228</span>  }<a name="line.228"></a>
-<span class="sourceLineNo">229</span><a name="line.229"></a>
-<span class="sourceLineNo">230</span>  @Override<a name="line.230"></a>
-<span class="sourceLineNo">231</span>  public Cell getNextCellHint(Cell cell) {<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    return PrivateCellUtil.createFirstOnRowCol(cell, this.minColumn, 0, len(this.minColumn));<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  }<a name="line.233"></a>
-<span class="sourceLineNo">234</span><a name="line.234"></a>
-<span class="sourceLineNo">235</span>  @Override<a name="line.235"></a>
-<span class="sourceLineNo">236</span>  public String toString() {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    return this.getClass().getSimpleName() + " "<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        + (this.minColumnInclusive ? "[" : "(") + Bytes.toStringBinary(this.minColumn)<a name="line.238"></a>
-<span class="sourceLineNo">239</span>        + ", " + Bytes.toStringBinary(this.maxColumn)<a name="line.239"></a>
-<span class="sourceLineNo">240</span>        + (this.maxColumnInclusive ? "]" : ")");<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  }<a name="line.241"></a>
-<span class="sourceLineNo">242</span>}<a name="line.242"></a>
+<span class="sourceLineNo">026</span>import java.util.Objects;<a name="line.26"></a>
+<span class="sourceLineNo">027</span><a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.Cell;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.36"></a>
+<span class="sourceLineNo">037</span><a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.38"></a>
+<span class="sourceLineNo">039</span><a name="line.39"></a>
+<span class="sourceLineNo">040</span>/**<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * This filter is used for selecting only those keys with columns that are<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * between minColumn to maxColumn. For example, if minColumn is 'an', and<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * maxColumn is 'be', it will pass keys with columns like 'ana', 'bad', but not<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * keys with columns like 'bed', 'eye'<a name="line.44"></a>
+<span class="sourceLineNo">045</span> *<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * If minColumn is null, there is no lower bound. If maxColumn is null, there is<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * no upper bound.<a name="line.47"></a>
+<span class="sourceLineNo">048</span> *<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * minColumnInclusive and maxColumnInclusive specify if the ranges are inclusive<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * or not.<a name="line.50"></a>
+<span class="sourceLineNo">051</span> */<a name="line.51"></a>
+<span class="sourceLineNo">052</span>@InterfaceAudience.Public<a name="line.52"></a>
+<span class="sourceLineNo">053</span>public class ColumnRangeFilter extends FilterBase {<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  protected byte[] minColumn = null;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>  protected boolean minColumnInclusive = true;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>  protected byte[] maxColumn = null;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  protected boolean maxColumnInclusive = false;<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>  /**<a name="line.59"></a>
+<span class="sourceLineNo">060</span>   * Create a filter to select those keys with columns that are between minColumn<a name="line.60"></a>
+<span class="sourceLineNo">061</span>   * and maxColumn.<a name="line.61"></a>
+<span class="sourceLineNo">062</span>   * @param minColumn minimum value for the column range. If if it's null,<a name="line.62"></a>
+<span class="sourceLineNo">063</span>   * there is no lower bound.<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   * @param minColumnInclusive if true, include minColumn in the range.<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   * @param maxColumn maximum value for the column range. If it's null,<a name="line.65"></a>
+<span class="sourceLineNo">066</span>   * @param maxColumnInclusive if true, include maxColumn in the range.<a name="line.66"></a>
+<span class="sourceLineNo">067</span>   * there is no upper bound.<a name="line.67"></a>
+<span class="sourceLineNo">068</span>   */<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  public ColumnRangeFilter(final byte[] minColumn, boolean minColumnInclusive,<a name="line.69"></a>
+<span class="sourceLineNo">070</span>      final byte[] maxColumn, boolean maxColumnInclusive) {<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    this.minColumn = minColumn;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    this.minColumnInclusive = minColumnInclusive;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    this.maxColumn = maxColumn;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    this.maxColumnInclusive = maxColumnInclusive;<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>   * @return if min column range is inclusive.<a name="line.78"></a>
+<span class="sourceLineNo">079</span>   */<a name="line.79"></a>
+<span class="sourceLineNo">080</span>  public boolean isMinColumnInclusive() {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>    return minColumnInclusive;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  }<a name="line.82"></a>
+<span class="sourceLineNo">083</span><a name="line.83"></a>
+<span class="sourceLineNo">084</span>  /**<a name="line.84"></a>
+<span class="sourceLineNo">085</span>   * @return if max column range is inclusive.<a name="line.85"></a>
+<span class="sourceLineNo">086</span>   */<a name="line.86"></a>
+<span class="sourceLineNo">087</span>  public boolean isMaxColumnInclusive() {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    return maxColumnInclusive;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>  }<a name="line.89"></a>
+<span class="sourceLineNo">090</span><a name="line.90"></a>
+<span class="sourceLineNo">091</span>  /**<a name="line.91"></a>
+<span class="sourceLineNo">092</span>   * @return the min column range for the filter<a name="line.92"></a>
+<span class="sourceLineNo">093</span>   */<a name="line.93"></a>
+<span class="sourceLineNo">094</span>  public byte[] getMinColumn() {<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    return this.minColumn;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  }<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>  /**<a name="line.98"></a>
+<span class="sourceLineNo">099</span>   * @return true if min column is inclusive, false otherwise<a name="line.99"></a>
+<span class="sourceLineNo">100</span>   */<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  public boolean getMinColumnInclusive() {<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    return this.minColumnInclusive;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  }<a name="line.103"></a>
+<span class="sourceLineNo">104</span><a name="line.104"></a>
+<span class="sourceLineNo">105</span>  /**<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   * @return the max column range for the filter<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   */<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  public byte[] getMaxColumn() {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    return this.maxColumn;<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>  /**<a name="line.112"></a>
+<span class="sourceLineNo">113</span>   * @return true if max column is inclusive, false otherwise<a name="line.113"></a>
+<span class="sourceLineNo">114</span>   */<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  public boolean getMaxColumnInclusive() {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    return this.maxColumnInclusive;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span>  @Override<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    return false;<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>  @Override<a name="line.125"></a>
+<span class="sourceLineNo">126</span>  @Deprecated<a name="line.126"></a>
+<span class="sourceLineNo">127</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    return filterCell(c);<a name="line.128"></a>
+<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span>  @Override<a name="line.131"></a>
+<span class="sourceLineNo">132</span>  public ReturnCode filterCell(final Cell c) {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    int cmpMin = 1;<a name="line.133"></a>
+<span class="sourceLineNo">134</span><a name="line.134"></a>
+<span class="sourceLineNo">135</span>    if (this.minColumn != null) {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>      cmpMin = CellUtil.compareQualifiers(c, this.minColumn, 0, this.minColumn.length);<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>    if (cmpMin &lt; 0) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>      return ReturnCode.SEEK_NEXT_USING_HINT;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    }<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>    if (!this.minColumnInclusive &amp;&amp; cmpMin == 0) {<a name="line.143"></a>
+<span class="sourceLineNo">144</span>      return ReturnCode.NEXT_COL;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    }<a name="line.145"></a>
+<span class="sourceLineNo">146</span><a name="line.146"></a>
+<span class="sourceLineNo">147</span>    if (this.maxColumn == null) {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>      return ReturnCode.INCLUDE;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    }<a name="line.149"></a>
+<span class="sourceLineNo">150</span><a name="line.150"></a>
+<span class="sourceLineNo">151</span>    int cmpMax = CellUtil.compareQualifiers(c, this.maxColumn, 0, this.maxColumn.length);<a name="line.151"></a>
+<span class="sourceLineNo">152</span><a name="line.152"></a>
+<span class="sourceLineNo">153</span>    if ((this.maxColumnInclusive &amp;&amp; cmpMax &lt;= 0) || (!this.maxColumnInclusive &amp;&amp; cmpMax &lt; 0)) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      return ReturnCode.INCLUDE;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    }<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>    return ReturnCode.NEXT_ROW;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  }<a name="line.158"></a>
+<span class="sourceLineNo">159</span><a name="line.159"></a>
+<span class="sourceLineNo">160</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    Preconditions.checkArgument(filterArguments.size() == 4,<a name="line.161"></a>
+<span class="sourceLineNo">162</span>                                "Expected 4 but got: %s", filterArguments.size());<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    byte [] minColumn = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    boolean minColumnInclusive = ParseFilter.convertByteArrayToBoolean(filterArguments.get(1));<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    byte [] maxColumn = ParseFilter.removeQuotesFromByteArray(filterArguments.get(2));<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    boolean maxColumnInclusive = ParseFilter.convertByteArrayToBoolean(filterArguments.get(3));<a name="line.166"></a>
+<span class="sourceLineNo">167</span><a name="line.167"></a>
+<span class="sourceLineNo">168</span>    if (minColumn.length == 0)<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      minColumn = null;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    if (maxColumn.length == 0)<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      maxColumn = null;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    return new ColumnRangeFilter(minColumn, minColumnInclusive,<a name="line.172"></a>
+<span class="sourceLineNo">173</span>                                 maxColumn, maxColumnInclusive);<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>  /**<a name="line.176"></a>
+<span class="sourceLineNo">177</span>   * @return The filter serialized using pb<a name="line.177"></a>
+<span class="sourceLineNo">178</span>   */<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  @Override<a name="line.179"></a>
+<span class="sourceLineNo">180</span>  public byte [] toByteArray() {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    FilterProtos.ColumnRangeFilter.Builder builder =<a name="line.181"></a>
+<span class="sourceLineNo">182</span>      FilterProtos.ColumnRangeFilter.newBuilder();<a name="line.182"></a>
+<span class="sourceLineNo">183</span>    if (this.minColumn != null) builder.setMinColumn(<a name="line.183"></a>
+<span class="sourceLineNo">184</span>        UnsafeByteOperations.unsafeWrap(this.minColumn));<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    builder.setMinColumnInclusive(this.minColumnInclusive);<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    if (this.maxColumn != null) builder.setMaxColumn(<a name="line.186"></a>
+<span class="sourceLineNo">187</span>        UnsafeByteOperations.unsafeWrap(this.maxColumn));<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    builder.setMaxColumnInclusive(this.maxColumnInclusive);<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    return builder.build().toByteArray();<a name="line.189"></a>
+<span class="sourceLineNo">190</span>  }<a name="line.190"></a>
+<span class="sourceLineNo">191</span><a name="line.191"></a>
+<span class="sourceLineNo">192</span>  /**<a name="line.192"></a>
+<span class="sourceLineNo">193</span>   * @param pbBytes A pb serialized {@link ColumnRangeFilter} instance<a name="line.193"></a>
+<span class="sourceLineNo">194</span>   * @return An instance of {@link ColumnRangeFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>   * @throws DeserializationException<a name="line.195"></a>
+<span class="sourceLineNo">196</span>   * @see #toByteArray<a name="line.196"></a>
+<span class="sourceLineNo">197</span>   */<a name="line.197"></a>
+<span class="sourceLineNo">198</span>  public static ColumnRangeFilter parseFrom(final byte [] pbBytes)<a name="line.198"></a>
+<span class="sourceLineNo">199</span>  throws DeserializationException {<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    FilterProtos.ColumnRangeFilter proto;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    try {<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      proto = FilterProtos.ColumnRangeFilter.parseFrom(pbBytes);<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    } catch (InvalidProtocolBufferException e) {<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      throw new DeserializationException(e);<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    }<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    return new ColumnRangeFilter(proto.hasMinColumn()?proto.getMinColumn().toByteArray():null,<a name="line.206"></a>
+<span class="sourceLineNo">207</span>      proto.getMinColumnInclusive(),proto.hasMaxColumn()?proto.getMaxColumn().toByteArray():null,<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      proto.getMaxColumnInclusive());<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  }<a name="line.209"></a>
+<span class="sourceLineNo">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span>  /**<a name="line.211"></a>
+<span class="sourceLineNo">212</span>   * @param o filter to serialize.<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   * @return true if and only if the fields of the filter that are serialized are equal to the<a name="line.213"></a>
+<span class="sourceLineNo">214</span>   *         corresponding fields in other. Used for testing.<a name="line.214"></a>
+<span class="sourceLineNo">215</span>   */<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  @Override<a name="line.216"></a>
+<span class="sourceLineNo">217</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    if (o == this) {<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      return true;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    }<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    if (!(o instanceof ColumnRangeFilter)) {<a name="line.221"></a>
+<span class="sourceLineNo">222</span>      return false;<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    }<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    ColumnRangeFilter other = (ColumnRangeFilter) o;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    return Bytes.equals(this.getMinColumn(), other.getMinColumn())<a name="line.225"></a>
+<span class="sourceLineNo">226</span>        &amp;&amp; this.getMinColumnInclusive() == other.getMinColumnInclusive()<a name="line.226"></a>
+<span class="sourceLineNo">227</span>        &amp;&amp; Bytes.equals(this.getMaxColumn(), other.getMaxColumn())<a name="line.227"></a>
+<span class="sourceLineNo">228</span>        &amp;&amp; this.getMaxColumnInclusive() == other.getMaxColumnInclusive();<a name="line.228"></a>
+<span class="sourceLineNo">229</span>  }<a name="line.229"></a>
+<span class="sourceLineNo">230</span><a name="line.230"></a>
+<span class="sourceLineNo">231</span>  @Override<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  public Cell getNextCellHint(Cell cell) {<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    return PrivateCellUtil.createFirstOnRowCol(cell, this.minColumn, 0, len(this.minColumn));<a name="line.233"></a>
+<span class="sourceLineNo">234</span>  }<a name="line.234"></a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span>  @Override<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  public String toString() {<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    return this.getClass().getSimpleName() + " "<a name="line.238"></a>
+<span class="sourceLineNo">239</span>        + (this.minColumnInclusive ? "[" : "(") + Bytes.toStringBinary(this.minColumn)<a name="line.239"></a>
+<span class="sourceLineNo">240</span>        + ", " + Bytes.toStringBinary(this.maxColumn)<a name="line.240"></a>
+<span class="sourceLineNo">241</span>        + (this.maxColumnInclusive ? "]" : ")");<a name="line.241"></a>
+<span class="sourceLineNo">242</span>  }<a name="line.242"></a>
+<span class="sourceLineNo">243</span><a name="line.243"></a>
+<span class="sourceLineNo">244</span>  @Override<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  public boolean equals(Object obj) {<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    if (obj == null || (!(obj instanceof ColumnRangeFilter))) {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>      return false;<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    }<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    ColumnRangeFilter f = (ColumnRangeFilter) obj;<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    return this.areSerializedFieldsEqual(f);<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  }<a name="line.251"></a>
+<span class="sourceLineNo">252</span><a name="line.252"></a>
+<span class="sourceLineNo">253</span>  @Override<a name="line.253"></a>
+<span class="sourceLineNo">254</span>  public int hashCode() {<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    return Objects.hash(Bytes.toStringBinary(this.getMinColumn()), this.getMinColumnInclusive(),<a name="line.255"></a>
+<span class="sourceLineNo">256</span>        Bytes.toStringBinary(this.getMaxColumn()), this.getMaxColumnInclusive());<a name="line.256"></a>
+<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
+<span class="sourceLineNo">258</span>}<a name="line.258"></a>
 
 
 


[37/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html
index 9425699..f592ec3 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html
@@ -30,296 +30,312 @@
 <span class="sourceLineNo">022</span>import java.util.ArrayList;<a name="line.22"></a>
 <span class="sourceLineNo">023</span>import java.util.HashSet;<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 java.util.Set;<a name="line.25"></a>
-<span class="sourceLineNo">026</span><a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.Cell;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.CompareOperator;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.34"></a>
-<span class="sourceLineNo">035</span><a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.39"></a>
-<span class="sourceLineNo">040</span><a name="line.40"></a>
-<span class="sourceLineNo">041</span>/**<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * A filter for adding inter-column timestamp matching<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * Only cells with a correspondingly timestamped entry in<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * the target column will be retained<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * Not compatible with Scan.setBatch as operations need <a name="line.45"></a>
-<span class="sourceLineNo">046</span> * full rows for correct filtering <a name="line.46"></a>
-<span class="sourceLineNo">047</span> */<a name="line.47"></a>
-<span class="sourceLineNo">048</span>@InterfaceAudience.Public<a name="line.48"></a>
-<span class="sourceLineNo">049</span>public class DependentColumnFilter extends CompareFilter {<a name="line.49"></a>
-<span class="sourceLineNo">050</span><a name="line.50"></a>
-<span class="sourceLineNo">051</span>  protected byte[] columnFamily;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>  protected byte[] columnQualifier;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  protected boolean dropDependentColumn;<a name="line.53"></a>
-<span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>  protected Set&lt;Long&gt; stampSet = new HashSet&lt;&gt;();<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  <a name="line.56"></a>
-<span class="sourceLineNo">057</span>  /**<a name="line.57"></a>
-<span class="sourceLineNo">058</span>   * Build a dependent column filter with value checking<a name="line.58"></a>
-<span class="sourceLineNo">059</span>   * dependent column varies will be compared using the supplied<a name="line.59"></a>
-<span class="sourceLineNo">060</span>   * compareOp and comparator, for usage of which<a name="line.60"></a>
-<span class="sourceLineNo">061</span>   * refer to {@link CompareFilter}<a name="line.61"></a>
-<span class="sourceLineNo">062</span>   * <a name="line.62"></a>
-<span class="sourceLineNo">063</span>   * @param family dependent column family<a name="line.63"></a>
-<span class="sourceLineNo">064</span>   * @param qualifier dependent column qualifier<a name="line.64"></a>
-<span class="sourceLineNo">065</span>   * @param dropDependentColumn whether the column should be discarded after<a name="line.65"></a>
-<span class="sourceLineNo">066</span>   * @param valueCompareOp comparison op <a name="line.66"></a>
-<span class="sourceLineNo">067</span>   * @param valueComparator comparator<a name="line.67"></a>
-<span class="sourceLineNo">068</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0. Use<a name="line.68"></a>
-<span class="sourceLineNo">069</span>   * {@link #DependentColumnFilter(byte[], byte[], boolean, CompareOperator, ByteArrayComparable)}<a name="line.69"></a>
-<span class="sourceLineNo">070</span>   * instead.<a name="line.70"></a>
-<span class="sourceLineNo">071</span>   */<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  @Deprecated<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  public DependentColumnFilter(final byte [] family, final byte[] qualifier,<a name="line.73"></a>
-<span class="sourceLineNo">074</span>      final boolean dropDependentColumn, final CompareOp valueCompareOp,<a name="line.74"></a>
-<span class="sourceLineNo">075</span>        final ByteArrayComparable valueComparator) {<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    this(family, qualifier, dropDependentColumn, CompareOperator.valueOf(valueCompareOp.name()),<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      valueComparator);<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  }<a name="line.78"></a>
-<span class="sourceLineNo">079</span><a name="line.79"></a>
-<span class="sourceLineNo">080</span>  /**<a name="line.80"></a>
-<span class="sourceLineNo">081</span>   * Build a dependent column filter with value checking<a name="line.81"></a>
-<span class="sourceLineNo">082</span>   * dependent column varies will be compared using the supplied<a name="line.82"></a>
-<span class="sourceLineNo">083</span>   * compareOp and comparator, for usage of which<a name="line.83"></a>
-<span class="sourceLineNo">084</span>   * refer to {@link CompareFilter}<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   *<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   * @param family dependent column family<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   * @param qualifier dependent column qualifier<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   * @param dropDependentColumn whether the column should be discarded after<a name="line.88"></a>
-<span class="sourceLineNo">089</span>   * @param op Value comparison op<a name="line.89"></a>
-<span class="sourceLineNo">090</span>   * @param valueComparator comparator<a name="line.90"></a>
-<span class="sourceLineNo">091</span>   */<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  public DependentColumnFilter(final byte [] family, final byte[] qualifier,<a name="line.92"></a>
-<span class="sourceLineNo">093</span>                               final boolean dropDependentColumn, final CompareOperator op,<a name="line.93"></a>
-<span class="sourceLineNo">094</span>                               final ByteArrayComparable valueComparator) {<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    // set up the comparator<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    super(op, valueComparator);<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    this.columnFamily = family;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    this.columnQualifier = qualifier;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    this.dropDependentColumn = dropDependentColumn;<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>  /**<a name="line.102"></a>
-<span class="sourceLineNo">103</span>   * Constructor for DependentColumn filter.<a name="line.103"></a>
-<span class="sourceLineNo">104</span>   * Cells where a Cell from target column<a name="line.104"></a>
-<span class="sourceLineNo">105</span>   * with the same timestamp do not exist will be dropped.<a name="line.105"></a>
-<span class="sourceLineNo">106</span>   *<a name="line.106"></a>
-<span class="sourceLineNo">107</span>   * @param family name of target column family<a name="line.107"></a>
-<span class="sourceLineNo">108</span>   * @param qualifier name of column qualifier<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   */<a name="line.109"></a>
-<span class="sourceLineNo">110</span>  public DependentColumnFilter(final byte [] family, final byte [] qualifier) {<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    this(family, qualifier, false);<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  }<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  <a name="line.113"></a>
-<span class="sourceLineNo">114</span>  /**<a name="line.114"></a>
-<span class="sourceLineNo">115</span>   * Constructor for DependentColumn filter.<a name="line.115"></a>
-<span class="sourceLineNo">116</span>   * Cells where a Cell from target column<a name="line.116"></a>
-<span class="sourceLineNo">117</span>   * with the same timestamp do not exist will be dropped.<a name="line.117"></a>
-<span class="sourceLineNo">118</span>   *<a name="line.118"></a>
-<span class="sourceLineNo">119</span>   * @param family name of dependent column family<a name="line.119"></a>
-<span class="sourceLineNo">120</span>   * @param qualifier name of dependent qualifier<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   * @param dropDependentColumn whether the dependent columns Cells should be discarded<a name="line.121"></a>
-<span class="sourceLineNo">122</span>   */<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  public DependentColumnFilter(final byte [] family, final byte [] qualifier,<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      final boolean dropDependentColumn) {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    this(family, qualifier, dropDependentColumn, CompareOp.NO_OP, null);<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>   * @return the column family<a name="line.129"></a>
-<span class="sourceLineNo">130</span>   */<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  public byte[] getFamily() {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    return this.columnFamily;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  }<a name="line.133"></a>
-<span class="sourceLineNo">134</span><a name="line.134"></a>
-<span class="sourceLineNo">135</span>  /**<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * @return the column qualifier<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   */<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  public byte[] getQualifier() {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    return this.columnQualifier;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  }<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span>  /**<a name="line.142"></a>
-<span class="sourceLineNo">143</span>   * @return true if we should drop the dependent column, false otherwise<a name="line.143"></a>
-<span class="sourceLineNo">144</span>   */<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  public boolean dropDependentColumn() {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    return this.dropDependentColumn;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  }<a name="line.147"></a>
-<span class="sourceLineNo">148</span><a name="line.148"></a>
-<span class="sourceLineNo">149</span>  public boolean getDropDependentColumn() {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    return this.dropDependentColumn;<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>  @Override<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  public boolean filterAllRemaining() {<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    return false;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  }<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 ReturnCode filterKeyValue(final Cell c) {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    return filterCell(c);<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 ReturnCode filterCell(final Cell c) {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    // Check if the column and qualifier match<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    if (!CellUtil.matchingColumn(c, this.columnFamily, this.columnQualifier)) {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>        // include non-matches for the time being, they'll be discarded afterwards<a name="line.168"></a>
-<span class="sourceLineNo">169</span>        return ReturnCode.INCLUDE;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    }<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    // If it doesn't pass the op, skip it<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    if (comparator != null<a name="line.172"></a>
-<span class="sourceLineNo">173</span>        &amp;&amp; compareValue(getCompareOperator(), comparator, c))<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      return ReturnCode.SKIP;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  <a name="line.175"></a>
-<span class="sourceLineNo">176</span>    stampSet.add(c.getTimestamp());<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    if(dropDependentColumn) {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      return ReturnCode.SKIP;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    return ReturnCode.INCLUDE;<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">183</span>  @Override<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  public void filterRowCells(List&lt;Cell&gt; kvs) {<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    kvs.removeIf(kv -&gt; !stampSet.contains(kv.getTimestamp()));<a name="line.185"></a>
-<span class="sourceLineNo">186</span>  }<a name="line.186"></a>
-<span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>  @Override<a name="line.188"></a>
-<span class="sourceLineNo">189</span>  public boolean hasFilterRow() {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    return true;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>  }<a name="line.191"></a>
-<span class="sourceLineNo">192</span>  <a name="line.192"></a>
-<span class="sourceLineNo">193</span>  @Override<a name="line.193"></a>
-<span class="sourceLineNo">194</span>  public boolean filterRow() {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    return false;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  }<a name="line.196"></a>
-<span class="sourceLineNo">197</span><a name="line.197"></a>
-<span class="sourceLineNo">198</span>  @Override<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  public boolean filterRowKey(byte[] buffer, int offset, int length) {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    return false;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  }<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  @Override<a name="line.202"></a>
-<span class="sourceLineNo">203</span>  public void reset() {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    stampSet.clear();    <a name="line.204"></a>
-<span class="sourceLineNo">205</span>  }<a name="line.205"></a>
-<span class="sourceLineNo">206</span><a name="line.206"></a>
-<span class="sourceLineNo">207</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    Preconditions.checkArgument(filterArguments.size() == 2 ||<a name="line.208"></a>
-<span class="sourceLineNo">209</span>                                filterArguments.size() == 3 ||<a name="line.209"></a>
-<span class="sourceLineNo">210</span>                                filterArguments.size() == 5,<a name="line.210"></a>
-<span class="sourceLineNo">211</span>                                "Expected 2, 3 or 5 but got: %s", filterArguments.size());<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    if (filterArguments.size() == 2) {<a name="line.212"></a>
-<span class="sourceLineNo">213</span>      byte [] family = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      byte [] qualifier = ParseFilter.removeQuotesFromByteArray(filterArguments.get(1));<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      return new DependentColumnFilter(family, qualifier);<a name="line.215"></a>
-<span class="sourceLineNo">216</span><a name="line.216"></a>
-<span class="sourceLineNo">217</span>    } else if (filterArguments.size() == 3) {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      byte [] family = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      byte [] qualifier = ParseFilter.removeQuotesFromByteArray(filterArguments.get(1));<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      boolean dropDependentColumn = ParseFilter.convertByteArrayToBoolean(filterArguments.get(2));<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      return new DependentColumnFilter(family, qualifier, dropDependentColumn);<a name="line.221"></a>
-<span class="sourceLineNo">222</span><a name="line.222"></a>
-<span class="sourceLineNo">223</span>    } else if (filterArguments.size() == 5) {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      byte [] family = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.224"></a>
-<span class="sourceLineNo">225</span>      byte [] qualifier = ParseFilter.removeQuotesFromByteArray(filterArguments.get(1));<a name="line.225"></a>
-<span class="sourceLineNo">226</span>      boolean dropDependentColumn = ParseFilter.convertByteArrayToBoolean(filterArguments.get(2));<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      CompareOperator op = ParseFilter.createCompareOperator(filterArguments.get(3));<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      ByteArrayComparable comparator = ParseFilter.createComparator(<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        ParseFilter.removeQuotesFromByteArray(filterArguments.get(4)));<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      return new DependentColumnFilter(family, qualifier, dropDependentColumn,<a name="line.230"></a>
-<span class="sourceLineNo">231</span>                                       op, comparator);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    } else {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      throw new IllegalArgumentException("Expected 2, 3 or 5 but got: " + filterArguments.size());<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span>  /**<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   * @return The filter serialized using pb<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   */<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  @Override<a name="line.240"></a>
-<span class="sourceLineNo">241</span>  public byte [] toByteArray() {<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    FilterProtos.DependentColumnFilter.Builder builder =<a name="line.242"></a>
-<span class="sourceLineNo">243</span>      FilterProtos.DependentColumnFilter.newBuilder();<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    builder.setCompareFilter(super.convert());<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    if (this.columnFamily != null) {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      builder.setColumnFamily(UnsafeByteOperations.unsafeWrap(this.columnFamily));<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    }<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    if (this.columnQualifier != null) {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>      builder.setColumnQualifier(UnsafeByteOperations.unsafeWrap(this.columnQualifier));<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    }<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    builder.setDropDependentColumn(this.dropDependentColumn);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    return builder.build().toByteArray();<a name="line.252"></a>
-<span class="sourceLineNo">253</span>  }<a name="line.253"></a>
-<span class="sourceLineNo">254</span><a name="line.254"></a>
-<span class="sourceLineNo">255</span>  /**<a name="line.255"></a>
-<span class="sourceLineNo">256</span>   * @param pbBytes A pb serialized {@link DependentColumnFilter} instance<a name="line.256"></a>
-<span class="sourceLineNo">257</span>   * @return An instance of {@link DependentColumnFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * @throws DeserializationException<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   * @see #toByteArray<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   */<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  public static DependentColumnFilter parseFrom(final byte [] pbBytes)<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  throws DeserializationException {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    FilterProtos.DependentColumnFilter proto;<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    try {<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      proto = FilterProtos.DependentColumnFilter.parseFrom(pbBytes);<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    } catch (InvalidProtocolBufferException e) {<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      throw new DeserializationException(e);<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    }<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    final CompareOperator valueCompareOp =<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    CompareOperator.valueOf(proto.getCompareFilter().getCompareOp().name());<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    ByteArrayComparable valueComparator = null;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    try {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      if (proto.getCompareFilter().hasComparator()) {<a name="line.273"></a>
-<span class="sourceLineNo">274</span>        valueComparator = ProtobufUtil.toComparator(proto.getCompareFilter().getComparator());<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      }<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    } catch (IOException ioe) {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      throw new DeserializationException(ioe);<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    }<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    return new DependentColumnFilter(<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      proto.hasColumnFamily()?proto.getColumnFamily().toByteArray():null,<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      proto.hasColumnQualifier()?proto.getColumnQualifier().toByteArray():null,<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      proto.getDropDependentColumn(), valueCompareOp, valueComparator);<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  }<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>  /**<a name="line.285"></a>
-<span class="sourceLineNo">286</span>   * @param o<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.287"></a>
-<span class="sourceLineNo">288</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.288"></a>
-<span class="sourceLineNo">289</span>   */<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(<a name="line.290"></a>
-<span class="sourceLineNo">291</span>      value="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE")<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  @Override<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    if (o == this) return true;<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    if (!(o instanceof DependentColumnFilter)) return false;<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span>    DependentColumnFilter other = (DependentColumnFilter)o;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    return other != null &amp;&amp; super.areSerializedFieldsEqual(other)<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      &amp;&amp; Bytes.equals(this.getFamily(), other.getFamily())<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      &amp;&amp; Bytes.equals(this.getQualifier(), other.getQualifier())<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      &amp;&amp; this.dropDependentColumn() == other.dropDependentColumn();<a name="line.301"></a>
-<span class="sourceLineNo">302</span>  }<a name="line.302"></a>
-<span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>  @Override<a name="line.304"></a>
-<span class="sourceLineNo">305</span>  public String toString() {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    return String.format("%s (%s, %s, %s, %s, %s)",<a name="line.306"></a>
-<span class="sourceLineNo">307</span>        this.getClass().getSimpleName(),<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        Bytes.toStringBinary(this.columnFamily),<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        Bytes.toStringBinary(this.columnQualifier),<a name="line.309"></a>
-<span class="sourceLineNo">310</span>        this.dropDependentColumn,<a name="line.310"></a>
-<span class="sourceLineNo">311</span>        this.op.name(),<a name="line.311"></a>
-<span class="sourceLineNo">312</span>        this.comparator != null ? Bytes.toStringBinary(this.comparator.getValue()) : "null");<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  }<a name="line.313"></a>
-<span class="sourceLineNo">314</span>}<a name="line.314"></a>
+<span class="sourceLineNo">025</span>import java.util.Objects;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.Set;<a name="line.26"></a>
+<span class="sourceLineNo">027</span><a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.Cell;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.CompareOperator;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.35"></a>
+<span class="sourceLineNo">036</span><a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.37"></a>
+<span class="sourceLineNo">038</span><a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<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> * A filter for adding inter-column timestamp matching<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * Only cells with a correspondingly timestamped entry in<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * the target column will be retained<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * Not compatible with Scan.setBatch as operations need <a name="line.46"></a>
+<span class="sourceLineNo">047</span> * full rows for correct filtering <a name="line.47"></a>
+<span class="sourceLineNo">048</span> */<a name="line.48"></a>
+<span class="sourceLineNo">049</span>@InterfaceAudience.Public<a name="line.49"></a>
+<span class="sourceLineNo">050</span>public class DependentColumnFilter extends CompareFilter {<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>  protected byte[] columnFamily;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>  protected byte[] columnQualifier;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  protected boolean dropDependentColumn;<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>  protected Set&lt;Long&gt; stampSet = new HashSet&lt;&gt;();<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  <a name="line.57"></a>
+<span class="sourceLineNo">058</span>  /**<a name="line.58"></a>
+<span class="sourceLineNo">059</span>   * Build a dependent column filter with value checking<a name="line.59"></a>
+<span class="sourceLineNo">060</span>   * dependent column varies will be compared using the supplied<a name="line.60"></a>
+<span class="sourceLineNo">061</span>   * compareOp and comparator, for usage of which<a name="line.61"></a>
+<span class="sourceLineNo">062</span>   * refer to {@link CompareFilter}<a name="line.62"></a>
+<span class="sourceLineNo">063</span>   * <a name="line.63"></a>
+<span class="sourceLineNo">064</span>   * @param family dependent column family<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   * @param qualifier dependent column qualifier<a name="line.65"></a>
+<span class="sourceLineNo">066</span>   * @param dropDependentColumn whether the column should be discarded after<a name="line.66"></a>
+<span class="sourceLineNo">067</span>   * @param valueCompareOp comparison op <a name="line.67"></a>
+<span class="sourceLineNo">068</span>   * @param valueComparator comparator<a name="line.68"></a>
+<span class="sourceLineNo">069</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0. Use<a name="line.69"></a>
+<span class="sourceLineNo">070</span>   * {@link #DependentColumnFilter(byte[], byte[], boolean, CompareOperator, ByteArrayComparable)}<a name="line.70"></a>
+<span class="sourceLineNo">071</span>   * instead.<a name="line.71"></a>
+<span class="sourceLineNo">072</span>   */<a name="line.72"></a>
+<span class="sourceLineNo">073</span>  @Deprecated<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  public DependentColumnFilter(final byte [] family, final byte[] qualifier,<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      final boolean dropDependentColumn, final CompareOp valueCompareOp,<a name="line.75"></a>
+<span class="sourceLineNo">076</span>        final ByteArrayComparable valueComparator) {<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    this(family, qualifier, dropDependentColumn, CompareOperator.valueOf(valueCompareOp.name()),<a name="line.77"></a>
+<span class="sourceLineNo">078</span>      valueComparator);<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  }<a name="line.79"></a>
+<span class="sourceLineNo">080</span><a name="line.80"></a>
+<span class="sourceLineNo">081</span>  /**<a name="line.81"></a>
+<span class="sourceLineNo">082</span>   * Build a dependent column filter with value checking<a name="line.82"></a>
+<span class="sourceLineNo">083</span>   * dependent column varies will be compared using the supplied<a name="line.83"></a>
+<span class="sourceLineNo">084</span>   * compareOp and comparator, for usage of which<a name="line.84"></a>
+<span class="sourceLineNo">085</span>   * refer to {@link CompareFilter}<a name="line.85"></a>
+<span class="sourceLineNo">086</span>   *<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   * @param family dependent column family<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   * @param qualifier dependent column qualifier<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   * @param dropDependentColumn whether the column should be discarded after<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   * @param op Value comparison op<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   * @param valueComparator comparator<a name="line.91"></a>
+<span class="sourceLineNo">092</span>   */<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  public DependentColumnFilter(final byte [] family, final byte[] qualifier,<a name="line.93"></a>
+<span class="sourceLineNo">094</span>                               final boolean dropDependentColumn, final CompareOperator op,<a name="line.94"></a>
+<span class="sourceLineNo">095</span>                               final ByteArrayComparable valueComparator) {<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    // set up the comparator<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    super(op, valueComparator);<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    this.columnFamily = family;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    this.columnQualifier = qualifier;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    this.dropDependentColumn = dropDependentColumn;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  }<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  <a name="line.102"></a>
+<span class="sourceLineNo">103</span>  /**<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   * Constructor for DependentColumn filter.<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   * Cells where a Cell from target column<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   * with the same timestamp do not exist will be dropped.<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   *<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   * @param family name of target column family<a name="line.108"></a>
+<span class="sourceLineNo">109</span>   * @param qualifier name of column qualifier<a name="line.109"></a>
+<span class="sourceLineNo">110</span>   */<a name="line.110"></a>
+<span class="sourceLineNo">111</span>  public DependentColumnFilter(final byte [] family, final byte [] qualifier) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    this(family, qualifier, false);<a name="line.112"></a>
+<span class="sourceLineNo">113</span>  }<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  <a name="line.114"></a>
+<span class="sourceLineNo">115</span>  /**<a name="line.115"></a>
+<span class="sourceLineNo">116</span>   * Constructor for DependentColumn filter.<a name="line.116"></a>
+<span class="sourceLineNo">117</span>   * Cells where a Cell from target column<a name="line.117"></a>
+<span class="sourceLineNo">118</span>   * with the same timestamp do not exist will be dropped.<a name="line.118"></a>
+<span class="sourceLineNo">119</span>   *<a name="line.119"></a>
+<span class="sourceLineNo">120</span>   * @param family name of dependent column family<a name="line.120"></a>
+<span class="sourceLineNo">121</span>   * @param qualifier name of dependent qualifier<a name="line.121"></a>
+<span class="sourceLineNo">122</span>   * @param dropDependentColumn whether the dependent columns Cells should be discarded<a name="line.122"></a>
+<span class="sourceLineNo">123</span>   */<a name="line.123"></a>
+<span class="sourceLineNo">124</span>  public DependentColumnFilter(final byte [] family, final byte [] qualifier,<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      final boolean dropDependentColumn) {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    this(family, qualifier, dropDependentColumn, CompareOp.NO_OP, null);<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>   * @return the column family<a name="line.130"></a>
+<span class="sourceLineNo">131</span>   */<a name="line.131"></a>
+<span class="sourceLineNo">132</span>  public byte[] getFamily() {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    return this.columnFamily;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>  }<a name="line.134"></a>
+<span class="sourceLineNo">135</span><a name="line.135"></a>
+<span class="sourceLineNo">136</span>  /**<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   * @return the column qualifier<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   */<a name="line.138"></a>
+<span class="sourceLineNo">139</span>  public byte[] getQualifier() {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    return this.columnQualifier;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  /**<a name="line.143"></a>
+<span class="sourceLineNo">144</span>   * @return true if we should drop the dependent column, false otherwise<a name="line.144"></a>
+<span class="sourceLineNo">145</span>   */<a name="line.145"></a>
+<span class="sourceLineNo">146</span>  public boolean dropDependentColumn() {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    return this.dropDependentColumn;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  }<a name="line.148"></a>
+<span class="sourceLineNo">149</span><a name="line.149"></a>
+<span class="sourceLineNo">150</span>  public boolean getDropDependentColumn() {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    return this.dropDependentColumn;<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>  @Override<a name="line.154"></a>
+<span class="sourceLineNo">155</span>  public boolean filterAllRemaining() {<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    return false;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>  }<a name="line.157"></a>
+<span class="sourceLineNo">158</span><a name="line.158"></a>
+<span class="sourceLineNo">159</span>  @Deprecated<a name="line.159"></a>
+<span class="sourceLineNo">160</span>  @Override<a name="line.160"></a>
+<span class="sourceLineNo">161</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    return filterCell(c);<a name="line.162"></a>
+<span class="sourceLineNo">163</span>  }<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>  @Override<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public ReturnCode filterCell(final Cell c) {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    // Check if the column and qualifier match<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    if (!CellUtil.matchingColumn(c, this.columnFamily, this.columnQualifier)) {<a name="line.168"></a>
+<span class="sourceLineNo">169</span>        // include non-matches for the time being, they'll be discarded afterwards<a name="line.169"></a>
+<span class="sourceLineNo">170</span>        return ReturnCode.INCLUDE;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    }<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    // If it doesn't pass the op, skip it<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    if (comparator != null<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        &amp;&amp; compareValue(getCompareOperator(), comparator, c))<a name="line.174"></a>
+<span class="sourceLineNo">175</span>      return ReturnCode.SKIP;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>  <a name="line.176"></a>
+<span class="sourceLineNo">177</span>    stampSet.add(c.getTimestamp());<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    if(dropDependentColumn) {<a name="line.178"></a>
+<span class="sourceLineNo">179</span>      return ReturnCode.SKIP;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    }<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    return ReturnCode.INCLUDE;<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>
+<span class="sourceLineNo">184</span>  @Override<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  public void filterRowCells(List&lt;Cell&gt; kvs) {<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    kvs.removeIf(kv -&gt; !stampSet.contains(kv.getTimestamp()));<a name="line.186"></a>
+<span class="sourceLineNo">187</span>  }<a name="line.187"></a>
+<span class="sourceLineNo">188</span><a name="line.188"></a>
+<span class="sourceLineNo">189</span>  @Override<a name="line.189"></a>
+<span class="sourceLineNo">190</span>  public boolean hasFilterRow() {<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    return true;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  }<a name="line.192"></a>
+<span class="sourceLineNo">193</span>  <a name="line.193"></a>
+<span class="sourceLineNo">194</span>  @Override<a name="line.194"></a>
+<span class="sourceLineNo">195</span>  public boolean filterRow() {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    return false;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>  }<a name="line.197"></a>
+<span class="sourceLineNo">198</span><a name="line.198"></a>
+<span class="sourceLineNo">199</span>  @Override<a name="line.199"></a>
+<span class="sourceLineNo">200</span>  public boolean filterRowKey(byte[] buffer, int offset, int length) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    return false;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>  }<a name="line.202"></a>
+<span class="sourceLineNo">203</span>  @Override<a name="line.203"></a>
+<span class="sourceLineNo">204</span>  public void reset() {<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    stampSet.clear();    <a name="line.205"></a>
+<span class="sourceLineNo">206</span>  }<a name="line.206"></a>
+<span class="sourceLineNo">207</span><a name="line.207"></a>
+<span class="sourceLineNo">208</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    Preconditions.checkArgument(filterArguments.size() == 2 ||<a name="line.209"></a>
+<span class="sourceLineNo">210</span>                                filterArguments.size() == 3 ||<a name="line.210"></a>
+<span class="sourceLineNo">211</span>                                filterArguments.size() == 5,<a name="line.211"></a>
+<span class="sourceLineNo">212</span>                                "Expected 2, 3 or 5 but got: %s", filterArguments.size());<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    if (filterArguments.size() == 2) {<a name="line.213"></a>
+<span class="sourceLineNo">214</span>      byte [] family = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      byte [] qualifier = ParseFilter.removeQuotesFromByteArray(filterArguments.get(1));<a name="line.215"></a>
+<span class="sourceLineNo">216</span>      return new DependentColumnFilter(family, qualifier);<a name="line.216"></a>
+<span class="sourceLineNo">217</span><a name="line.217"></a>
+<span class="sourceLineNo">218</span>    } else if (filterArguments.size() == 3) {<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      byte [] family = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      byte [] qualifier = ParseFilter.removeQuotesFromByteArray(filterArguments.get(1));<a name="line.220"></a>
+<span class="sourceLineNo">221</span>      boolean dropDependentColumn = ParseFilter.convertByteArrayToBoolean(filterArguments.get(2));<a name="line.221"></a>
+<span class="sourceLineNo">222</span>      return new DependentColumnFilter(family, qualifier, dropDependentColumn);<a name="line.222"></a>
+<span class="sourceLineNo">223</span><a name="line.223"></a>
+<span class="sourceLineNo">224</span>    } else if (filterArguments.size() == 5) {<a name="line.224"></a>
+<span class="sourceLineNo">225</span>      byte [] family = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.225"></a>
+<span class="sourceLineNo">226</span>      byte [] qualifier = ParseFilter.removeQuotesFromByteArray(filterArguments.get(1));<a name="line.226"></a>
+<span class="sourceLineNo">227</span>      boolean dropDependentColumn = ParseFilter.convertByteArrayToBoolean(filterArguments.get(2));<a name="line.227"></a>
+<span class="sourceLineNo">228</span>      CompareOperator op = ParseFilter.createCompareOperator(filterArguments.get(3));<a name="line.228"></a>
+<span class="sourceLineNo">229</span>      ByteArrayComparable comparator = ParseFilter.createComparator(<a name="line.229"></a>
+<span class="sourceLineNo">230</span>        ParseFilter.removeQuotesFromByteArray(filterArguments.get(4)));<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      return new DependentColumnFilter(family, qualifier, dropDependentColumn,<a name="line.231"></a>
+<span class="sourceLineNo">232</span>                                       op, comparator);<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    } else {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>      throw new IllegalArgumentException("Expected 2, 3 or 5 but got: " + filterArguments.size());<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    }<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  }<a name="line.236"></a>
+<span class="sourceLineNo">237</span><a name="line.237"></a>
+<span class="sourceLineNo">238</span>  /**<a name="line.238"></a>
+<span class="sourceLineNo">239</span>   * @return The filter serialized using pb<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   */<a name="line.240"></a>
+<span class="sourceLineNo">241</span>  @Override<a name="line.241"></a>
+<span class="sourceLineNo">242</span>  public byte [] toByteArray() {<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    FilterProtos.DependentColumnFilter.Builder builder =<a name="line.243"></a>
+<span class="sourceLineNo">244</span>      FilterProtos.DependentColumnFilter.newBuilder();<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    builder.setCompareFilter(super.convert());<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    if (this.columnFamily != null) {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>      builder.setColumnFamily(UnsafeByteOperations.unsafeWrap(this.columnFamily));<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    }<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    if (this.columnQualifier != null) {<a name="line.249"></a>
+<span class="sourceLineNo">250</span>      builder.setColumnQualifier(UnsafeByteOperations.unsafeWrap(this.columnQualifier));<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    }<a name="line.251"></a>
+<span class="sourceLineNo">252</span>    builder.setDropDependentColumn(this.dropDependentColumn);<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    return builder.build().toByteArray();<a name="line.253"></a>
+<span class="sourceLineNo">254</span>  }<a name="line.254"></a>
+<span class="sourceLineNo">255</span><a name="line.255"></a>
+<span class="sourceLineNo">256</span>  /**<a name="line.256"></a>
+<span class="sourceLineNo">257</span>   * @param pbBytes A pb serialized {@link DependentColumnFilter} instance<a name="line.257"></a>
+<span class="sourceLineNo">258</span>   * @return An instance of {@link DependentColumnFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.258"></a>
+<span class="sourceLineNo">259</span>   * @throws DeserializationException<a name="line.259"></a>
+<span class="sourceLineNo">260</span>   * @see #toByteArray<a name="line.260"></a>
+<span class="sourceLineNo">261</span>   */<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  public static DependentColumnFilter parseFrom(final byte [] pbBytes)<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  throws DeserializationException {<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    FilterProtos.DependentColumnFilter proto;<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    try {<a name="line.265"></a>
+<span class="sourceLineNo">266</span>      proto = FilterProtos.DependentColumnFilter.parseFrom(pbBytes);<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    } catch (InvalidProtocolBufferException e) {<a name="line.267"></a>
+<span class="sourceLineNo">268</span>      throw new DeserializationException(e);<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    }<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    final CompareOperator valueCompareOp =<a name="line.270"></a>
+<span class="sourceLineNo">271</span>    CompareOperator.valueOf(proto.getCompareFilter().getCompareOp().name());<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    ByteArrayComparable valueComparator = null;<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    try {<a name="line.273"></a>
+<span class="sourceLineNo">274</span>      if (proto.getCompareFilter().hasComparator()) {<a name="line.274"></a>
+<span class="sourceLineNo">275</span>        valueComparator = ProtobufUtil.toComparator(proto.getCompareFilter().getComparator());<a name="line.275"></a>
+<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    } catch (IOException ioe) {<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      throw new DeserializationException(ioe);<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    }<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    return new DependentColumnFilter(<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      proto.hasColumnFamily()?proto.getColumnFamily().toByteArray():null,<a name="line.281"></a>
+<span class="sourceLineNo">282</span>      proto.hasColumnQualifier()?proto.getColumnQualifier().toByteArray():null,<a name="line.282"></a>
+<span class="sourceLineNo">283</span>      proto.getDropDependentColumn(), valueCompareOp, valueComparator);<a name="line.283"></a>
+<span class="sourceLineNo">284</span>  }<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span>  /**<a name="line.286"></a>
+<span class="sourceLineNo">287</span>   * @param o<a name="line.287"></a>
+<span class="sourceLineNo">288</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.288"></a>
+<span class="sourceLineNo">289</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.289"></a>
+<span class="sourceLineNo">290</span>   */<a name="line.290"></a>
+<span class="sourceLineNo">291</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      value="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE")<a name="line.292"></a>
+<span class="sourceLineNo">293</span>  @Override<a name="line.293"></a>
+<span class="sourceLineNo">294</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    if (o == this) return true;<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    if (!(o instanceof DependentColumnFilter)) return false;<a name="line.296"></a>
+<span class="sourceLineNo">297</span><a name="line.297"></a>
+<span class="sourceLineNo">298</span>    DependentColumnFilter other = (DependentColumnFilter)o;<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    return other != null &amp;&amp; super.areSerializedFieldsEqual(other)<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      &amp;&amp; Bytes.equals(this.getFamily(), other.getFamily())<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      &amp;&amp; Bytes.equals(this.getQualifier(), other.getQualifier())<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      &amp;&amp; this.dropDependentColumn() == other.dropDependentColumn();<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>  @Override<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  public String toString() {<a name="line.306"></a>
+<span class="sourceLineNo">307</span>    return String.format("%s (%s, %s, %s, %s, %s)",<a name="line.307"></a>
+<span class="sourceLineNo">308</span>        this.getClass().getSimpleName(),<a name="line.308"></a>
+<span class="sourceLineNo">309</span>        Bytes.toStringBinary(this.columnFamily),<a name="line.309"></a>
+<span class="sourceLineNo">310</span>        Bytes.toStringBinary(this.columnQualifier),<a name="line.310"></a>
+<span class="sourceLineNo">311</span>        this.dropDependentColumn,<a name="line.311"></a>
+<span class="sourceLineNo">312</span>        this.op.name(),<a name="line.312"></a>
+<span class="sourceLineNo">313</span>        this.comparator != null ? Bytes.toStringBinary(this.comparator.getValue()) : "null");<a name="line.313"></a>
+<span class="sourceLineNo">314</span>  }<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>  @Override<a name="line.316"></a>
+<span class="sourceLineNo">317</span>  public boolean equals(Object obj) {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    if (obj == null || (!(obj instanceof DependentColumnFilter))) {<a name="line.318"></a>
+<span class="sourceLineNo">319</span>      return false;<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    }<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    DependentColumnFilter f = (DependentColumnFilter) obj;<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    return this.areSerializedFieldsEqual(f);<a name="line.322"></a>
+<span class="sourceLineNo">323</span>  }<a name="line.323"></a>
+<span class="sourceLineNo">324</span><a name="line.324"></a>
+<span class="sourceLineNo">325</span>  @Override<a name="line.325"></a>
+<span class="sourceLineNo">326</span>  public int hashCode() {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>    return Objects.hash(Bytes.hashCode(this.getFamily()), Bytes.hashCode(this.getQualifier()),<a name="line.327"></a>
+<span class="sourceLineNo">328</span>        this.dropDependentColumn());<a name="line.328"></a>
+<span class="sourceLineNo">329</span>  }<a name="line.329"></a>
+<span class="sourceLineNo">330</span>}<a name="line.330"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html
index d3595e6..58e8dfb 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html
@@ -29,132 +29,147 @@
 <span class="sourceLineNo">021</span><a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
 <span class="sourceLineNo">023</span>import java.util.ArrayList;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.CompareOperator;<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>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.31"></a>
-<span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>/**<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * &lt;p&gt;<a name="line.34"></a>
-<span class="sourceLineNo">035</span> * This filter is used to filter based on the column family. It takes an<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * operator (equal, greater, not equal, etc) and a byte [] comparator for the<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * column family portion of a key.<a name="line.37"></a>
-<span class="sourceLineNo">038</span> * &lt;/p&gt;&lt;p&gt;<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * This filter can be wrapped with {@link org.apache.hadoop.hbase.filter.WhileMatchFilter} and {@link org.apache.hadoop.hbase.filter.SkipFilter}<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * to add more control.<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * &lt;/p&gt;&lt;p&gt;<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * Multiple filters can be combined using {@link org.apache.hadoop.hbase.filter.FilterList}.<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * &lt;/p&gt;<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * If an already known column family is looked for, use {@link org.apache.hadoop.hbase.client.Get#addFamily(byte[])}<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * directly rather than a filter.<a name="line.45"></a>
-<span class="sourceLineNo">046</span> */<a name="line.46"></a>
-<span class="sourceLineNo">047</span>@InterfaceAudience.Public<a name="line.47"></a>
-<span class="sourceLineNo">048</span>public class FamilyFilter extends CompareFilter {<a name="line.48"></a>
-<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span>  /**<a name="line.50"></a>
-<span class="sourceLineNo">051</span>   * Constructor.<a name="line.51"></a>
-<span class="sourceLineNo">052</span>   *<a name="line.52"></a>
-<span class="sourceLineNo">053</span>   * @param familyCompareOp  the compare op for column family matching<a name="line.53"></a>
-<span class="sourceLineNo">054</span>   * @param familyComparator the comparator for column family matching<a name="line.54"></a>
-<span class="sourceLineNo">055</span>   * @deprecated  Since 2.0.0. Will be removed in 3.0.0.<a name="line.55"></a>
-<span class="sourceLineNo">056</span>   *  Use {@link #FamilyFilter(CompareOperator, ByteArrayComparable)}<a name="line.56"></a>
-<span class="sourceLineNo">057</span>   */<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  @Deprecated<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  public FamilyFilter(final CompareOp familyCompareOp,<a name="line.59"></a>
-<span class="sourceLineNo">060</span>                      final ByteArrayComparable familyComparator) {<a name="line.60"></a>
-<span class="sourceLineNo">061</span>      super(familyCompareOp, familyComparator);<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>  /**<a name="line.64"></a>
-<span class="sourceLineNo">065</span>   * Constructor.<a name="line.65"></a>
-<span class="sourceLineNo">066</span>   *<a name="line.66"></a>
-<span class="sourceLineNo">067</span>   * @param op  the compare op for column family matching<a name="line.67"></a>
-<span class="sourceLineNo">068</span>   * @param familyComparator the comparator for column family matching<a name="line.68"></a>
-<span class="sourceLineNo">069</span>   */<a name="line.69"></a>
-<span class="sourceLineNo">070</span>  public FamilyFilter(final CompareOperator op,<a name="line.70"></a>
-<span class="sourceLineNo">071</span>                      final ByteArrayComparable familyComparator) {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    super(op, familyComparator);<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>  @Deprecated<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  @Override<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    return filterCell(c);<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  }<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>  @Override<a name="line.81"></a>
-<span class="sourceLineNo">082</span>  public ReturnCode filterCell(final Cell c) {<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    int familyLength = c.getFamilyLength();<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    if (familyLength &gt; 0) {<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      if (compareFamily(getCompareOperator(), this.comparator, c)) {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>        return ReturnCode.NEXT_ROW;<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>    return ReturnCode.INCLUDE;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>  }<a name="line.90"></a>
-<span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    ArrayList&lt;?&gt; arguments = CompareFilter.extractArguments(filterArguments);<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    CompareOperator compareOp = (CompareOperator)arguments.get(0);<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    ByteArrayComparable comparator = (ByteArrayComparable)arguments.get(1);<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    return new FamilyFilter(compareOp, comparator);<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  }<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>   * @return The filter serialized using pb<a name="line.100"></a>
-<span class="sourceLineNo">101</span>   */<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  @Override<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  public byte [] toByteArray() {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    FilterProtos.FamilyFilter.Builder builder =<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      FilterProtos.FamilyFilter.newBuilder();<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    builder.setCompareFilter(super.convert());<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    return builder.build().toByteArray();<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>   * @param pbBytes A pb serialized {@link FamilyFilter} instance<a name="line.111"></a>
-<span class="sourceLineNo">112</span>   * @return An instance of {@link FamilyFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>   * @throws DeserializationException<a name="line.113"></a>
-<span class="sourceLineNo">114</span>   * @see #toByteArray<a name="line.114"></a>
-<span class="sourceLineNo">115</span>   */<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  public static FamilyFilter parseFrom(final byte [] pbBytes)<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  throws DeserializationException {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    FilterProtos.FamilyFilter proto;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    try {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      proto = FilterProtos.FamilyFilter.parseFrom(pbBytes);<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    } catch (InvalidProtocolBufferException e) {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      throw new DeserializationException(e);<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    }<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    final CompareOperator valueCompareOp =<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      CompareOperator.valueOf(proto.getCompareFilter().getCompareOp().name());<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    ByteArrayComparable valueComparator = null;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    try {<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      if (proto.getCompareFilter().hasComparator()) {<a name="line.128"></a>
-<span class="sourceLineNo">129</span>        valueComparator = ProtobufUtil.toComparator(proto.getCompareFilter().getComparator());<a name="line.129"></a>
-<span class="sourceLineNo">130</span>      }<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    } catch (IOException ioe) {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      throw new DeserializationException(ioe);<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    }<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    return new FamilyFilter(valueCompareOp,valueComparator);<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  }<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>   * @return true if and only if the fields of the filter that are serialized<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.139"></a>
-<span class="sourceLineNo">140</span>   */<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  @Override<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    if (o == this) return true;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    if (!(o instanceof FamilyFilter)) return false;<a name="line.144"></a>
-<span class="sourceLineNo">145</span><a name="line.145"></a>
-<span class="sourceLineNo">146</span>    FamilyFilter other = (FamilyFilter)o;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    return super.areSerializedFieldsEqual(other);<a name="line.147"></a>
-<span class="sourceLineNo">148</span> }<a name="line.148"></a>
-<span class="sourceLineNo">149</span>}<a name="line.149"></a>
+<span class="sourceLineNo">024</span>import java.util.Objects;<a name="line.24"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.Cell;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.CompareOperator;<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>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>/**<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * &lt;p&gt;<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * This filter is used to filter based on the column family. It takes an<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * operator (equal, greater, not equal, etc) and a byte [] comparator for the<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * column family portion of a key.<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * &lt;/p&gt;&lt;p&gt;<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * This filter can be wrapped with {@link org.apache.hadoop.hbase.filter.WhileMatchFilter} and {@link org.apache.hadoop.hbase.filter.SkipFilter}<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * to add more control.<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * &lt;/p&gt;&lt;p&gt;<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * Multiple filters can be combined using {@link org.apache.hadoop.hbase.filter.FilterList}.<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * &lt;/p&gt;<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * If an already known column family is looked for, use {@link org.apache.hadoop.hbase.client.Get#addFamily(byte[])}<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * directly rather than a filter.<a name="line.46"></a>
+<span class="sourceLineNo">047</span> */<a name="line.47"></a>
+<span class="sourceLineNo">048</span>@InterfaceAudience.Public<a name="line.48"></a>
+<span class="sourceLineNo">049</span>public class FamilyFilter extends CompareFilter {<a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>  /**<a name="line.51"></a>
+<span class="sourceLineNo">052</span>   * Constructor.<a name="line.52"></a>
+<span class="sourceLineNo">053</span>   *<a name="line.53"></a>
+<span class="sourceLineNo">054</span>   * @param familyCompareOp  the compare op for column family matching<a name="line.54"></a>
+<span class="sourceLineNo">055</span>   * @param familyComparator the comparator for column family matching<a name="line.55"></a>
+<span class="sourceLineNo">056</span>   * @deprecated  Since 2.0.0. Will be removed in 3.0.0.<a name="line.56"></a>
+<span class="sourceLineNo">057</span>   *  Use {@link #FamilyFilter(CompareOperator, ByteArrayComparable)}<a name="line.57"></a>
+<span class="sourceLineNo">058</span>   */<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  @Deprecated<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  public FamilyFilter(final CompareOp familyCompareOp,<a name="line.60"></a>
+<span class="sourceLineNo">061</span>                      final ByteArrayComparable familyComparator) {<a name="line.61"></a>
+<span class="sourceLineNo">062</span>      super(familyCompareOp, familyComparator);<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  }<a name="line.63"></a>
+<span class="sourceLineNo">064</span><a name="line.64"></a>
+<span class="sourceLineNo">065</span>  /**<a name="line.65"></a>
+<span class="sourceLineNo">066</span>   * Constructor.<a name="line.66"></a>
+<span class="sourceLineNo">067</span>   *<a name="line.67"></a>
+<span class="sourceLineNo">068</span>   * @param op  the compare op for column family matching<a name="line.68"></a>
+<span class="sourceLineNo">069</span>   * @param familyComparator the comparator for column family matching<a name="line.69"></a>
+<span class="sourceLineNo">070</span>   */<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  public FamilyFilter(final CompareOperator op,<a name="line.71"></a>
+<span class="sourceLineNo">072</span>                      final ByteArrayComparable familyComparator) {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    super(op, familyComparator);<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>  @Deprecated<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  @Override<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    return filterCell(c);<a name="line.79"></a>
+<span class="sourceLineNo">080</span>  }<a name="line.80"></a>
+<span class="sourceLineNo">081</span><a name="line.81"></a>
+<span class="sourceLineNo">082</span>  @Override<a name="line.82"></a>
+<span class="sourceLineNo">083</span>  public ReturnCode filterCell(final Cell c) {<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    int familyLength = c.getFamilyLength();<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    if (familyLength &gt; 0) {<a name="line.85"></a>
+<span class="sourceLineNo">086</span>      if (compareFamily(getCompareOperator(), this.comparator, c)) {<a name="line.86"></a>
+<span class="sourceLineNo">087</span>        return ReturnCode.NEXT_ROW;<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>    return ReturnCode.INCLUDE;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  }<a name="line.91"></a>
+<span class="sourceLineNo">092</span><a name="line.92"></a>
+<span class="sourceLineNo">093</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    ArrayList&lt;?&gt; arguments = CompareFilter.extractArguments(filterArguments);<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    CompareOperator compareOp = (CompareOperator)arguments.get(0);<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    ByteArrayComparable comparator = (ByteArrayComparable)arguments.get(1);<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    return new FamilyFilter(compareOp, comparator);<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>   * @return The filter serialized using pb<a name="line.101"></a>
+<span class="sourceLineNo">102</span>   */<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  @Override<a name="line.103"></a>
+<span class="sourceLineNo">104</span>  public byte [] toByteArray() {<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    FilterProtos.FamilyFilter.Builder builder =<a name="line.105"></a>
+<span class="sourceLineNo">106</span>      FilterProtos.FamilyFilter.newBuilder();<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    builder.setCompareFilter(super.convert());<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    return builder.build().toByteArray();<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>   * @param pbBytes A pb serialized {@link FamilyFilter} instance<a name="line.112"></a>
+<span class="sourceLineNo">113</span>   * @return An instance of {@link FamilyFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>   * @throws DeserializationException<a name="line.114"></a>
+<span class="sourceLineNo">115</span>   * @see #toByteArray<a name="line.115"></a>
+<span class="sourceLineNo">116</span>   */<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  public static FamilyFilter parseFrom(final byte [] pbBytes)<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  throws DeserializationException {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    FilterProtos.FamilyFilter proto;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    try {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>      proto = FilterProtos.FamilyFilter.parseFrom(pbBytes);<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    } catch (InvalidProtocolBufferException e) {<a name="line.122"></a>
+<span class="sourceLineNo">123</span>      throw new DeserializationException(e);<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    }<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    final CompareOperator valueCompareOp =<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      CompareOperator.valueOf(proto.getCompareFilter().getCompareOp().name());<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    ByteArrayComparable valueComparator = null;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    try {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>      if (proto.getCompareFilter().hasComparator()) {<a name="line.129"></a>
+<span class="sourceLineNo">130</span>        valueComparator = ProtobufUtil.toComparator(proto.getCompareFilter().getComparator());<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      }<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    } catch (IOException ioe) {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      throw new DeserializationException(ioe);<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    }<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    return new FamilyFilter(valueCompareOp,valueComparator);<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>   * @return true if and only if the fields of the filter that are serialized<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.140"></a>
+<span class="sourceLineNo">141</span>   */<a name="line.141"></a>
+<span class="sourceLineNo">142</span>  @Override<a name="line.142"></a>
+<span class="sourceLineNo">143</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    if (o == this) return true;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    if (!(o instanceof FamilyFilter)) return false;<a name="line.145"></a>
+<span class="sourceLineNo">146</span><a name="line.146"></a>
+<span class="sourceLineNo">147</span>    FamilyFilter other = (FamilyFilter)o;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    return super.areSerializedFieldsEqual(other);<a name="line.148"></a>
+<span class="sourceLineNo">149</span> }<a name="line.149"></a>
+<span class="sourceLineNo">150</span><a name="line.150"></a>
+<span class="sourceLineNo">151</span>  @Override<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  public boolean equals(Object obj) {<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    if (obj == null || (!(obj instanceof FamilyFilter))) {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      return false;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    }<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    FamilyFilter f = (FamilyFilter) obj;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    return this.areSerializedFieldsEqual(f);<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  }<a name="line.158"></a>
+<span class="sourceLineNo">159</span><a name="line.159"></a>
+<span class="sourceLineNo">160</span>  @Override<a name="line.160"></a>
+<span class="sourceLineNo">161</span>  public int hashCode() {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    return Objects.hash(this.getComparator(), this.getCompareOperator());<a name="line.162"></a>
+<span class="sourceLineNo">163</span>  }<a name="line.163"></a>
+<span class="sourceLineNo">164</span>}<a name="line.164"></a>
 
 
 


[04/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html b/devapidocs/src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html
index ee5595f..961079a 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/filter/ColumnValueFilter.html
@@ -29,224 +29,240 @@
 <span class="sourceLineNo">021</span><a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
 <span class="sourceLineNo">023</span>import java.util.ArrayList;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.CompareOperator;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.31"></a>
-<span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.35"></a>
-<span class="sourceLineNo">036</span><a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.39"></a>
-<span class="sourceLineNo">040</span><a name="line.40"></a>
-<span class="sourceLineNo">041</span>/**<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * Different from {@link SingleColumnValueFilter} which returns an &lt;b&gt;entire&lt;/b&gt; row<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * when specified condition is matched, {@link ColumnValueFilter} return the matched cell only.<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * &lt;p&gt;<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * This filter is used to filter cells based on column and value.<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * It takes a {@link org.apache.hadoop.hbase.CompareOperator} operator (&lt;, &lt;=, =, !=, &gt;, &gt;=), and<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * and a {@link ByteArrayComparable} comparator.<a name="line.47"></a>
-<span class="sourceLineNo">048</span> */<a name="line.48"></a>
-<span class="sourceLineNo">049</span>@InterfaceAudience.Public<a name="line.49"></a>
-<span class="sourceLineNo">050</span>public class ColumnValueFilter extends FilterBase {<a name="line.50"></a>
-<span class="sourceLineNo">051</span>  private final byte[] family;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>  private final byte[] qualifier;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  private final CompareOperator op;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>  private final ByteArrayComparable comparator;<a name="line.54"></a>
-<span class="sourceLineNo">055</span><a name="line.55"></a>
-<span class="sourceLineNo">056</span>  // This flag is used to speed up seeking cells when matched column is found, such that following<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  // columns in the same row can be skipped faster by NEXT_ROW instead of NEXT_COL.<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  private boolean columnFound = false;<a name="line.58"></a>
-<span class="sourceLineNo">059</span><a name="line.59"></a>
-<span class="sourceLineNo">060</span>  public ColumnValueFilter(final byte[] family, final byte[] qualifier,<a name="line.60"></a>
-<span class="sourceLineNo">061</span>                           final CompareOperator op, final byte[] value) {<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    this(family, qualifier, op, new BinaryComparator(value));<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  }<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span>  public ColumnValueFilter(final byte[] family, final byte[] qualifier,<a name="line.65"></a>
-<span class="sourceLineNo">066</span>                           final CompareOperator op,<a name="line.66"></a>
-<span class="sourceLineNo">067</span>                           final ByteArrayComparable comparator) {<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    this.family = Preconditions.checkNotNull(family, "family should not be null.");<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    this.qualifier = qualifier == null ? new byte[0] : qualifier;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    this.op = Preconditions.checkNotNull(op, "CompareOperator should not be null");<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    this.comparator = Preconditions.checkNotNull(comparator, "Comparator should not be null");<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  }<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>   * @return operator<a name="line.75"></a>
-<span class="sourceLineNo">076</span>   */<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  public CompareOperator getCompareOperator() {<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    return op;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  }<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>  /**<a name="line.81"></a>
-<span class="sourceLineNo">082</span>   * @return the comparator<a name="line.82"></a>
-<span class="sourceLineNo">083</span>   */<a name="line.83"></a>
-<span class="sourceLineNo">084</span>  public ByteArrayComparable getComparator() {<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    return comparator;<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>   * @return the column family<a name="line.89"></a>
-<span class="sourceLineNo">090</span>   */<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  public byte[] getFamily() {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    return family;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  }<a name="line.93"></a>
-<span class="sourceLineNo">094</span><a name="line.94"></a>
-<span class="sourceLineNo">095</span>  /**<a name="line.95"></a>
-<span class="sourceLineNo">096</span>   * @return the qualifier<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   */<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  public byte[] getQualifier() {<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    return qualifier;<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>  @Override<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  public void reset() throws IOException {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    columnFound = false;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  }<a name="line.105"></a>
-<span class="sourceLineNo">106</span><a name="line.106"></a>
-<span class="sourceLineNo">107</span>  @Override<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    return false;<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>  @Override<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public ReturnCode filterCell(Cell c) throws IOException {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    // 1. Check column match<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    if (!CellUtil.matchingColumn(c, this.family, this.qualifier)) {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      return columnFound ? ReturnCode.NEXT_ROW : ReturnCode.NEXT_COL;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    }<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    // Column found<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    columnFound = true;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    // 2. Check value match:<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    // True means filter out, just skip this cell, else include it.<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    return compareValue(getCompareOperator(), getComparator(), c) ?<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      ReturnCode.SKIP : ReturnCode.INCLUDE;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>  }<a name="line.124"></a>
-<span class="sourceLineNo">125</span><a name="line.125"></a>
-<span class="sourceLineNo">126</span>  /**<a name="line.126"></a>
-<span class="sourceLineNo">127</span>   * This method is used to determine a cell should be included or filtered out.<a name="line.127"></a>
-<span class="sourceLineNo">128</span>   * @param op one of operators {@link CompareOperator}<a name="line.128"></a>
-<span class="sourceLineNo">129</span>   * @param comparator comparator used to compare cells.<a name="line.129"></a>
-<span class="sourceLineNo">130</span>   * @param cell cell to be compared.<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   * @return true means cell should be filtered out, included otherwise.<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   */<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  private boolean compareValue(final CompareOperator op, final ByteArrayComparable comparator,<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    final Cell cell) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    if (op == CompareOperator.NO_OP) {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      return true;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    }<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    int compareResult = PrivateCellUtil.compareValue(cell, comparator);<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    return CompareFilter.compare(op, compareResult);<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  }<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span>  /**<a name="line.142"></a>
-<span class="sourceLineNo">143</span>   * Creating this filter by reflection, it is used by {@link ParseFilter},<a name="line.143"></a>
-<span class="sourceLineNo">144</span>   * @param filterArguments arguments for creating a ColumnValueFilter<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   * @return a ColumnValueFilter<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   */<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte[]&gt; filterArguments) {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    Preconditions.checkArgument(filterArguments.size() == 4,<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      "Expect 4 arguments: %s", filterArguments.size());<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    byte[] family = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    byte[] qualifier = ParseFilter.removeQuotesFromByteArray(filterArguments.get(1));<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    CompareOperator operator = ParseFilter.createCompareOperator(filterArguments.get(2));<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    ByteArrayComparable comparator =<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      ParseFilter.createComparator(ParseFilter.removeQuotesFromByteArray(filterArguments.get(3)));<a name="line.154"></a>
-<span class="sourceLineNo">155</span><a name="line.155"></a>
-<span class="sourceLineNo">156</span>    if (comparator instanceof RegexStringComparator ||<a name="line.156"></a>
-<span class="sourceLineNo">157</span>        comparator instanceof SubstringComparator) {<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      if (operator != CompareOperator.EQUAL &amp;&amp;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>          operator != CompareOperator.NOT_EQUAL) {<a name="line.159"></a>
-<span class="sourceLineNo">160</span>        throw new IllegalArgumentException("A regexstring comparator and substring comparator " +<a name="line.160"></a>
-<span class="sourceLineNo">161</span>            "can only be used with EQUAL and NOT_EQUAL");<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><a name="line.164"></a>
-<span class="sourceLineNo">165</span>    return new ColumnValueFilter(family, qualifier, operator, comparator);<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 A pb instance to represent this instance.<a name="line.169"></a>
-<span class="sourceLineNo">170</span>   */<a name="line.170"></a>
-<span class="sourceLineNo">171</span>  FilterProtos.ColumnValueFilter convert() {<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    FilterProtos.ColumnValueFilter.Builder builder =<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      FilterProtos.ColumnValueFilter.newBuilder();<a name="line.173"></a>
-<span class="sourceLineNo">174</span><a name="line.174"></a>
-<span class="sourceLineNo">175</span>    builder.setFamily(UnsafeByteOperations.unsafeWrap(this.family));<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    builder.setQualifier(UnsafeByteOperations.unsafeWrap(this.qualifier));<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    builder.setCompareOp(HBaseProtos.CompareType.valueOf(this.op.name()));<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    builder.setComparator(ProtobufUtil.toComparator(this.comparator));<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span>    return builder.build();<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">183</span>  /**<a name="line.183"></a>
-<span class="sourceLineNo">184</span>   * Parse protobuf bytes to a ColumnValueFilter<a name="line.184"></a>
-<span class="sourceLineNo">185</span>   * @param pbBytes pbBytes<a name="line.185"></a>
-<span class="sourceLineNo">186</span>   * @return a ColumnValueFilter<a name="line.186"></a>
-<span class="sourceLineNo">187</span>   * @throws DeserializationException deserialization exception<a name="line.187"></a>
-<span class="sourceLineNo">188</span>   */<a name="line.188"></a>
-<span class="sourceLineNo">189</span>  public static ColumnValueFilter parseFrom(final byte[] pbBytes) throws DeserializationException {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    FilterProtos.ColumnValueFilter proto;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    try {<a name="line.191"></a>
-<span class="sourceLineNo">192</span>      proto = FilterProtos.ColumnValueFilter.parseFrom(pbBytes);<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    } catch (InvalidProtocolBufferException e) {<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      throw new DeserializationException(e);<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    }<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>    final CompareOperator compareOp = CompareOperator.valueOf(proto.getCompareOp().name());<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    final ByteArrayComparable comparator;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    try {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      comparator = ProtobufUtil.toComparator(proto.getComparator());<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    } catch (IOException ioe) {<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      throw new DeserializationException(ioe);<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    }<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>    return new ColumnValueFilter(proto.getFamily().toByteArray(),<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      proto.getQualifier().toByteArray(), compareOp, comparator);<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  }<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  @Override<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  public byte[] toByteArray() throws IOException {<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    return convert().toByteArray();<a name="line.211"></a>
-<span class="sourceLineNo">212</span>  }<a name="line.212"></a>
-<span class="sourceLineNo">213</span><a name="line.213"></a>
-<span class="sourceLineNo">214</span>  @Override<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    if (o == this) {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      return true;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    } else if (!(o instanceof ColumnValueFilter)) {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      return false;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    }<a name="line.220"></a>
-<span class="sourceLineNo">221</span><a name="line.221"></a>
-<span class="sourceLineNo">222</span>    ColumnValueFilter other = (ColumnValueFilter) o;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    return Bytes.equals(this.getFamily(), other.getFamily()) &amp;&amp;<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      Bytes.equals(this.getQualifier(), other.getQualifier()) &amp;&amp;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>      this.getCompareOperator().equals(other.getCompareOperator()) &amp;&amp;<a name="line.225"></a>
-<span class="sourceLineNo">226</span>      this.getComparator().areSerializedFieldsEqual(other.getComparator());<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  }<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  @Override<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  public boolean isFamilyEssential(byte[] name) throws IOException {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    return Bytes.equals(name, this.family);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
-<span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>  @Override<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  public String toString() {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    return String.format("%s (%s, %s, %s, %s)",<a name="line.236"></a>
-<span class="sourceLineNo">237</span>      getClass().getSimpleName(), Bytes.toStringBinary(this.family),<a name="line.237"></a>
-<span class="sourceLineNo">238</span>      Bytes.toStringBinary(this.qualifier), this.op.name(),<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      Bytes.toStringBinary(this.comparator.getValue()));<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
-<span class="sourceLineNo">241</span>}<a name="line.241"></a>
+<span class="sourceLineNo">024</span>import java.util.Objects;<a name="line.24"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.Cell;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.CompareOperator;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.PrivateCellUtil;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.36"></a>
+<span class="sourceLineNo">037</span><a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<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> * Different from {@link SingleColumnValueFilter} which returns an &lt;b&gt;entire&lt;/b&gt; row<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * when specified condition is matched, {@link ColumnValueFilter} return the matched cell only.<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * &lt;p&gt;<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * This filter is used to filter cells based on column and value.<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * It takes a {@link org.apache.hadoop.hbase.CompareOperator} operator (&lt;, &lt;=, =, !=, &gt;, &gt;=), and<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * and a {@link ByteArrayComparable} comparator.<a name="line.48"></a>
+<span class="sourceLineNo">049</span> */<a name="line.49"></a>
+<span class="sourceLineNo">050</span>@InterfaceAudience.Public<a name="line.50"></a>
+<span class="sourceLineNo">051</span>public class ColumnValueFilter extends FilterBase {<a name="line.51"></a>
+<span class="sourceLineNo">052</span>  private final byte[] family;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>  private final byte[] qualifier;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  private final CompareOperator op;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>  private final ByteArrayComparable comparator;<a name="line.55"></a>
+<span class="sourceLineNo">056</span><a name="line.56"></a>
+<span class="sourceLineNo">057</span>  // This flag is used to speed up seeking cells when matched column is found, such that following<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  // columns in the same row can be skipped faster by NEXT_ROW instead of NEXT_COL.<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  private boolean columnFound = false;<a name="line.59"></a>
+<span class="sourceLineNo">060</span><a name="line.60"></a>
+<span class="sourceLineNo">061</span>  public ColumnValueFilter(final byte[] family, final byte[] qualifier,<a name="line.61"></a>
+<span class="sourceLineNo">062</span>                           final CompareOperator op, final byte[] value) {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    this(family, qualifier, op, new BinaryComparator(value));<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  }<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>  public ColumnValueFilter(final byte[] family, final byte[] qualifier,<a name="line.66"></a>
+<span class="sourceLineNo">067</span>                           final CompareOperator op,<a name="line.67"></a>
+<span class="sourceLineNo">068</span>                           final ByteArrayComparable comparator) {<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    this.family = Preconditions.checkNotNull(family, "family should not be null.");<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    this.qualifier = qualifier == null ? new byte[0] : qualifier;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    this.op = Preconditions.checkNotNull(op, "CompareOperator should not be null");<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    this.comparator = Preconditions.checkNotNull(comparator, "Comparator should not be null");<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>   * @return operator<a name="line.76"></a>
+<span class="sourceLineNo">077</span>   */<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  public CompareOperator getCompareOperator() {<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    return op;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>  }<a name="line.80"></a>
+<span class="sourceLineNo">081</span><a name="line.81"></a>
+<span class="sourceLineNo">082</span>  /**<a name="line.82"></a>
+<span class="sourceLineNo">083</span>   * @return the comparator<a name="line.83"></a>
+<span class="sourceLineNo">084</span>   */<a name="line.84"></a>
+<span class="sourceLineNo">085</span>  public ByteArrayComparable getComparator() {<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    return comparator;<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>   * @return the column family<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   */<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  public byte[] getFamily() {<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    return family;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>  }<a name="line.94"></a>
+<span class="sourceLineNo">095</span><a name="line.95"></a>
+<span class="sourceLineNo">096</span>  /**<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   * @return the qualifier<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   */<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  public byte[] getQualifier() {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    return qualifier;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  }<a name="line.101"></a>
+<span class="sourceLineNo">102</span><a name="line.102"></a>
+<span class="sourceLineNo">103</span>  @Override<a name="line.103"></a>
+<span class="sourceLineNo">104</span>  public void reset() throws IOException {<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    columnFound = false;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  }<a name="line.106"></a>
+<span class="sourceLineNo">107</span><a name="line.107"></a>
+<span class="sourceLineNo">108</span>  @Override<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    return false;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>  }<a name="line.111"></a>
+<span class="sourceLineNo">112</span><a name="line.112"></a>
+<span class="sourceLineNo">113</span>  @Override<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  public ReturnCode filterCell(Cell c) throws IOException {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    // 1. Check column match<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    if (!CellUtil.matchingColumn(c, this.family, this.qualifier)) {<a name="line.116"></a>
+<span class="sourceLineNo">117</span>      return columnFound ? ReturnCode.NEXT_ROW : ReturnCode.NEXT_COL;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    }<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    // Column found<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    columnFound = true;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    // 2. Check value match:<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    // True means filter out, just skip this cell, else include it.<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    return compareValue(getCompareOperator(), getComparator(), c) ?<a name="line.123"></a>
+<span class="sourceLineNo">124</span>      ReturnCode.SKIP : ReturnCode.INCLUDE;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  }<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>   * This method is used to determine a cell should be included or filtered out.<a name="line.128"></a>
+<span class="sourceLineNo">129</span>   * @param op one of operators {@link CompareOperator}<a name="line.129"></a>
+<span class="sourceLineNo">130</span>   * @param comparator comparator used to compare cells.<a name="line.130"></a>
+<span class="sourceLineNo">131</span>   * @param cell cell to be compared.<a name="line.131"></a>
+<span class="sourceLineNo">132</span>   * @return true means cell should be filtered out, included otherwise.<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   */<a name="line.133"></a>
+<span class="sourceLineNo">134</span>  private boolean compareValue(final CompareOperator op, final ByteArrayComparable comparator,<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    final Cell cell) {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    if (op == CompareOperator.NO_OP) {<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      return true;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    }<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    int compareResult = PrivateCellUtil.compareValue(cell, comparator);<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    return CompareFilter.compare(op, compareResult);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  /**<a name="line.143"></a>
+<span class="sourceLineNo">144</span>   * Creating this filter by reflection, it is used by {@link ParseFilter},<a name="line.144"></a>
+<span class="sourceLineNo">145</span>   * @param filterArguments arguments for creating a ColumnValueFilter<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   * @return a ColumnValueFilter<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   */<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte[]&gt; filterArguments) {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    Preconditions.checkArgument(filterArguments.size() == 4,<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      "Expect 4 arguments: %s", filterArguments.size());<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    byte[] family = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    byte[] qualifier = ParseFilter.removeQuotesFromByteArray(filterArguments.get(1));<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    CompareOperator operator = ParseFilter.createCompareOperator(filterArguments.get(2));<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    ByteArrayComparable comparator =<a name="line.154"></a>
+<span class="sourceLineNo">155</span>      ParseFilter.createComparator(ParseFilter.removeQuotesFromByteArray(filterArguments.get(3)));<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>    if (comparator instanceof RegexStringComparator ||<a name="line.157"></a>
+<span class="sourceLineNo">158</span>        comparator instanceof SubstringComparator) {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>      if (operator != CompareOperator.EQUAL &amp;&amp;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>          operator != CompareOperator.NOT_EQUAL) {<a name="line.160"></a>
+<span class="sourceLineNo">161</span>        throw new IllegalArgumentException("A regexstring comparator and substring comparator " +<a name="line.161"></a>
+<span class="sourceLineNo">162</span>            "can only be used with EQUAL and NOT_EQUAL");<a name="line.162"></a>
+<span class="sourceLineNo">163</span>      }<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    }<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>    return new ColumnValueFilter(family, qualifier, operator, comparator);<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 A pb instance to represent this instance.<a name="line.170"></a>
+<span class="sourceLineNo">171</span>   */<a name="line.171"></a>
+<span class="sourceLineNo">172</span>  FilterProtos.ColumnValueFilter convert() {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    FilterProtos.ColumnValueFilter.Builder builder =<a name="line.173"></a>
+<span class="sourceLineNo">174</span>      FilterProtos.ColumnValueFilter.newBuilder();<a name="line.174"></a>
+<span class="sourceLineNo">175</span><a name="line.175"></a>
+<span class="sourceLineNo">176</span>    builder.setFamily(UnsafeByteOperations.unsafeWrap(this.family));<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    builder.setQualifier(UnsafeByteOperations.unsafeWrap(this.qualifier));<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    builder.setCompareOp(HBaseProtos.CompareType.valueOf(this.op.name()));<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    builder.setComparator(ProtobufUtil.toComparator(this.comparator));<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span>    return builder.build();<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>
+<span class="sourceLineNo">184</span>  /**<a name="line.184"></a>
+<span class="sourceLineNo">185</span>   * Parse protobuf bytes to a ColumnValueFilter<a name="line.185"></a>
+<span class="sourceLineNo">186</span>   * @param pbBytes pbBytes<a name="line.186"></a>
+<span class="sourceLineNo">187</span>   * @return a ColumnValueFilter<a name="line.187"></a>
+<span class="sourceLineNo">188</span>   * @throws DeserializationException deserialization exception<a name="line.188"></a>
+<span class="sourceLineNo">189</span>   */<a name="line.189"></a>
+<span class="sourceLineNo">190</span>  public static ColumnValueFilter parseFrom(final byte[] pbBytes) throws DeserializationException {<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    FilterProtos.ColumnValueFilter proto;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    try {<a name="line.192"></a>
+<span class="sourceLineNo">193</span>      proto = FilterProtos.ColumnValueFilter.parseFrom(pbBytes);<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    } catch (InvalidProtocolBufferException e) {<a name="line.194"></a>
+<span class="sourceLineNo">195</span>      throw new DeserializationException(e);<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    }<a name="line.196"></a>
+<span class="sourceLineNo">197</span><a name="line.197"></a>
+<span class="sourceLineNo">198</span>    final CompareOperator compareOp = CompareOperator.valueOf(proto.getCompareOp().name());<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    final ByteArrayComparable comparator;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    try {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      comparator = ProtobufUtil.toComparator(proto.getComparator());<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    } catch (IOException ioe) {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>      throw new DeserializationException(ioe);<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    }<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>    return new ColumnValueFilter(proto.getFamily().toByteArray(),<a name="line.206"></a>
+<span class="sourceLineNo">207</span>      proto.getQualifier().toByteArray(), compareOp, comparator);<a name="line.207"></a>
+<span class="sourceLineNo">208</span>  }<a name="line.208"></a>
+<span class="sourceLineNo">209</span><a name="line.209"></a>
+<span class="sourceLineNo">210</span>  @Override<a name="line.210"></a>
+<span class="sourceLineNo">211</span>  public byte[] toByteArray() throws IOException {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    return convert().toByteArray();<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  }<a name="line.213"></a>
+<span class="sourceLineNo">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span>  @Override<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    if (o == this) {<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      return true;<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    } else if (!(o instanceof ColumnValueFilter)) {<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      return false;<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    }<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>    ColumnValueFilter other = (ColumnValueFilter) o;<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    return Bytes.equals(this.getFamily(), other.getFamily()) &amp;&amp;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>      Bytes.equals(this.getQualifier(), other.getQualifier()) &amp;&amp;<a name="line.225"></a>
+<span class="sourceLineNo">226</span>      this.getCompareOperator().equals(other.getCompareOperator()) &amp;&amp;<a name="line.226"></a>
+<span class="sourceLineNo">227</span>      this.getComparator().areSerializedFieldsEqual(other.getComparator());<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  }<a name="line.228"></a>
+<span class="sourceLineNo">229</span><a name="line.229"></a>
+<span class="sourceLineNo">230</span>  @Override<a name="line.230"></a>
+<span class="sourceLineNo">231</span>  public boolean isFamilyEssential(byte[] name) throws IOException {<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    return Bytes.equals(name, this.family);<a name="line.232"></a>
+<span class="sourceLineNo">233</span>  }<a name="line.233"></a>
+<span class="sourceLineNo">234</span><a name="line.234"></a>
+<span class="sourceLineNo">235</span>  @Override<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  public String toString() {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    return String.format("%s (%s, %s, %s, %s)",<a name="line.237"></a>
+<span class="sourceLineNo">238</span>      getClass().getSimpleName(), Bytes.toStringBinary(this.family),<a name="line.238"></a>
+<span class="sourceLineNo">239</span>      Bytes.toStringBinary(this.qualifier), this.op.name(),<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      Bytes.toStringBinary(this.comparator.getValue()));<a name="line.240"></a>
+<span class="sourceLineNo">241</span>  }<a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span>  @Override<a name="line.243"></a>
+<span class="sourceLineNo">244</span>  public boolean equals(Object obj) {<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    if (obj == null || (!(obj instanceof ColumnValueFilter))) {<a name="line.245"></a>
+<span class="sourceLineNo">246</span>      return false;<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    }<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    ColumnValueFilter f = (ColumnValueFilter) obj;<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    return this.areSerializedFieldsEqual(f);<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  }<a name="line.250"></a>
+<span class="sourceLineNo">251</span><a name="line.251"></a>
+<span class="sourceLineNo">252</span>  @Override<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  public int hashCode() {<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    return Objects.hash(Bytes.hashCode(this.getFamily()), Bytes.hashCode(this.getQualifier()),<a name="line.254"></a>
+<span class="sourceLineNo">255</span>        this.getCompareOperator(), this.getComparator());<a name="line.255"></a>
+<span class="sourceLineNo">256</span>  }<a name="line.256"></a>
+<span class="sourceLineNo">257</span>}<a name="line.257"></a>
 
 
 


[28/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html
index 96bdd09..2553d09 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/PrefixFilter.html
@@ -28,143 +28,158 @@
 <span class="sourceLineNo">020</span>package org.apache.hadoop.hbase.filter;<a name="line.20"></a>
 <span class="sourceLineNo">021</span><a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.util.ArrayList;<a name="line.22"></a>
-<span class="sourceLineNo">023</span><a name="line.23"></a>
-<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.ByteBufferExtendedCell;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.util.ByteBufferUtils;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.30"></a>
-<span class="sourceLineNo">031</span><a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.34"></a>
-<span class="sourceLineNo">035</span><a name="line.35"></a>
-<span class="sourceLineNo">036</span>/**<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * Pass results that have same row prefix.<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 PrefixFilter extends FilterBase {<a name="line.40"></a>
-<span class="sourceLineNo">041</span>  protected byte [] prefix = null;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>  protected boolean passedPrefix = false;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>  protected boolean filterRow = true;<a name="line.43"></a>
-<span class="sourceLineNo">044</span><a name="line.44"></a>
-<span class="sourceLineNo">045</span>  public PrefixFilter(final byte [] prefix) {<a name="line.45"></a>
-<span class="sourceLineNo">046</span>    this.prefix = prefix;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>  }<a name="line.47"></a>
-<span class="sourceLineNo">048</span><a name="line.48"></a>
-<span class="sourceLineNo">049</span>  public byte[] getPrefix() {<a name="line.49"></a>
-<span class="sourceLineNo">050</span>    return prefix;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>  }<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>  @Override<a name="line.53"></a>
-<span class="sourceLineNo">054</span>  public boolean filterRowKey(Cell firstRowCell) {<a name="line.54"></a>
-<span class="sourceLineNo">055</span>    if (firstRowCell == null || this.prefix == null)<a name="line.55"></a>
-<span class="sourceLineNo">056</span>      return true;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>    if (filterAllRemaining()) return true;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>    int length = firstRowCell.getRowLength();<a name="line.58"></a>
-<span class="sourceLineNo">059</span>    if (length &lt; prefix.length) return true;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    // if they are equal, return false =&gt; pass row<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    // else return true, filter row<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    // if we are passed the prefix, set flag<a name="line.62"></a>
-<span class="sourceLineNo">063</span>    int cmp;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    if (firstRowCell instanceof ByteBufferExtendedCell) {<a name="line.64"></a>
-<span class="sourceLineNo">065</span>      cmp = ByteBufferUtils.compareTo(((ByteBufferExtendedCell) firstRowCell).getRowByteBuffer(),<a name="line.65"></a>
-<span class="sourceLineNo">066</span>          ((ByteBufferExtendedCell) firstRowCell).getRowPosition(), this.prefix.length,<a name="line.66"></a>
-<span class="sourceLineNo">067</span>          this.prefix, 0, this.prefix.length);<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    } else {<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      cmp = Bytes.compareTo(firstRowCell.getRowArray(), firstRowCell.getRowOffset(),<a name="line.69"></a>
-<span class="sourceLineNo">070</span>          this.prefix.length, this.prefix, 0, this.prefix.length);<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    }<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    if ((!isReversed() &amp;&amp; cmp &gt; 0) || (isReversed() &amp;&amp; cmp &lt; 0)) {<a name="line.72"></a>
-<span class="sourceLineNo">073</span>      passedPrefix = true;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    }<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    filterRow = (cmp != 0);<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    return filterRow;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  }<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  @Deprecated<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  @Override<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    return filterCell(c);<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  }<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  @Override<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  public ReturnCode filterCell(final Cell c) {<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    if (filterRow) return ReturnCode.NEXT_ROW;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    return ReturnCode.INCLUDE;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  }<a name="line.89"></a>
-<span class="sourceLineNo">090</span><a name="line.90"></a>
-<span class="sourceLineNo">091</span>  @Override<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  public boolean filterRow() {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    return filterRow;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  }<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>  @Override<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  public void reset() {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    filterRow = true;<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>  @Override<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  public boolean filterAllRemaining() {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    return passedPrefix;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>  }<a name="line.104"></a>
-<span class="sourceLineNo">105</span><a name="line.105"></a>
-<span class="sourceLineNo">106</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    Preconditions.checkArgument(filterArguments.size() == 1,<a name="line.107"></a>
-<span class="sourceLineNo">108</span>                                "Expected 1 but got: %s", filterArguments.size());<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    byte [] prefix = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    return new PrefixFilter(prefix);<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  }<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>  /**<a name="line.113"></a>
-<span class="sourceLineNo">114</span>   * @return The filter serialized using pb<a name="line.114"></a>
-<span class="sourceLineNo">115</span>   */<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  @Override<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  public byte [] toByteArray() {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    FilterProtos.PrefixFilter.Builder builder =<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      FilterProtos.PrefixFilter.newBuilder();<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    if (this.prefix != null) builder.setPrefix(UnsafeByteOperations.unsafeWrap(this.prefix));<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    return builder.build().toByteArray();<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>  /**<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   * @param pbBytes A pb serialized {@link PrefixFilter} instance<a name="line.125"></a>
-<span class="sourceLineNo">126</span>   * @return An instance of {@link PrefixFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>   * @throws org.apache.hadoop.hbase.exceptions.DeserializationException<a name="line.127"></a>
-<span class="sourceLineNo">128</span>   * @see #toByteArray<a name="line.128"></a>
-<span class="sourceLineNo">129</span>   */<a name="line.129"></a>
-<span class="sourceLineNo">130</span>  public static PrefixFilter parseFrom(final byte [] pbBytes)<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  throws DeserializationException {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    FilterProtos.PrefixFilter proto;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    try {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      proto = FilterProtos.PrefixFilter.parseFrom(pbBytes);<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    } catch (InvalidProtocolBufferException e) {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      throw new DeserializationException(e);<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    }<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    return new PrefixFilter(proto.hasPrefix()?proto.getPrefix().toByteArray():null);<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  }<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>  /**<a name="line.141"></a>
-<span class="sourceLineNo">142</span>   * @param o the other filter to compare with<a name="line.142"></a>
-<span class="sourceLineNo">143</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.143"></a>
-<span class="sourceLineNo">144</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   */<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  @Override<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    if (o == this) return true;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    if (!(o instanceof PrefixFilter)) return false;<a name="line.149"></a>
-<span class="sourceLineNo">150</span><a name="line.150"></a>
-<span class="sourceLineNo">151</span>    PrefixFilter other = (PrefixFilter)o;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    return Bytes.equals(this.getPrefix(), other.getPrefix());<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>  @Override<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  public String toString() {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    return this.getClass().getSimpleName() + " " + Bytes.toStringBinary(this.prefix);<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  }<a name="line.158"></a>
-<span class="sourceLineNo">159</span>}<a name="line.159"></a>
+<span class="sourceLineNo">023</span>import java.util.Objects;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.ByteBufferExtendedCell;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.Cell;<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>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.util.ByteBufferUtils;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.31"></a>
+<span class="sourceLineNo">032</span><a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;<a name="line.35"></a>
+<span class="sourceLineNo">036</span><a name="line.36"></a>
+<span class="sourceLineNo">037</span>/**<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * Pass results that have same row prefix.<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 PrefixFilter extends FilterBase {<a name="line.41"></a>
+<span class="sourceLineNo">042</span>  protected byte [] prefix = null;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>  protected boolean passedPrefix = false;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>  protected boolean filterRow = true;<a name="line.44"></a>
+<span class="sourceLineNo">045</span><a name="line.45"></a>
+<span class="sourceLineNo">046</span>  public PrefixFilter(final byte [] prefix) {<a name="line.46"></a>
+<span class="sourceLineNo">047</span>    this.prefix = prefix;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>  }<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>  public byte[] getPrefix() {<a name="line.50"></a>
+<span class="sourceLineNo">051</span>    return prefix;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>  }<a name="line.52"></a>
+<span class="sourceLineNo">053</span><a name="line.53"></a>
+<span class="sourceLineNo">054</span>  @Override<a name="line.54"></a>
+<span class="sourceLineNo">055</span>  public boolean filterRowKey(Cell firstRowCell) {<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    if (firstRowCell == null || this.prefix == null)<a name="line.56"></a>
+<span class="sourceLineNo">057</span>      return true;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    if (filterAllRemaining()) return true;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    int length = firstRowCell.getRowLength();<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    if (length &lt; prefix.length) return true;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    // if they are equal, return false =&gt; pass row<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    // else return true, filter row<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    // if we are passed the prefix, set flag<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    int cmp;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    if (firstRowCell instanceof ByteBufferExtendedCell) {<a name="line.65"></a>
+<span class="sourceLineNo">066</span>      cmp = ByteBufferUtils.compareTo(((ByteBufferExtendedCell) firstRowCell).getRowByteBuffer(),<a name="line.66"></a>
+<span class="sourceLineNo">067</span>          ((ByteBufferExtendedCell) firstRowCell).getRowPosition(), this.prefix.length,<a name="line.67"></a>
+<span class="sourceLineNo">068</span>          this.prefix, 0, this.prefix.length);<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    } else {<a name="line.69"></a>
+<span class="sourceLineNo">070</span>      cmp = Bytes.compareTo(firstRowCell.getRowArray(), firstRowCell.getRowOffset(),<a name="line.70"></a>
+<span class="sourceLineNo">071</span>          this.prefix.length, this.prefix, 0, this.prefix.length);<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    }<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    if ((!isReversed() &amp;&amp; cmp &gt; 0) || (isReversed() &amp;&amp; cmp &lt; 0)) {<a name="line.73"></a>
+<span class="sourceLineNo">074</span>      passedPrefix = true;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    }<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    filterRow = (cmp != 0);<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    return filterRow;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  }<a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>  @Deprecated<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  @Override<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    return filterCell(c);<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  }<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>  @Override<a name="line.86"></a>
+<span class="sourceLineNo">087</span>  public ReturnCode filterCell(final Cell c) {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    if (filterRow) return ReturnCode.NEXT_ROW;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    return ReturnCode.INCLUDE;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  }<a name="line.90"></a>
+<span class="sourceLineNo">091</span><a name="line.91"></a>
+<span class="sourceLineNo">092</span>  @Override<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  public boolean filterRow() {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    return filterRow;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>  }<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span>  @Override<a name="line.97"></a>
+<span class="sourceLineNo">098</span>  public void reset() {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    filterRow = true;<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>  @Override<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  public boolean filterAllRemaining() {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    return passedPrefix;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  }<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    Preconditions.checkArgument(filterArguments.size() == 1,<a name="line.108"></a>
+<span class="sourceLineNo">109</span>                                "Expected 1 but got: %s", filterArguments.size());<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    byte [] prefix = ParseFilter.removeQuotesFromByteArray(filterArguments.get(0));<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    return new PrefixFilter(prefix);<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  }<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>  /**<a name="line.114"></a>
+<span class="sourceLineNo">115</span>   * @return The filter serialized using pb<a name="line.115"></a>
+<span class="sourceLineNo">116</span>   */<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  @Override<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  public byte [] toByteArray() {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    FilterProtos.PrefixFilter.Builder builder =<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      FilterProtos.PrefixFilter.newBuilder();<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    if (this.prefix != null) builder.setPrefix(UnsafeByteOperations.unsafeWrap(this.prefix));<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    return builder.build().toByteArray();<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>  /**<a name="line.125"></a>
+<span class="sourceLineNo">126</span>   * @param pbBytes A pb serialized {@link PrefixFilter} instance<a name="line.126"></a>
+<span class="sourceLineNo">127</span>   * @return An instance of {@link PrefixFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>   * @throws org.apache.hadoop.hbase.exceptions.DeserializationException<a name="line.128"></a>
+<span class="sourceLineNo">129</span>   * @see #toByteArray<a name="line.129"></a>
+<span class="sourceLineNo">130</span>   */<a name="line.130"></a>
+<span class="sourceLineNo">131</span>  public static PrefixFilter parseFrom(final byte [] pbBytes)<a name="line.131"></a>
+<span class="sourceLineNo">132</span>  throws DeserializationException {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    FilterProtos.PrefixFilter proto;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    try {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      proto = FilterProtos.PrefixFilter.parseFrom(pbBytes);<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    } catch (InvalidProtocolBufferException e) {<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      throw new DeserializationException(e);<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    }<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    return new PrefixFilter(proto.hasPrefix()?proto.getPrefix().toByteArray():null);<a name="line.139"></a>
+<span class="sourceLineNo">140</span>  }<a name="line.140"></a>
+<span class="sourceLineNo">141</span><a name="line.141"></a>
+<span class="sourceLineNo">142</span>  /**<a name="line.142"></a>
+<span class="sourceLineNo">143</span>   * @param o the other filter to compare with<a name="line.143"></a>
+<span class="sourceLineNo">144</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.144"></a>
+<span class="sourceLineNo">145</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   */<a name="line.146"></a>
+<span class="sourceLineNo">147</span>  @Override<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    if (o == this) return true;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    if (!(o instanceof PrefixFilter)) return false;<a name="line.150"></a>
+<span class="sourceLineNo">151</span><a name="line.151"></a>
+<span class="sourceLineNo">152</span>    PrefixFilter other = (PrefixFilter)o;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    return Bytes.equals(this.getPrefix(), other.getPrefix());<a name="line.153"></a>
+<span class="sourceLineNo">154</span>  }<a name="line.154"></a>
+<span class="sourceLineNo">155</span><a name="line.155"></a>
+<span class="sourceLineNo">156</span>  @Override<a name="line.156"></a>
+<span class="sourceLineNo">157</span>  public String toString() {<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    return this.getClass().getSimpleName() + " " + Bytes.toStringBinary(this.prefix);<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  }<a name="line.159"></a>
+<span class="sourceLineNo">160</span><a name="line.160"></a>
+<span class="sourceLineNo">161</span>  @Override<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  public boolean equals(Object obj) {<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    if (obj == null || (!(obj instanceof PrefixFilter))) {<a name="line.163"></a>
+<span class="sourceLineNo">164</span>      return false;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    }<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    PrefixFilter f = (PrefixFilter) obj;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    return this.areSerializedFieldsEqual(f);<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>  @Override<a name="line.170"></a>
+<span class="sourceLineNo">171</span>  public int hashCode() {<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    return Objects.hash(Bytes.hashCode(this.getPrefix()));<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>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html
index b4299f1..3f90c7c 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/QualifierFilter.html
@@ -29,129 +29,144 @@
 <span class="sourceLineNo">021</span><a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
 <span class="sourceLineNo">023</span>import java.util.ArrayList;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.CompareOperator;<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>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.31"></a>
-<span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>/**<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * This filter is used to filter based on the column qualifier. It takes an<a name="line.34"></a>
-<span class="sourceLineNo">035</span> * operator (equal, greater, not equal, etc) and a byte [] comparator for the<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * column qualifier portion of a key.<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * &lt;p&gt;<a name="line.37"></a>
-<span class="sourceLineNo">038</span> * This filter can be wrapped with {@link WhileMatchFilter} and {@link SkipFilter}<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * to add more control.<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * &lt;p&gt;<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * Multiple filters can be combined using {@link FilterList}.<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * &lt;p&gt;<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * If an already known column qualifier is looked for, <a name="line.43"></a>
-<span class="sourceLineNo">044</span> * use {@link org.apache.hadoop.hbase.client.Get#addColumn}<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * directly rather than a filter.<a name="line.45"></a>
-<span class="sourceLineNo">046</span> */<a name="line.46"></a>
-<span class="sourceLineNo">047</span>@InterfaceAudience.Public<a name="line.47"></a>
-<span class="sourceLineNo">048</span>public class QualifierFilter extends CompareFilter {<a name="line.48"></a>
-<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span>  /**<a name="line.50"></a>
-<span class="sourceLineNo">051</span>   * Constructor.<a name="line.51"></a>
-<span class="sourceLineNo">052</span>   * @param op the compare op for column qualifier matching<a name="line.52"></a>
-<span class="sourceLineNo">053</span>   * @param qualifierComparator the comparator for column qualifier matching<a name="line.53"></a>
-<span class="sourceLineNo">054</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.54"></a>
-<span class="sourceLineNo">055</span>   * Use {@link #QualifierFilter(CompareOperator, ByteArrayComparable)} instead.<a name="line.55"></a>
-<span class="sourceLineNo">056</span>   */<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  @Deprecated<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  public QualifierFilter(final CompareOp op,<a name="line.58"></a>
-<span class="sourceLineNo">059</span>      final ByteArrayComparable qualifierComparator) {<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    super(op, qualifierComparator);<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>  /**<a name="line.63"></a>
-<span class="sourceLineNo">064</span>   * Constructor.<a name="line.64"></a>
-<span class="sourceLineNo">065</span>   * @param op the compare op for column qualifier matching<a name="line.65"></a>
-<span class="sourceLineNo">066</span>   * @param qualifierComparator the comparator for column qualifier matching<a name="line.66"></a>
-<span class="sourceLineNo">067</span>   */<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  public QualifierFilter(final CompareOperator op,<a name="line.68"></a>
-<span class="sourceLineNo">069</span>                         final ByteArrayComparable qualifierComparator) {<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    super(op, qualifierComparator);<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  }<a name="line.71"></a>
-<span class="sourceLineNo">072</span><a name="line.72"></a>
-<span class="sourceLineNo">073</span>  @Deprecated<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  @Override<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    return filterCell(c);<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  }<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  @Override<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  public ReturnCode filterCell(final Cell c) {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    int qualifierLength = c.getQualifierLength();<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    if (qualifierLength &gt; 0) {<a name="line.82"></a>
-<span class="sourceLineNo">083</span>      if (compareQualifier(getCompareOperator(), this.comparator, c)) {<a name="line.83"></a>
-<span class="sourceLineNo">084</span>        return ReturnCode.SKIP;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      }<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    }<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    return ReturnCode.INCLUDE;<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>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    ArrayList&lt;?&gt; arguments = CompareFilter.extractArguments(filterArguments);<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    CompareOperator compareOp = (CompareOperator)arguments.get(0);<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    ByteArrayComparable comparator = (ByteArrayComparable)arguments.get(1);<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    return new QualifierFilter(compareOp, comparator);<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  }<a name="line.95"></a>
-<span class="sourceLineNo">096</span><a name="line.96"></a>
-<span class="sourceLineNo">097</span>  /**<a name="line.97"></a>
-<span class="sourceLineNo">098</span>   * @return The filter serialized using pb<a name="line.98"></a>
-<span class="sourceLineNo">099</span>   */<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  @Override<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  public byte [] toByteArray() {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    FilterProtos.QualifierFilter.Builder builder =<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      FilterProtos.QualifierFilter.newBuilder();<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    builder.setCompareFilter(super.convert());<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    return builder.build().toByteArray();<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  }<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  /**<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   * @param pbBytes A pb serialized {@link QualifierFilter} instance<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   * @return An instance of {@link QualifierFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>   * @throws org.apache.hadoop.hbase.exceptions.DeserializationException<a name="line.111"></a>
-<span class="sourceLineNo">112</span>   * @see #toByteArray<a name="line.112"></a>
-<span class="sourceLineNo">113</span>   */<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  public static QualifierFilter parseFrom(final byte [] pbBytes)<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  throws DeserializationException {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    FilterProtos.QualifierFilter proto;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    try {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      proto = FilterProtos.QualifierFilter.parseFrom(pbBytes);<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    } catch (InvalidProtocolBufferException e) {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      throw new DeserializationException(e);<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    final CompareOperator valueCompareOp =<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      CompareOperator.valueOf(proto.getCompareFilter().getCompareOp().name());<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    ByteArrayComparable valueComparator = null;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    try {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      if (proto.getCompareFilter().hasComparator()) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>        valueComparator = ProtobufUtil.toComparator(proto.getCompareFilter().getComparator());<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      }<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    } catch (IOException ioe) {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>      throw new DeserializationException(ioe);<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    }<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    return new QualifierFilter(valueCompareOp,valueComparator);<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  }<a name="line.133"></a>
-<span class="sourceLineNo">134</span><a name="line.134"></a>
-<span class="sourceLineNo">135</span>  /**<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   */<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  @Override<a name="line.139"></a>
-<span class="sourceLineNo">140</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    if (o == this) return true;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    if (!(o instanceof QualifierFilter)) return false;<a name="line.142"></a>
-<span class="sourceLineNo">143</span><a name="line.143"></a>
-<span class="sourceLineNo">144</span>    return super.areSerializedFieldsEqual(o);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  }<a name="line.145"></a>
-<span class="sourceLineNo">146</span>}<a name="line.146"></a>
+<span class="sourceLineNo">024</span>import java.util.Objects;<a name="line.24"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.Cell;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.CompareOperator;<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>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>/**<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * This filter is used to filter based on the column qualifier. It takes an<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * operator (equal, greater, not equal, etc) and a byte [] comparator for the<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * column qualifier portion of a key.<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * &lt;p&gt;<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * This filter can be wrapped with {@link WhileMatchFilter} and {@link SkipFilter}<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * to add more control.<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * &lt;p&gt;<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * Multiple filters can be combined using {@link FilterList}.<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * &lt;p&gt;<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * If an already known column qualifier is looked for, <a name="line.44"></a>
+<span class="sourceLineNo">045</span> * use {@link org.apache.hadoop.hbase.client.Get#addColumn}<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * directly rather than a filter.<a name="line.46"></a>
+<span class="sourceLineNo">047</span> */<a name="line.47"></a>
+<span class="sourceLineNo">048</span>@InterfaceAudience.Public<a name="line.48"></a>
+<span class="sourceLineNo">049</span>public class QualifierFilter extends CompareFilter {<a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>  /**<a name="line.51"></a>
+<span class="sourceLineNo">052</span>   * Constructor.<a name="line.52"></a>
+<span class="sourceLineNo">053</span>   * @param op the compare op for column qualifier matching<a name="line.53"></a>
+<span class="sourceLineNo">054</span>   * @param qualifierComparator the comparator for column qualifier matching<a name="line.54"></a>
+<span class="sourceLineNo">055</span>   * @deprecated Since 2.0.0. Will be removed in 3.0.0.<a name="line.55"></a>
+<span class="sourceLineNo">056</span>   * Use {@link #QualifierFilter(CompareOperator, ByteArrayComparable)} instead.<a name="line.56"></a>
+<span class="sourceLineNo">057</span>   */<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  @Deprecated<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  public QualifierFilter(final CompareOp op,<a name="line.59"></a>
+<span class="sourceLineNo">060</span>      final ByteArrayComparable qualifierComparator) {<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    super(op, qualifierComparator);<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>  /**<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   * Constructor.<a name="line.65"></a>
+<span class="sourceLineNo">066</span>   * @param op the compare op for column qualifier matching<a name="line.66"></a>
+<span class="sourceLineNo">067</span>   * @param qualifierComparator the comparator for column qualifier matching<a name="line.67"></a>
+<span class="sourceLineNo">068</span>   */<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  public QualifierFilter(final CompareOperator op,<a name="line.69"></a>
+<span class="sourceLineNo">070</span>                         final ByteArrayComparable qualifierComparator) {<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    super(op, qualifierComparator);<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  }<a name="line.72"></a>
+<span class="sourceLineNo">073</span><a name="line.73"></a>
+<span class="sourceLineNo">074</span>  @Deprecated<a name="line.74"></a>
+<span class="sourceLineNo">075</span>  @Override<a name="line.75"></a>
+<span class="sourceLineNo">076</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    return filterCell(c);<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  }<a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>  @Override<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  public ReturnCode filterCell(final Cell c) {<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    int qualifierLength = c.getQualifierLength();<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    if (qualifierLength &gt; 0) {<a name="line.83"></a>
+<span class="sourceLineNo">084</span>      if (compareQualifier(getCompareOperator(), this.comparator, c)) {<a name="line.84"></a>
+<span class="sourceLineNo">085</span>        return ReturnCode.SKIP;<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>    return ReturnCode.INCLUDE;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>  }<a name="line.89"></a>
+<span class="sourceLineNo">090</span><a name="line.90"></a>
+<span class="sourceLineNo">091</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    ArrayList&lt;?&gt; arguments = CompareFilter.extractArguments(filterArguments);<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    CompareOperator compareOp = (CompareOperator)arguments.get(0);<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    ByteArrayComparable comparator = (ByteArrayComparable)arguments.get(1);<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    return new QualifierFilter(compareOp, comparator);<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  }<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>  /**<a name="line.98"></a>
+<span class="sourceLineNo">099</span>   * @return The filter serialized using pb<a name="line.99"></a>
+<span class="sourceLineNo">100</span>   */<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  @Override<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  public byte [] toByteArray() {<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    FilterProtos.QualifierFilter.Builder builder =<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      FilterProtos.QualifierFilter.newBuilder();<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    builder.setCompareFilter(super.convert());<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    return builder.build().toByteArray();<a name="line.106"></a>
+<span class="sourceLineNo">107</span>  }<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>   * @param pbBytes A pb serialized {@link QualifierFilter} instance<a name="line.110"></a>
+<span class="sourceLineNo">111</span>   * @return An instance of {@link QualifierFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>   * @throws org.apache.hadoop.hbase.exceptions.DeserializationException<a name="line.112"></a>
+<span class="sourceLineNo">113</span>   * @see #toByteArray<a name="line.113"></a>
+<span class="sourceLineNo">114</span>   */<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  public static QualifierFilter parseFrom(final byte [] pbBytes)<a name="line.115"></a>
+<span class="sourceLineNo">116</span>  throws DeserializationException {<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    FilterProtos.QualifierFilter proto;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    try {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>      proto = FilterProtos.QualifierFilter.parseFrom(pbBytes);<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    } catch (InvalidProtocolBufferException e) {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>      throw new DeserializationException(e);<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    }<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    final CompareOperator valueCompareOp =<a name="line.123"></a>
+<span class="sourceLineNo">124</span>      CompareOperator.valueOf(proto.getCompareFilter().getCompareOp().name());<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    ByteArrayComparable valueComparator = null;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    try {<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      if (proto.getCompareFilter().hasComparator()) {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>        valueComparator = ProtobufUtil.toComparator(proto.getCompareFilter().getComparator());<a name="line.128"></a>
+<span class="sourceLineNo">129</span>      }<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    } catch (IOException ioe) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      throw new DeserializationException(ioe);<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    }<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    return new QualifierFilter(valueCompareOp,valueComparator);<a name="line.133"></a>
+<span class="sourceLineNo">134</span>  }<a name="line.134"></a>
+<span class="sourceLineNo">135</span><a name="line.135"></a>
+<span class="sourceLineNo">136</span>  /**<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.138"></a>
+<span class="sourceLineNo">139</span>   */<a name="line.139"></a>
+<span class="sourceLineNo">140</span>  @Override<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    if (o == this) return true;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    if (!(o instanceof QualifierFilter)) return false;<a name="line.143"></a>
+<span class="sourceLineNo">144</span><a name="line.144"></a>
+<span class="sourceLineNo">145</span>    return super.areSerializedFieldsEqual(o);<a name="line.145"></a>
+<span class="sourceLineNo">146</span>  }<a name="line.146"></a>
+<span class="sourceLineNo">147</span><a name="line.147"></a>
+<span class="sourceLineNo">148</span>  @Override<a name="line.148"></a>
+<span class="sourceLineNo">149</span>  public boolean equals(Object obj) {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    if (obj == null || (!(obj instanceof QualifierFilter))) {<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>    QualifierFilter f = (QualifierFilter) obj;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    return this.areSerializedFieldsEqual(f);<a name="line.154"></a>
+<span class="sourceLineNo">155</span>  }<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>  @Override<a name="line.157"></a>
+<span class="sourceLineNo">158</span>  public int hashCode() {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    return Objects.hash(this.getComparator(), this.getCompareOperator());<a name="line.159"></a>
+<span class="sourceLineNo">160</span>  }<a name="line.160"></a>
+<span class="sourceLineNo">161</span>}<a name="line.161"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html
index 3cf2e83..c5cdc25 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/RandomRowFilter.html
@@ -27,142 +27,157 @@
 <span class="sourceLineNo">019</span><a name="line.19"></a>
 <span class="sourceLineNo">020</span>package org.apache.hadoop.hbase.filter;<a name="line.20"></a>
 <span class="sourceLineNo">021</span><a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.util.Random;<a name="line.22"></a>
-<span class="sourceLineNo">023</span><a name="line.23"></a>
-<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.Cell;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.27"></a>
-<span class="sourceLineNo">028</span><a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.29"></a>
-<span class="sourceLineNo">030</span><a name="line.30"></a>
-<span class="sourceLineNo">031</span>/**<a name="line.31"></a>
-<span class="sourceLineNo">032</span> * A filter that includes rows based on a chance.<a name="line.32"></a>
-<span class="sourceLineNo">033</span> * <a name="line.33"></a>
-<span class="sourceLineNo">034</span> */<a name="line.34"></a>
-<span class="sourceLineNo">035</span>@InterfaceAudience.Public<a name="line.35"></a>
-<span class="sourceLineNo">036</span>public class RandomRowFilter extends FilterBase {<a name="line.36"></a>
-<span class="sourceLineNo">037</span>  protected static final Random random = new Random();<a name="line.37"></a>
-<span class="sourceLineNo">038</span><a name="line.38"></a>
-<span class="sourceLineNo">039</span>  protected float chance;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>  protected boolean filterOutRow;<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 new filter with a specified chance for a row to be included.<a name="line.43"></a>
-<span class="sourceLineNo">044</span>   * <a name="line.44"></a>
-<span class="sourceLineNo">045</span>   * @param chance<a name="line.45"></a>
-<span class="sourceLineNo">046</span>   */<a name="line.46"></a>
-<span class="sourceLineNo">047</span>  public RandomRowFilter(float chance) {<a name="line.47"></a>
-<span class="sourceLineNo">048</span>    this.chance = chance;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>  }<a name="line.49"></a>
-<span class="sourceLineNo">050</span><a name="line.50"></a>
-<span class="sourceLineNo">051</span>  /**<a name="line.51"></a>
-<span class="sourceLineNo">052</span>   * @return The chance that a row gets included.<a name="line.52"></a>
-<span class="sourceLineNo">053</span>   */<a name="line.53"></a>
-<span class="sourceLineNo">054</span>  public float getChance() {<a name="line.54"></a>
-<span class="sourceLineNo">055</span>    return chance;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  }<a name="line.56"></a>
-<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span>  /**<a name="line.58"></a>
-<span class="sourceLineNo">059</span>   * Set the chance that a row is included.<a name="line.59"></a>
-<span class="sourceLineNo">060</span>   * <a name="line.60"></a>
-<span class="sourceLineNo">061</span>   * @param chance<a name="line.61"></a>
-<span class="sourceLineNo">062</span>   */<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  public void setChance(float chance) {<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    this.chance = chance;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  }<a name="line.65"></a>
-<span class="sourceLineNo">066</span><a name="line.66"></a>
-<span class="sourceLineNo">067</span>  @Override<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  public boolean filterAllRemaining() {<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    return false;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>  }<a name="line.70"></a>
-<span class="sourceLineNo">071</span><a name="line.71"></a>
-<span class="sourceLineNo">072</span>  @Deprecated<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  @Override<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    return filterCell(c);<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>  @Override<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  public ReturnCode filterCell(final Cell c) {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    if (filterOutRow) {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>      return ReturnCode.NEXT_ROW;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    }<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    return ReturnCode.INCLUDE;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>  }<a name="line.84"></a>
-<span class="sourceLineNo">085</span><a name="line.85"></a>
-<span class="sourceLineNo">086</span>  @Override<a name="line.86"></a>
-<span class="sourceLineNo">087</span>  public boolean filterRow() {<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    return filterOutRow;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  }<a name="line.89"></a>
-<span class="sourceLineNo">090</span><a name="line.90"></a>
-<span class="sourceLineNo">091</span>  @Override<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  public boolean hasFilterRow() {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    return true;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  }<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>  @Override<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  public boolean filterRowKey(Cell firstRowCell) {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    if (chance &lt; 0) {<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      // with a zero chance, the rows is always excluded<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      filterOutRow = true;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    } else if (chance &gt; 1) {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      // always included<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      filterOutRow = false;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    } else {<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      // roll the dice<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      filterOutRow = !(random.nextFloat() &lt; chance);<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    }<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    return filterOutRow;<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>  @Override<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  public void reset() {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    filterOutRow = false;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  }<a name="line.114"></a>
-<span class="sourceLineNo">115</span><a name="line.115"></a>
-<span class="sourceLineNo">116</span>  /**<a name="line.116"></a>
-<span class="sourceLineNo">117</span>   * @return The filter serialized using pb<a name="line.117"></a>
-<span class="sourceLineNo">118</span>   */<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  @Override<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  public byte [] toByteArray() {<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    FilterProtos.RandomRowFilter.Builder builder =<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      FilterProtos.RandomRowFilter.newBuilder();<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    builder.setChance(this.chance);<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    return builder.build().toByteArray();<a name="line.124"></a>
-<span class="sourceLineNo">125</span>  }<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>   * @param pbBytes A pb serialized {@link RandomRowFilter} instance<a name="line.128"></a>
-<span class="sourceLineNo">129</span>   * @return An instance of {@link RandomRowFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>   * @throws DeserializationException<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   * @see #toByteArray<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   */<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  public static RandomRowFilter parseFrom(final byte [] pbBytes)<a name="line.133"></a>
-<span class="sourceLineNo">134</span>  throws DeserializationException {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    FilterProtos.RandomRowFilter proto;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    try {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      proto = FilterProtos.RandomRowFilter.parseFrom(pbBytes);<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    } catch (InvalidProtocolBufferException e) {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      throw new DeserializationException(e);<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    }<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    return new RandomRowFilter(proto.getChance());<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  }<a name="line.142"></a>
-<span class="sourceLineNo">143</span><a name="line.143"></a>
-<span class="sourceLineNo">144</span>  /**<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   * @param o the other filter to compare with<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.146"></a>
-<span class="sourceLineNo">147</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.147"></a>
-<span class="sourceLineNo">148</span>   */<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  @Override<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    if (o == this) return true;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    if (!(o instanceof RandomRowFilter)) return false;<a name="line.152"></a>
-<span class="sourceLineNo">153</span><a name="line.153"></a>
-<span class="sourceLineNo">154</span>    RandomRowFilter other = (RandomRowFilter)o;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    return this.getChance() == other.getChance();<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  }<a name="line.156"></a>
-<span class="sourceLineNo">157</span>}<a name="line.157"></a>
+<span class="sourceLineNo">022</span>import java.util.Objects;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.util.Random;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.Cell;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.28"></a>
+<span class="sourceLineNo">029</span><a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.30"></a>
+<span class="sourceLineNo">031</span><a name="line.31"></a>
+<span class="sourceLineNo">032</span>/**<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * A filter that includes rows based on a chance.<a name="line.33"></a>
+<span class="sourceLineNo">034</span> * <a name="line.34"></a>
+<span class="sourceLineNo">035</span> */<a name="line.35"></a>
+<span class="sourceLineNo">036</span>@InterfaceAudience.Public<a name="line.36"></a>
+<span class="sourceLineNo">037</span>public class RandomRowFilter extends FilterBase {<a name="line.37"></a>
+<span class="sourceLineNo">038</span>  protected static final Random random = new Random();<a name="line.38"></a>
+<span class="sourceLineNo">039</span><a name="line.39"></a>
+<span class="sourceLineNo">040</span>  protected float chance;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>  protected boolean filterOutRow;<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 new filter with a specified chance for a row to be included.<a name="line.44"></a>
+<span class="sourceLineNo">045</span>   * <a name="line.45"></a>
+<span class="sourceLineNo">046</span>   * @param chance<a name="line.46"></a>
+<span class="sourceLineNo">047</span>   */<a name="line.47"></a>
+<span class="sourceLineNo">048</span>  public RandomRowFilter(float chance) {<a name="line.48"></a>
+<span class="sourceLineNo">049</span>    this.chance = chance;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>  }<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>  /**<a name="line.52"></a>
+<span class="sourceLineNo">053</span>   * @return The chance that a row gets included.<a name="line.53"></a>
+<span class="sourceLineNo">054</span>   */<a name="line.54"></a>
+<span class="sourceLineNo">055</span>  public float getChance() {<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    return chance;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  }<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>  /**<a name="line.59"></a>
+<span class="sourceLineNo">060</span>   * Set the chance that a row is included.<a name="line.60"></a>
+<span class="sourceLineNo">061</span>   * <a name="line.61"></a>
+<span class="sourceLineNo">062</span>   * @param chance<a name="line.62"></a>
+<span class="sourceLineNo">063</span>   */<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  public void setChance(float chance) {<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    this.chance = chance;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  }<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span>  @Override<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  public boolean filterAllRemaining() {<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    return false;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  }<a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>  @Deprecated<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  @Override<a name="line.74"></a>
+<span class="sourceLineNo">075</span>  public ReturnCode filterKeyValue(final Cell c) {<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    return filterCell(c);<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  }<a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78"></a>
+<span class="sourceLineNo">079</span>  @Override<a name="line.79"></a>
+<span class="sourceLineNo">080</span>  public ReturnCode filterCell(final Cell c) {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>    if (filterOutRow) {<a name="line.81"></a>
+<span class="sourceLineNo">082</span>      return ReturnCode.NEXT_ROW;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    }<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    return ReturnCode.INCLUDE;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>  }<a name="line.85"></a>
+<span class="sourceLineNo">086</span><a name="line.86"></a>
+<span class="sourceLineNo">087</span>  @Override<a name="line.87"></a>
+<span class="sourceLineNo">088</span>  public boolean filterRow() {<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    return filterOutRow;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  }<a name="line.90"></a>
+<span class="sourceLineNo">091</span><a name="line.91"></a>
+<span class="sourceLineNo">092</span>  @Override<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  public boolean hasFilterRow() {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    return true;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>  }<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span>  @Override<a name="line.97"></a>
+<span class="sourceLineNo">098</span>  public boolean filterRowKey(Cell firstRowCell) {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    if (chance &lt; 0) {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      // with a zero chance, the rows is always excluded<a name="line.100"></a>
+<span class="sourceLineNo">101</span>      filterOutRow = true;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    } else if (chance &gt; 1) {<a name="line.102"></a>
+<span class="sourceLineNo">103</span>      // always included<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      filterOutRow = false;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    } else {<a name="line.105"></a>
+<span class="sourceLineNo">106</span>      // roll the dice<a name="line.106"></a>
+<span class="sourceLineNo">107</span>      filterOutRow = !(random.nextFloat() &lt; chance);<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    }<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    return filterOutRow;<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>  @Override<a name="line.112"></a>
+<span class="sourceLineNo">113</span>  public void reset() {<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    filterOutRow = false;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  }<a name="line.115"></a>
+<span class="sourceLineNo">116</span><a name="line.116"></a>
+<span class="sourceLineNo">117</span>  /**<a name="line.117"></a>
+<span class="sourceLineNo">118</span>   * @return The filter serialized using pb<a name="line.118"></a>
+<span class="sourceLineNo">119</span>   */<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  @Override<a name="line.120"></a>
+<span class="sourceLineNo">121</span>  public byte [] toByteArray() {<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    FilterProtos.RandomRowFilter.Builder builder =<a name="line.122"></a>
+<span class="sourceLineNo">123</span>      FilterProtos.RandomRowFilter.newBuilder();<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    builder.setChance(this.chance);<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    return builder.build().toByteArray();<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>   * @param pbBytes A pb serialized {@link RandomRowFilter} instance<a name="line.129"></a>
+<span class="sourceLineNo">130</span>   * @return An instance of {@link RandomRowFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>   * @throws DeserializationException<a name="line.131"></a>
+<span class="sourceLineNo">132</span>   * @see #toByteArray<a name="line.132"></a>
+<span class="sourceLineNo">133</span>   */<a name="line.133"></a>
+<span class="sourceLineNo">134</span>  public static RandomRowFilter parseFrom(final byte [] pbBytes)<a name="line.134"></a>
+<span class="sourceLineNo">135</span>  throws DeserializationException {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    FilterProtos.RandomRowFilter proto;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    try {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>      proto = FilterProtos.RandomRowFilter.parseFrom(pbBytes);<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    } catch (InvalidProtocolBufferException e) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>      throw new DeserializationException(e);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    }<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    return new RandomRowFilter(proto.getChance());<a name="line.142"></a>
+<span class="sourceLineNo">143</span>  }<a name="line.143"></a>
+<span class="sourceLineNo">144</span><a name="line.144"></a>
+<span class="sourceLineNo">145</span>  /**<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   * @param o the other filter to compare with<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.147"></a>
+<span class="sourceLineNo">148</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   */<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  @Override<a name="line.150"></a>
+<span class="sourceLineNo">151</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    if (o == this) return true;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    if (!(o instanceof RandomRowFilter)) return false;<a name="line.153"></a>
+<span class="sourceLineNo">154</span><a name="line.154"></a>
+<span class="sourceLineNo">155</span>    RandomRowFilter other = (RandomRowFilter)o;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    return this.getChance() == other.getChance();<a name="line.156"></a>
+<span class="sourceLineNo">157</span>  }<a name="line.157"></a>
+<span class="sourceLineNo">158</span><a name="line.158"></a>
+<span class="sourceLineNo">159</span>  @Override<a name="line.159"></a>
+<span class="sourceLineNo">160</span>  public boolean equals(Object obj) {<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    if (obj == null || (!(obj instanceof RandomRowFilter))) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>      return false;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    }<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    RandomRowFilter f = (RandomRowFilter) obj;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    return this.areSerializedFieldsEqual(f);<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>  @Override<a name="line.168"></a>
+<span class="sourceLineNo">169</span>  public int hashCode() {<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    return Objects.hash(this.getChance());<a name="line.170"></a>
+<span class="sourceLineNo">171</span>  }<a name="line.171"></a>
+<span class="sourceLineNo">172</span>}<a name="line.172"></a>
 
 
 


[49/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/CompareFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/CompareFilter.html b/apidocs/org/apache/hadoop/hbase/filter/CompareFilter.html
index 3345090..a5c5e68 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/CompareFilter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/CompareFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":42,"i1":10,"i2":42,"i3":10,"i4":42,"i5":10,"i6":42,"i7":10,"i8":9,"i9":10,"i10":10,"i11":10,"i12":42,"i13":10};
+var methods = {"i0":42,"i1":10,"i2":42,"i3":10,"i4":42,"i5":10,"i6":42,"i7":10,"i8":10,"i9":9,"i10":10,"i11":10,"i12":10,"i13":42,"i14":10,"i15":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -124,7 +124,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.56">CompareFilter</a>
+public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.57">CompareFilter</a>
 extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <div class="block">This is a generic filter to be used to filter by comparison.  It takes an
  operator (equal, greater, not equal, etc) and a byte [] comparator.
@@ -316,24 +316,28 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
             <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>&nbsp;</td>
 </tr>
 <tr id="i8" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</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/filter/CompareFilter.html#extractArguments-java.util.ArrayList-">extractArguments</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#getComparator--">getComparator</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#getCompareOperator--">getCompareOperator</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#getOperator--">getOperator</a></span>()</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
@@ -341,7 +345,11 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 </div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
@@ -367,7 +375,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -389,7 +397,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>op</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.82">op</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.83">op</a></pre>
 </li>
 </ul>
 <a name="comparator">
@@ -398,7 +406,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>comparator</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.83">comparator</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.84">comparator</a></pre>
 </li>
 </ul>
 </li>
@@ -416,7 +424,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <li class="blockList">
 <h4>CompareFilter</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.92">CompareFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
+public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.93">CompareFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
                                  <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0. Use other constructor.</span></div>
 <div class="block">Constructor.</div>
@@ -433,7 +441,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Comp
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CompareFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.102">CompareFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.103">CompareFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                      <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator)</pre>
 <div class="block">Constructor.</div>
 <dl>
@@ -458,7 +466,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Comp
 <li class="blockList">
 <h4>getOperator</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.113">getOperator</a>()</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.114">getOperator</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 2.0.0. Will be removed in 3.0.0. Use <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#getCompareOperator--"><code>getCompareOperator()</code></a> instead.</span></div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -472,7 +480,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompareOperator</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.117">getCompareOperator</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.118">getCompareOperator</a>()</pre>
 </li>
 </ul>
 <a name="getComparator--">
@@ -481,7 +489,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter
 <ul class="blockList">
 <li class="blockList">
 <h4>getComparator</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.124">getComparator</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.125">getComparator</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the comparator</dd>
@@ -494,7 +502,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.129">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.130">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -523,7 +531,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter
 <li class="blockList">
 <h4>compareRow</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.139">compareRow</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
+protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.140">compareRow</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
                                          <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                                          <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0.
@@ -536,7 +544,7 @@ protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/h
 <ul class="blockList">
 <li class="blockList">
 <h4>compareRow</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.148">compareRow</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.149">compareRow</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                              <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                              <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 </li>
@@ -548,7 +556,7 @@ protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/h
 <li class="blockList">
 <h4>compareFamily</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.162">compareFamily</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
+protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.163">compareFamily</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
                                             <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                                             <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0.
@@ -561,7 +569,7 @@ protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/h
 <ul class="blockList">
 <li class="blockList">
 <h4>compareFamily</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.171">compareFamily</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.172">compareFamily</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                                 <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                                 <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 </li>
@@ -573,7 +581,7 @@ protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/h
 <li class="blockList">
 <h4>compareQualifier</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.185">compareQualifier</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
+protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.186">compareQualifier</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
                                                <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                                                <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0.
@@ -586,7 +594,7 @@ protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/h
 <ul class="blockList">
 <li class="blockList">
 <h4>compareQualifier</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.195">compareQualifier</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.196">compareQualifier</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                                    <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                                    <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 </li>
@@ -598,7 +606,7 @@ protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/h
 <li class="blockList">
 <h4>compareValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.210">compareValue</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
+protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.211">compareValue</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
                                            <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                                            <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0.
@@ -611,7 +619,7 @@ protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/h
 <ul class="blockList">
 <li class="blockList">
 <h4>compareValue</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.220">compareValue</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.221">compareValue</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                                <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;comparator,
                                <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 </li>
@@ -622,16 +630,16 @@ protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/h
 <ul class="blockList">
 <li class="blockList">
 <h4>extractArguments</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</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;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.268">extractArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</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;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.269">extractArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.318">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.319">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -640,6 +648,32 @@ protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/h
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.327">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/CompareFilter.html#line.336">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/DependentColumnFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/DependentColumnFilter.html b/apidocs/org/apache/hadoop/hbase/filter/DependentColumnFilter.html
index 8482e07..a7ca048 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/DependentColumnFilter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/DependentColumnFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":42,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":9,"i13":10,"i14":10,"i15":10};
+var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":10,"i5":42,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":9,"i15":10,"i16":10,"i17":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -125,7 +125,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.49">DependentColumnFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.50">DependentColumnFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></pre>
 <div class="block">A filter for adding inter-column timestamp matching
  Only cells with a correspondingly timestamped entry in
@@ -279,24 +279,28 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#filterAllRemaining--">filterAllRemaining</a></span>()</code>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#filterRow--">filterRow</a></span>()</code>
 <div class="block">Filters that never filter by rows based on previously gathered state from
@@ -304,14 +308,14 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
  never filters a row.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#filterRowCells-java.util.List-">filterRowCells</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;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;kvs)</code>
 <div class="block">Filters that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#filterRowKey-byte:A-int-int-">filterRowKey</a></span>(byte[]&nbsp;buffer,
             int&nbsp;offset,
@@ -320,43 +324,47 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
  never filters anything.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#getDropDependentColumn--">getDropDependentColumn</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#getFamily--">getFamily</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#getQualifier--">getQualifier</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#hasFilterRow--">hasFilterRow</a></span>()</code>
 <div class="block">Fitlers that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html" title="class in org.apache.hadoop.hbase.filter">DependentColumnFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#reset--">reset</a></span>()</code>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
@@ -389,7 +397,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -411,7 +419,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>columnFamily</h4>
-<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.51">columnFamily</a></pre>
+<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.52">columnFamily</a></pre>
 </li>
 </ul>
 <a name="columnQualifier">
@@ -420,7 +428,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>columnQualifier</h4>
-<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.52">columnQualifier</a></pre>
+<pre>protected&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.53">columnQualifier</a></pre>
 </li>
 </ul>
 <a name="dropDependentColumn">
@@ -429,7 +437,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>dropDependentColumn</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.53">dropDependentColumn</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.54">dropDependentColumn</a></pre>
 </li>
 </ul>
 <a name="stampSet">
@@ -438,7 +446,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <ul class="blockListLast">
 <li class="blockList">
 <h4>stampSet</h4>
-<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<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>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.55">stampSet</a></pre>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<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>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.56">stampSet</a></pre>
 </li>
 </ul>
 </li>
@@ -456,7 +464,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <li class="blockList">
 <h4>DependentColumnFilter</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.73">DependentColumnFilter</a>(byte[]&nbsp;family,
+public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.74">DependentColumnFilter</a>(byte[]&nbsp;family,
                                          byte[]&nbsp;qualifier,
                                          boolean&nbsp;dropDependentColumn,
                                          <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;valueCompareOp,
@@ -484,7 +492,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Depe
 <ul class="blockList">
 <li class="blockList">
 <h4>DependentColumnFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.92">DependentColumnFilter</a>(byte[]&nbsp;family,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.93">DependentColumnFilter</a>(byte[]&nbsp;family,
                              byte[]&nbsp;qualifier,
                              boolean&nbsp;dropDependentColumn,
                              <a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
@@ -509,7 +517,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Depe
 <ul class="blockList">
 <li class="blockList">
 <h4>DependentColumnFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.110">DependentColumnFilter</a>(byte[]&nbsp;family,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.111">DependentColumnFilter</a>(byte[]&nbsp;family,
                              byte[]&nbsp;qualifier)</pre>
 <div class="block">Constructor for DependentColumn filter.
  Cells where a Cell from target column
@@ -527,7 +535,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Depe
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DependentColumnFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.123">DependentColumnFilter</a>(byte[]&nbsp;family,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.124">DependentColumnFilter</a>(byte[]&nbsp;family,
                              byte[]&nbsp;qualifier,
                              boolean&nbsp;dropDependentColumn)</pre>
 <div class="block">Constructor for DependentColumn filter.
@@ -555,7 +563,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Depe
 <ul class="blockList">
 <li class="blockList">
 <h4>getFamily</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.131">getFamily</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.132">getFamily</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the column family</dd>
@@ -568,7 +576,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Depe
 <ul class="blockList">
 <li class="blockList">
 <h4>getQualifier</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.138">getQualifier</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.139">getQualifier</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the column qualifier</dd>
@@ -581,7 +589,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Depe
 <ul class="blockList">
 <li class="blockList">
 <h4>dropDependentColumn</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.145">dropDependentColumn</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.146">dropDependentColumn</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>true if we should drop the dependent column, false otherwise</dd>
@@ -594,7 +602,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Depe
 <ul class="blockList">
 <li class="blockList">
 <h4>getDropDependentColumn</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.149">getDropDependentColumn</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.150">getDropDependentColumn</a>()</pre>
 </li>
 </ul>
 <a name="filterAllRemaining--">
@@ -603,7 +611,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Depe
 <ul class="blockList">
 <li class="blockList">
 <h4>filterAllRemaining</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.154">filterAllRemaining</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.155">filterAllRemaining</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.
@@ -627,7 +635,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Depe
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.160">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.161">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -662,7 +670,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.165">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.166">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -696,7 +704,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowCells</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.184">filterRowCells</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;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;kvs)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.185">filterRowCells</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;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;kvs)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.
@@ -719,7 +727,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>hasFilterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.189">hasFilterRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.190">hasFilterRow</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Fitlers that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.
@@ -740,7 +748,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.194">filterRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.195">filterRow</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that never filter by rows based on previously gathered state from
  <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-"><code>Filter.filterCell(Cell)</code></a> can inherit this implementation that
@@ -766,7 +774,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.199">filterRowKey</a>(byte[]&nbsp;buffer,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.200">filterRowKey</a>(byte[]&nbsp;buffer,
                             int&nbsp;offset,
                             int&nbsp;length)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
@@ -796,7 +804,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.203">reset</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.204">reset</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.
@@ -817,7 +825,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.207">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.208">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -826,7 +834,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.241">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.242">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -843,7 +851,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html" title="class in org.apache.hadoop.hbase.filter">DependentColumnFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.261">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/DependentColumnFilter.html" title="class in org.apache.hadoop.hbase.filter">DependentColumnFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.262">parseFrom</a>(byte[]&nbsp;pbBytes)
                                        throws org.apache.hadoop.hbase.exceptions.DeserializationException</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -860,10 +868,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.305">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.306">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -872,6 +880,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.317">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#equals-java.lang.Object-">equals</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/DependentColumnFilter.html#line.326">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#hashCode--">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/FamilyFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/FamilyFilter.html b/apidocs/org/apache/hadoop/hbase/filter/FamilyFilter.html
index 65ab38a..94abdff 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/FamilyFilter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/FamilyFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":42,"i3":9,"i4":10};
+var methods = {"i0":9,"i1":10,"i2":10,"i3":42,"i4":10,"i5":9,"i6":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -125,7 +125,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.48">FamilyFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.49">FamilyFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></pre>
 <div class="block"><p>
  This filter is used to filter based on the column family. It takes an
@@ -235,22 +235,30 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FamilyFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FamilyFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FamilyFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FamilyFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FamilyFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/FamilyFilter.html" title="class in org.apache.hadoop.hbase.filter">FamilyFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FamilyFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FamilyFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
@@ -283,7 +291,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -306,7 +314,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <li class="blockList">
 <h4>FamilyFilter</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.59">FamilyFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;familyCompareOp,
+public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.60">FamilyFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;familyCompareOp,
                                 <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;familyComparator)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0.
   Use <a href="../../../../../org/apache/hadoop/hbase/filter/FamilyFilter.html#FamilyFilter-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-"><code>FamilyFilter(CompareOperator, ByteArrayComparable)</code></a></span></div>
@@ -324,7 +332,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Fami
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FamilyFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.70">FamilyFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.71">FamilyFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                     <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;familyComparator)</pre>
 <div class="block">Constructor.</div>
 <dl>
@@ -349,7 +357,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/Fami
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.77">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.78">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -384,7 +392,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.82">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.83">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -418,7 +426,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.92">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.93">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -427,7 +435,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.103">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.104">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -441,10 +449,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="parseFrom-byte:A-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FamilyFilter.html" title="class in org.apache.hadoop.hbase.filter">FamilyFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.116">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FamilyFilter.html" title="class in org.apache.hadoop.hbase.filter">FamilyFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.117">parseFrom</a>(byte[]&nbsp;pbBytes)
                               throws org.apache.hadoop.hbase.exceptions.DeserializationException</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -458,6 +466,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.152">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#equals-java.lang.Object-">equals</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FamilyFilter.html#line.161">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#hashCode--">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/FilterList.Operator.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/FilterList.Operator.html b/apidocs/org/apache/hadoop/hbase/filter/FilterList.Operator.html
index 2a113b2..49578f1 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/FilterList.Operator.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/FilterList.Operator.html
@@ -123,7 +123,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.50">FilterList.Operator</a>
+public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.51">FilterList.Operator</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a>&gt;</pre>
 <div class="block">set operator</div>
 </li>
@@ -216,7 +216,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>MUST_PASS_ALL</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.Operator.html#line.52">MUST_PASS_ALL</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.Operator.html#line.53">MUST_PASS_ALL</a></pre>
 <div class="block">!AND</div>
 </li>
 </ul>
@@ -226,7 +226,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MUST_PASS_ONE</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.Operator.html#line.54">MUST_PASS_ONE</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.Operator.html#line.55">MUST_PASS_ONE</a></pre>
 <div class="block">!OR</div>
 </li>
 </ul>
@@ -244,7 +244,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.Operator.html#line.50">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.Operator.html#line.51">values</a>()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
@@ -264,7 +264,7 @@ for (FilterList.Operator c : FilterList.Operator.values())
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.Operator.html#line.50">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.Operator.html#line.51">valueOf</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 


[23/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/checkstyle-aggregate.html
----------------------------------------------------------------------
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index 6098f6a..236f443 100644
--- a/checkstyle-aggregate.html
+++ b/checkstyle-aggregate.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20180823" />
+    <meta name="Date-Revision-yyyymmdd" content="20180824" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Checkstyle Results</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -9838,12 +9838,12 @@
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_javadoc.html#JavadocTagContinuationIndentation">JavadocTagContinuationIndentation</a>
 <ul>
 <li>offset: <tt>&quot;2&quot;</tt></li></ul></td>
-<td>763</td>
+<td>764</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="a">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_javadoc.html#NonEmptyAtclauseDescription">NonEmptyAtclauseDescription</a></td>
-<td>3606</td>
+<td>3605</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="b">
 <td>misc</td>
@@ -19479,7 +19479,7 @@
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>NonEmptyAtclauseDescription</td>
+<td>JavadocTagContinuationIndentation</td>
 <td>Javadoc comment at column 0 has parse error. Details: no viable alternative at input '   *' while parsing JAVADOC_TAG</td>
 <td>117</td></tr>
 <tr class="b">
@@ -23225,7 +23225,7 @@
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.exceptions.DeserializationException' import.</td>
-<td>24</td></tr></table></div>
+<td>25</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.ColumnFamilyDescriptor.java">org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.java</h3>
 <table border="0" class="table table-striped">
@@ -37613,55 +37613,55 @@
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.exceptions.DeserializationException' import.</td>
-<td>27</td></tr>
+<td>28</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hbase.thirdparty.com.google.common.base.Preconditions' import.</td>
-<td>30</td></tr>
+<td>31</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>56</td></tr>
+<td>57</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>65</td></tr>
+<td>66</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>103</td></tr>
+<td>104</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>107</td></tr>
+<td>108</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>120</td></tr>
+<td>121</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>124</td></tr>
+<td>125</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>125</td></tr></table></div>
+<td>126</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.ColumnPaginationFilter.java">org/apache/hadoop/hbase/filter/ColumnPaginationFilter.java</h3>
 <table border="0" class="table table-striped">
@@ -37676,79 +37676,79 @@
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.exceptions.DeserializationException' import.</td>
-<td>28</td></tr>
+<td>29</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.util.Bytes' import.</td>
-<td>30</td></tr>
+<td>31</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 115).</td>
-<td>38</td></tr>
+<td>39</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 110).</td>
-<td>39</td></tr>
+<td>40</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>LeftCurly</td>
 <td>'{' at column 3 should be on the previous line.</td>
-<td>60</td></tr>
+<td>61</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>113</td></tr>
+<td>114</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>LeftCurly</td>
 <td>'{' at column 3 should be on the previous line.</td>
-<td>121</td></tr>
+<td>122</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>LeftCurly</td>
 <td>'{' at column 3 should be on the previous line.</td>
-<td>156</td></tr>
+<td>157</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>188</td></tr>
+<td>189</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>192</td></tr>
+<td>193</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>209</td></tr>
+<td>210</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>213</td></tr>
+<td>214</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>214</td></tr></table></div>
+<td>215</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.ColumnPrefixFilter.java">org/apache/hadoop/hbase/filter/ColumnPrefixFilter.java</h3>
 <table border="0" class="table table-striped">
@@ -37763,73 +37763,73 @@
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.exceptions.DeserializationException' import.</td>
-<td>29</td></tr>
+<td>30</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.util.ByteBufferUtils' import.</td>
-<td>31</td></tr>
+<td>32</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>61</td></tr>
+<td>62</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>120</td></tr>
+<td>121</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>127</td></tr>
+<td>128</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>131</td></tr>
+<td>132</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>144</td></tr>
+<td>145</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>148</td></tr>
+<td>149</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' has incorrect indentation level 3, expected level should be 4.</td>
-<td>148</td></tr>
+<td>149</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>149</td></tr>
+<td>150</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' has incorrect indentation level 3, expected level should be 4.</td>
-<td>149</td></tr>
+<td>150</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 3, expected level should be 4.</td>
-<td>151</td></tr></table></div>
+<td>152</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.ColumnRangeFilter.java">org/apache/hadoop/hbase/filter/ColumnRangeFilter.java</h3>
 <table border="0" class="table table-striped">
@@ -37844,67 +37844,67 @@
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.exceptions.DeserializationException' import.</td>
-<td>31</td></tr>
+<td>32</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.util.Bytes' import.</td>
-<td>35</td></tr>
+<td>36</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>62</td></tr>
+<td>63</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>66</td></tr>
+<td>67</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>124</td></tr>
+<td>125</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>167</td></tr>
+<td>168</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>169</td></tr>
+<td>170</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>182</td></tr>
+<td>183</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>185</td></tr>
+<td>186</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>194</td></tr>
+<td>195</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>198</td></tr></table></div>
+<td>199</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.CompareFilter.java">org/apache/hadoop/hbase/filter/CompareFilter.java</h3>
 <table border="0" class="table table-striped">
@@ -37919,145 +37919,145 @@
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>136</td></tr>
+<td>137</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>159</td></tr>
+<td>160</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>182</td></tr>
+<td>183</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>207</td></tr>
+<td>208</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child has incorrect indentation level 4, expected level should be 6.</td>
-<td>231</td></tr>
+<td>232</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child has incorrect indentation level 6, expected level should be 8.</td>
-<td>232</td></tr>
+<td>233</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child has incorrect indentation level 4, expected level should be 6.</td>
-<td>233</td></tr>
+<td>234</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child has incorrect indentation level 6, expected level should be 8.</td>
-<td>234</td></tr>
+<td>235</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child has incorrect indentation level 4, expected level should be 6.</td>
-<td>235</td></tr>
+<td>236</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child has incorrect indentation level 6, expected level should be 8.</td>
-<td>236</td></tr>
+<td>237</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child has incorrect indentation level 4, expected level should be 6.</td>
-<td>237</td></tr>
+<td>238</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child has incorrect indentation level 6, expected level should be 8.</td>
-<td>238</td></tr>
+<td>239</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child has incorrect indentation level 4, expected level should be 6.</td>
-<td>239</td></tr>
+<td>240</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child has incorrect indentation level 6, expected level should be 8.</td>
-<td>240</td></tr>
+<td>241</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child has incorrect indentation level 4, expected level should be 6.</td>
-<td>241</td></tr>
+<td>242</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child has incorrect indentation level 6, expected level should be 8.</td>
-<td>242</td></tr>
+<td>243</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child has incorrect indentation level 4, expected level should be 6.</td>
-<td>243</td></tr>
+<td>244</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child has incorrect indentation level 6, expected level should be 8.</td>
-<td>244</td></tr>
+<td>245</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>MethodParamPad</td>
 <td>'(' is preceded with whitespace.</td>
-<td>279</td></tr>
+<td>280</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>297</td></tr>
+<td>298</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>303</td></tr>
+<td>304</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>305</td></tr>
+<td>306</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>309</td></tr>
+<td>310</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>310</td></tr></table></div>
+<td>311</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.DependentColumnFilter.java">org/apache/hadoop/hbase/filter/DependentColumnFilter.java</h3>
 <table border="0" class="table table-striped">
@@ -38072,79 +38072,79 @@
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.exceptions.DeserializationException' import.</td>
-<td>31</td></tr>
+<td>32</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.util.Bytes' import.</td>
-<td>34</td></tr>
+<td>35</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>70</td></tr>
+<td>71</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>158</td></tr>
+<td>159</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child has incorrect indentation level 8, expected level should be 6.</td>
-<td>169</td></tr>
+<td>170</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>172</td></tr>
+<td>173</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>258</td></tr>
+<td>259</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>262</td></tr>
+<td>263</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'CompareOperator' has incorrect indentation level 4, expected level should be 6.</td>
-<td>270</td></tr>
+<td>271</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>286</td></tr>
+<td>287</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>288</td></tr>
+<td>289</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>294</td></tr>
+<td>295</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>295</td></tr></table></div>
+<td>296</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.FamilyFilter.java">org/apache/hadoop/hbase/filter/FamilyFilter.java</h3>
 <table border="0" class="table table-striped">
@@ -38159,79 +38159,79 @@
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.exceptions.DeserializationException' import.</td>
-<td>28</td></tr>
+<td>29</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException' import.</td>
-<td>31</td></tr>
+<td>32</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 144).</td>
-<td>39</td></tr>
+<td>40</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 116).</td>
-<td>44</td></tr>
+<td>45</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>56</td></tr>
+<td>57</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'ctor def' child has incorrect indentation level 6, expected level should be 4.</td>
-<td>61</td></tr>
+<td>62</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>75</td></tr>
+<td>76</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>113</td></tr>
+<td>114</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>117</td></tr>
+<td>118</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>139</td></tr>
+<td>140</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>143</td></tr>
+<td>144</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>144</td></tr>
+<td>145</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' has incorrect indentation level 1, expected level should be 2.</td>
-<td>148</td></tr></table></div>
+<td>149</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.Filter.java">org/apache/hadoop/hbase/filter/Filter.java</h3>
 <table border="0" class="table table-striped">
@@ -38339,43 +38339,43 @@
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.exceptions.DeserializationException' import.</td>
-<td>29</td></tr>
+<td>30</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>88</td></tr>
+<td>89</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>168</td></tr>
+<td>169</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>215</td></tr>
+<td>216</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>239</td></tr>
+<td>240</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>245</td></tr>
+<td>246</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>246</td></tr></table></div>
+<td>247</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.FilterListBase.java">org/apache/hadoop/hbase/filter/FilterListBase.java</h3>
 <table border="0" class="table table-striped">
@@ -38411,61 +38411,61 @@
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 133).</td>
-<td>74</td></tr>
+<td>76</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 198).</td>
-<td>83</td></tr>
+<td>85</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 198).</td>
-<td>84</td></tr>
+<td>86</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 198).</td>
-<td>85</td></tr>
+<td>87</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 198).</td>
-<td>86</td></tr>
+<td>88</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 198).</td>
-<td>87</td></tr>
+<td>89</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 198).</td>
-<td>88</td></tr>
+<td>90</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 198).</td>
-<td>89</td></tr>
+<td>91</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 198).</td>
-<td>90</td></tr>
+<td>92</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 101).</td>
-<td>142</td></tr></table></div>
+<td>144</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.FilterListWithOR.java">org/apache/hadoop/hbase/filter/FilterListWithOR.java</h3>
 <table border="0" class="table table-striped">
@@ -38486,589 +38486,589 @@
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child has incorrect indentation level 4, expected level should be 6.</td>
-<td>92</td></tr>
+<td>94</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child has incorrect indentation level 4, expected level should be 6.</td>
-<td>93</td></tr>
+<td>95</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child has incorrect indentation level 6, expected level should be 8.</td>
-<td>94</td></tr>
+<td>96</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child has incorrect indentation level 4, expected level should be 6.</td>
-<td>95</td></tr>
+<td>97</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child has incorrect indentation level 6, expected level should be 8.</td>
-<td>96</td></tr>
+<td>98</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child has incorrect indentation level 6, expected level should be 8.</td>
-<td>97</td></tr>
+<td>99</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child has incorrect indentation level 4, expected level should be 6.</td>
-<td>98</td></tr>
+<td>100</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child has incorrect indentation level 4, expected level should be 6.</td>
-<td>99</td></tr>
+<td>101</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child has incorrect indentation level 6, expected level should be 8.</td>
-<td>102</td></tr>
+<td>104</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child has incorrect indentation level 4, expected level should be 6.</td>
-<td>103</td></tr>
+<td>105</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child has incorrect indentation level 4, expected level should be 6.</td>
-<td>104</td></tr>
+<td>106</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child has incorrect indentation level 6, expected level should be 8.</td>
-<td>106</td></tr>
+<td>108</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child has incorrect indentation level 4, expected level should be 6.</td>
-<td>107</td></tr>
+<td>109</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child has incorrect indentation level 6, expected level should be 8.</td>
-<td>108</td></tr>
+<td>110</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 133).</td>
-<td>122</td></tr>
+<td>124</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 170).</td>
-<td>131</td></tr>
+<td>133</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 157).</td>
-<td>132</td></tr>
+<td>134</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 157).</td>
-<td>133</td></tr>
+<td>135</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 157).</td>
-<td>134</td></tr>
+<td>136</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 154).</td>
-<td>135</td></tr>
+<td>137</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 154).</td>
-<td>136</td></tr>
+<td>138</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 154).</td>
-<td>137</td></tr>
+<td>139</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 170).</td>
-<td>138</td></tr>
+<td>140</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>147</td></tr>
+<td>149</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child has incorrect indentation level 4, expected level should be 6.</td>
-<td>149</td></tr>
+<td>151</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child has incorrect indentation level 6, expected level should be 8.</td>
-<td>150</td></tr>
+<td>152</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child has incorrect indentation level 4, expected level should be 6.</td>
-<td>151</td></tr>
+<td>153</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' has incorrect indentation level 6, expected level should be 8.</td>
-<td>152</td></tr>
+<td>154</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child has incorrect indentation level 8, expected level should be 10.</td>
-<td>154</td></tr>
+<td>156</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' has incorrect indentation level 6, expected level should be 8.</td>
-<td>155</td></tr>
+<td>157</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' has incorrect indentation level 6, expected level should be 8.</td>
-<td>156</td></tr>
+<td>158</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child has incorrect indentation level 8, expected level should be 10.</td>
-<td>158</td></tr>
+<td>160</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' has incorrect indentation level 6, expected level should be 8.</td>
-<td>159</td></tr>
+<td>161</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child has incorrect indentation level 6, expected level should be 8.</td>
-<td>160</td></tr>
+<td>162</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child has incorrect indentation level 4, expected level should be 6.</td>
-<td>161</td></tr>
+<td>163</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' has incorrect indentation level 6, expected level should be 8.</td>
-<td>162</td></tr>
+<td>164</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child has incorrect indentation level 8, expected level should be 10.</td>
-<td>164</td></tr>
+<td>166</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' has incorrect indentation level 6, expected level should be 8.</td>
-<td>165</td></tr>
+<td>167</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' has incorrect indentation level 6, expected level should be 8.</td>
-<td>166</td></tr>
+<td>168</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child has incorrect indentation level 8, expected level should be 10.</td>
-<td>167</td></tr>
+<td>169</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' has incorrect indentation level 6, expected level should be 8.</td>
-<td>168</td></tr>
+<td>170</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' has incorrect indentation level 6, expected level should be 8.</td>
-<td>169</td></tr>
+<td>171</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child has incorrect indentation level 8, expected level should be 10.</td>
-<td>170</td></tr>
+<td>172</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' has incorrect indentation level 6, expected level should be 8.</td>
-<td>171</td></tr>
+<td>173</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child has incorrect indentation level 6, expected level should be 8.</td>
-<td>172</td></tr>
+<td>174</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child has incorrect indentation level 4, expected level should be 6.</td>
-<td>173</td></tr>
+<td>175</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' has incorrect indentation level 6, expected level should be 8.</td>
-<td>174</td></tr>
+<td>176</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child has incorrect indentation level 8, expected level should be 10.</td>
-<td>176</td></tr>
+<td>178</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' has incorrect indentation level 6, expected level should be 8.</td>
-<td>177</td></tr>
+<td>179</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' has incorrect indentation level 6, expected level should be 8.</td>
-<td>178</td></tr>
+<td>180</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child has incorrect indentation level 8, expected level should be 10.</td>
-<td>180</td></tr>
+<td>182</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' has incorrect indentation level 6, expected level should be 8.</td>
-<td>181</td></tr>
+<td>183</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child has incorrect indentation level 6, expected level should be 8.</td>
-<td>182</td></tr>
+<td>184</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child has incorrect indentation level 4, expected level should be 6.</td>
-<td>183</td></tr>
+<td>185</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' has incorrect indentation level 6, expected level should be 8.</td>
-<td>184</td></tr>
+<td>186</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child has incorrect indentation level 8, expected level should be 10.</td>
-<td>185</td></tr>
+<td>187</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' has incorrect indentation level 6, expected level should be 8.</td>
-<td>186</td></tr>
+<td>188</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' has incorrect indentation level 6, expected level should be 8.</td>
-<td>187</td></tr>
+<td>189</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child has incorrect indentation level 8, expected level should be 10.</td>
-<td>188</td></tr>
+<td>190</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' has incorrect indentation level 6, expected level should be 8.</td>
-<td>189</td></tr>
+<td>191</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' has incorrect indentation level 6, expected level should be 8.</td>
-<td>190</td></tr>
+<td>192</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child has incorrect indentation level 8, expected level should be 10.</td>
-<td>192</td></tr>
+<td>194</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' has incorrect indentation level 6, expected level should be 8.</td>
-<td>193</td></tr>
+<td>195</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' has incorrect indentation level 6, expected level should be 8.</td>
-<td>194</td></tr>
+<td>196</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child has incorrect indentation level 8, expected level should be 10.</td>
-<td>195</td></tr>
+<td>197</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' has incorrect indentation level 6, expected level should be 8.</td>
-<td>196</td></tr>
+<td>198</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child has incorrect indentation level 6, expected level should be 8.</td>
-<td>197</td></tr>
+<td>199</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child has incorrect indentation level 4, expected level should be 6.</td>
-<td>198</td></tr>
+<td>200</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' has incorrect indentation level 6, expected level should be 8.</td>
-<td>199</td></tr>
+<td>201</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child has incorrect indentation level 8, expected level should be 10.</td>
-<td>200</td></tr>
+<td>202</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' has incorrect indentation level 6, expected level should be 8.</td>
-<td>201</td></tr>
+<td>203</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' has incorrect indentation level 6, expected level should be 8.</td>
-<td>202</td></tr>
+<td>204</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child has incorrect indentation level 8, expected level should be 10.</td>
-<td>203</td></tr>
+<td>205</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' has incorrect indentation level 6, expected level should be 8.</td>
-<td>204</td></tr>
+<td>206</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' has incorrect indentation level 6, expected level should be 8.</td>
-<td>205</td></tr>
+<td>207</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child has incorrect indentation level 8, expected level should be 10.</td>
-<td>206</td></tr>
+<td>208</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' has incorrect indentation level 6, expected level should be 8.</td>
-<td>207</td></tr>
+<td>209</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' has incorrect indentation level 6, expected level should be 8.</td>
-<td>208</td></tr>
+<td>210</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child has incorrect indentation level 8, expected level should be 10.</td>
-<td>209</td></tr>
+<td>211</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' has incorrect indentation level 6, expected level should be 8.</td>
-<td>210</td></tr>
+<td>212</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' has incorrect indentation level 6, expected level should be 8.</td>
-<td>211</td></tr>
+<td>213</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child has incorrect indentation level 8, expected level should be 10.</td>
-<td>212</td></tr>
+<td>214</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' has incorrect indentation level 6, expected level should be 8.</td>
-<td>213</td></tr>
+<td>215</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' has incorrect indentation level 6, expected level should be 8.</td>
-<td>214</td></tr>
+<td>216</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child has incorrect indentation level 8, expected level should be 10.</td>
-<td>215</td></tr>
+<td>217</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' has incorrect indentation level 6, expected level should be 8.</td>
-<td>216</td></tr>
+<td>218</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child has incorrect indentation level 6, expected level should be 8.</td>
-<td>217</td></tr>
+<td>219</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child has incorrect indentation level 4, expected level should be 6.</td>
-<td>218</td></tr>
+<td>220</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' has incorrect indentation level 6, expected level should be 8.</td>
-<td>219</td></tr>
+<td>221</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child has incorrect indentation level 8, expected level should be 10.</td>
-<td>221</td></tr>
+<td>223</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' has incorrect indentation level 6, expected level should be 8.</td>
-<td>222</td></tr>
+<td>224</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' has incorrect indentation level 6, expected level should be 8.</td>
-<td>223</td></tr>
+<td>225</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child has incorrect indentation level 8, expected level should be 10.</td>
-<td>224</td></tr>
+<td>226</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' has incorrect indentation level 6, expected level should be 8.</td>
-<td>225</td></tr>
+<td>227</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' has incorrect indentation level 6, expected level should be 8.</td>
-<td>226</td></tr>
+<td>228</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child has incorrect indentation level 8, expected level should be 10.</td>
-<td>227</td></tr>
+<td>229</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' has incorrect indentation level 6, expected level should be 8.</td>
-<td>228</td></tr>
+<td>230</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child has incorrect indentation level 6, expected level should be 8.</td>
-<td>229</td></tr></table></div>
+<td>231</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.FilterTestingCluster.java">org/apache/hadoop/hbase/filter/FilterTestingCluster.java</h3>
 <table border="0" class="table table-striped">
@@ -39242,61 +39242,61 @@
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.exceptions.DeserializationException' import.</td>
-<td>27</td></tr>
+<td>28</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.util.Bytes' import.</td>
-<td>29</td></tr>
+<td>30</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>63</td></tr>
+<td>64</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>96</td></tr>
+<td>97</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 102).</td>
-<td>103</td></tr>
+<td>104</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>104</td></tr>
+<td>105</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>108</td></tr>
+<td>109</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>126</td></tr>
+<td>127</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>130</td></tr>
+<td>131</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>131</td></tr></table></div>
+<td>132</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.FuzzyRowFilter.java">org/apache/hadoop/hbase/filter/FuzzyRowFilter.java</h3>
 <table border="0" class="table table-striped">
@@ -39311,121 +39311,121 @@
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.exceptions.DeserializationException' import.</td>
-<td>30</td></tr>
+<td>31</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.util.Bytes' import.</td>
-<td>35</td></tr>
+<td>36</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 120).</td>
-<td>84</td></tr>
+<td>85</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>122</td></tr>
+<td>123</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>130</td></tr>
+<td>131</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>150</td></tr>
+<td>151</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' has incorrect indentation level 16, expected level should be one of the following: 10, 12.</td>
-<td>208</td></tr>
+<td>209</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child has incorrect indentation level 18, expected level should be one of the following: 12, 14.</td>
-<td>211</td></tr>
+<td>212</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' has incorrect indentation level 16, expected level should be one of the following: 10, 12.</td>
-<td>213</td></tr>
+<td>214</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'object def rcurly' has incorrect indentation level 14, expected level should be one of the following: 8, 10.</td>
-<td>214</td></tr>
+<td>215</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 107).</td>
-<td>220</td></tr>
+<td>221</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 114).</td>
-<td>243</td></tr>
+<td>244</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>281</td></tr>
+<td>282</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>610</td></tr>
+<td>611</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>611</td></tr>
+<td>612</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>620</td></tr>
+<td>621</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>622</td></tr>
+<td>623</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>634</td></tr>
+<td>635</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>635</td></tr>
+<td>636</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>638</td></tr></table></div>
+<td>639</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.InclusiveStopFilter.java">org/apache/hadoop/hbase/filter/InclusiveStopFilter.java</h3>
 <table border="0" class="table table-striped">
@@ -39440,79 +39440,79 @@
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.exceptions.DeserializationException' import.</td>
-<td>27</td></tr>
+<td>28</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.util.Bytes' import.</td>
-<td>31</td></tr>
+<td>32</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>54</td></tr>
+<td>55</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>62</td></tr>
+<td>63</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>69</td></tr>
+<td>70</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 103).</td>
-<td>70</td></tr>
+<td>71</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>MethodParamPad</td>
 <td>'(' is preceded with whitespace.</td>
-<td>80</td></tr>
+<td>81</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>94</td></tr>
+<td>95</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>102</td></tr>
+<td>103</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>106</td></tr>
+<td>107</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>119</td></tr>
+<td>120</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>123</td></tr>
+<td>124</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>124</td></tr></table></div>
+<td>125</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.KeyOnlyFilter.java">org/apache/hadoop/hbase/filter/KeyOnlyFilter.java</h3>
 <table border="0" class="table table-striped">
@@ -39527,49 +39527,49 @@
 <td>blocks</td>
 <td>LeftCurly</td>
 <td>'{' at column 26 should have line break after.</td>
-<td>51</td></tr>
+<td>53</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>LeftCurly</td>
 <td>'{' at column 42 should have line break after.</td>
-<td>52</td></tr>
+<td>54</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>73</td></tr>
+<td>75</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>108</td></tr>
+<td>110</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>112</td></tr>
+<td>114</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>125</td></tr>
+<td>127</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>129</td></tr>
+<td>131</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>130</td></tr></table></div>
+<td>132</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.LongComparator.java">org/apache/hadoop/hbase/filter/LongComparator.java</h3>
 <table border="0" class="table table-striped">
@@ -39743,61 +39743,61 @@
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.exceptions.DeserializationException' import.</td>
-<td>29</td></tr>
+<td>30</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.util.Bytes' import.</td>
-<td>33</td></tr>
+<td>34</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>81</td></tr>
+<td>82</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>128</td></tr>
+<td>129</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>156</td></tr>
+<td>157</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>159</td></tr>
+<td>160</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>171</td></tr>
+<td>172</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>200</td></tr>
+<td>201</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>202</td></tr>
+<td>203</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>206</td></tr></table></div>
+<td>207</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.MultipleColumnPrefixFilter.java">org/apache/hadoop/hbase/filter/MultipleColumnPrefixFilter.java</h3>
 <table border="0" class="table table-striped">
@@ -39812,91 +39812,91 @@
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.exceptions.DeserializationException' import.</td>
-<td>29</td></tr>
+<td>31</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.util.Bytes' import.</td>
-<td>33</td></tr>
+<td>35</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>49</td></tr>
+<td>51</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>MethodParamPad</td>
 <td>'(' is preceded with whitespace.</td>
-<td>50</td></tr>
+<td>52</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>70</td></tr>
+<td>72</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>126</td></tr>
+<td>128</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>134</td></tr>
+<td>136</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>138</td></tr>
+<td>140</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>157</td></tr>
+<td>159</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>161</td></tr>
+<td>163</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>162</td></tr>
+<td>164</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>MethodParamPad</td>
 <td>'(' is preceded with whitespace.</td>
-<td>176</td></tr>
+<td>178</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>177</td></tr>
+<td>179</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>MethodParamPad</td>
 <td>'(' is preceded with whitespace.</td>
-<td>178</td></tr>
+<td>180</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>MethodParamPad</td>
 <td>'(' is preceded with whitespace.</td>
-<td>182</td></tr></table></div>
+<td>184</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.NullComparator.java">org/apache/hadoop/hbase/filter/NullComparator.java</h3>
 <table border="0" class="table table-striped">
@@ -39968,25 +39968,25 @@
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>65</td></tr>
+<td>66</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>69</td></tr>
+<td>70</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>117</td></tr>
+<td>118</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>121</td></tr></table></div>
+<td>122</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.ParseConstants.java">org/apache/hadoop/hbase/filter/ParseConstants.java</h3>
 <table border="0" class="table table-striped">
@@ -40307,79 +40307,79 @@
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.exceptions.DeserializationException' import.</td>
-<td>27</td></tr>
+<td>28</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.util.ByteBufferUtils' import.</td>
-<td>29</td></tr>
+<td>30</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>55</td></tr>
+<td>56</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>57</td></tr>
+<td>58</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>59</td></tr>
+<td>60</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>79</td></tr>
+<td>80</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>87</td></tr>
+<td>88</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>120</td></tr>
+<td>121</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>127</td></tr>
+<td>128</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>131</td></tr>
+<td>132</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>144</td></tr>
+<td>145</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>148</td></tr>
+<td>149</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>149</td></tr></table></div>
+<td>150</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.QualifierFilter.java">org/apache/hadoop/hbase/filter/QualifierFilter.java</h3>
 <table border="0" class="table table-striped">
@@ -40394,55 +40394,55 @@
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.exceptions.DeserializationException' import.</td>
-<td>28</td></tr>
+<td>29</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException' import.</td>
-<td>31</td></tr>
+<td>32</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>55</td></tr>
+<td>56</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>73</td></tr>
+<td>74</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>111</td></tr>
+<td>112</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>115</td></tr>
+<td>116</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>137</td></tr>
+<td>138</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>141</td></tr>
+<td>142</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>142</td></tr></table></div>
+<td>143</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.RandomRowFilter.java">org/apache/hadoop/hbase/filter/RandomRowFilter.java</h3>
 <table border="0" class="table table-striped">
@@ -40457,61 +40457,61 @@
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.exceptions.DeserializationException' import.</td>
-<td>26</td></tr>
+<td>27</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException' import.</td>
-<td>29</td></tr>
+<td>30</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>45</td></tr>
+<td>46</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>61</td></tr>
+<td>62</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>72</td></tr>
+<td>73</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>130</td></tr>
+<td>131</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>134</td></tr>
+<td>135</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>147</td></tr>
+<td>148</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>151</td></tr>
+<td>152</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>152</td></tr></table></div>
+<td>153</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.RegexStringComparator.java">org/apache/hadoop/hbase/filter/RegexStringComparator.java</h3>
 <table border="0" class="table table-striped">
@@ -40613,49 +40613,49 @@
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.exceptions.DeserializationException' import.</td>
-<td>28</td></tr>
+<td>29</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException' import.</td>
-<td>31</td></tr>
+<td>32</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>79</td></tr>
+<td>80</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>128</td></tr>
+<td>129</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>132</td></tr>
+<td>133</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>154</td></tr>
+<td>155</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>158</td></tr>
+<td>159</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>159</td></tr></table></div>
+<td>160</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.filter.SingleColumnValueExcludeFilter.java">org/apache/hadoop/hbase/filter/SingleColumnValueExcludeFilter.java</h3>
 <table border="0" class="table table-striped">
@@ -40817,139 +40817,139 @@
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.exceptions.DeserializationException' import.</td>
-<td>30</td></tr>
+<td>31</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.util.Bytes' import.</td>
-<td>38</td></tr>
+<td>39</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>173</td></tr>
+<td>174</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>174</td></tr>
+<td>175</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>175</td></tr>
+<td>176</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>176</td></tr>
+<td>177</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>177</td></tr>
+<td>178</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>178</td></tr>
+<td>179</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>194</td></tr>
+<td>195</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>195</td></tr>
+<td>196</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>196</td></tr>
+<td>197</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>197</td></tr>
+<td>198</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>198</td></tr>
+<td>199</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>199</td></tr>
+<td>200</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>annotation</td>
 <td>MissingDeprecated</td>
 <td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
-<td>249</td></tr>
+<td>250</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 114).</td>
-<td>257</td></tr>
+<td>258</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>302</td></tr>
+<td>303</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>MethodParamPad</td>
 <td>'(' is preceded with whitespace.</td>
-<td>355</td></tr>
+<td>356</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>401</td></tr>
+<td>402</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>405</td></tr>
+<td>406</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>430</td></tr>
+<td>431</td></tr>
 <tr class="b">
 <td><img src="images/icon_error

<TRUNCATED>

[32/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html
index a9629dd..1e6a2bb 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/KeyOnlyFilter.html
@@ -31,430 +31,446 @@
 <span class="sourceLineNo">023</span>import java.util.ArrayList;<a name="line.23"></a>
 <span class="sourceLineNo">024</span>import java.util.Collections;<a name="line.24"></a>
 <span class="sourceLineNo">025</span>import java.util.Iterator;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.Optional;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.ByteBufferExtendedCell;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.Cell;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.HConstants;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.Tag;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.34"></a>
-<span class="sourceLineNo">035</span><a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span>/**<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * A filter that will only return the key component of each KV (the value will<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * be rewritten as empty).<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * &lt;p&gt;<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * This filter can be used to grab all of the keys without having to also grab<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * the values.<a name="line.45"></a>
-<span class="sourceLineNo">046</span> */<a name="line.46"></a>
-<span class="sourceLineNo">047</span>@InterfaceAudience.Public<a name="line.47"></a>
-<span class="sourceLineNo">048</span>public class KeyOnlyFilter extends FilterBase {<a name="line.48"></a>
-<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span>  boolean lenAsVal;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>  public KeyOnlyFilter() { this(false); }<a name="line.51"></a>
-<span class="sourceLineNo">052</span>  public KeyOnlyFilter(boolean lenAsVal) { this.lenAsVal = lenAsVal; }<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>  @Override<a name="line.54"></a>
-<span class="sourceLineNo">055</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.56"></a>
-<span class="sourceLineNo">057</span>    return false;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  }<a name="line.58"></a>
-<span class="sourceLineNo">059</span><a name="line.59"></a>
-<span class="sourceLineNo">060</span>  @Override<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  public Cell transformCell(Cell cell) {<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    return createKeyOnlyCell(cell);<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  }<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span>  private Cell createKeyOnlyCell(Cell c) {<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    if (c instanceof ByteBufferExtendedCell) {<a name="line.66"></a>
-<span class="sourceLineNo">067</span>      return new KeyOnlyByteBufferExtendedCell((ByteBufferExtendedCell) c, lenAsVal);<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    } else {<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      return new KeyOnlyCell(c, lenAsVal);<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    }<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  }<a name="line.71"></a>
-<span class="sourceLineNo">072</span><a name="line.72"></a>
-<span class="sourceLineNo">073</span>  @Deprecated<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  @Override<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  public ReturnCode filterKeyValue(final Cell ignored) throws IOException {<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    return filterCell(ignored);<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  }<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  @Override<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  public ReturnCode filterCell(final Cell ignored) throws IOException {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    return ReturnCode.INCLUDE;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>  }<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    Preconditions.checkArgument((filterArguments.isEmpty() || filterArguments.size() == 1),<a name="line.85"></a>
-<span class="sourceLineNo">086</span>                                "Expected: 0 or 1 but got: %s", filterArguments.size());<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    KeyOnlyFilter filter = new KeyOnlyFilter();<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    if (filterArguments.size() == 1) {<a name="line.88"></a>
-<span class="sourceLineNo">089</span>      filter.lenAsVal = ParseFilter.convertByteArrayToBoolean(filterArguments.get(0));<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    }<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    return filter;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  }<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>  /**<a name="line.94"></a>
-<span class="sourceLineNo">095</span>   * @return The filter serialized using pb<a name="line.95"></a>
-<span class="sourceLineNo">096</span>   */<a name="line.96"></a>
-<span class="sourceLineNo">097</span>  @Override<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  public byte [] toByteArray() {<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    FilterProtos.KeyOnlyFilter.Builder builder =<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      FilterProtos.KeyOnlyFilter.newBuilder();<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    builder.setLenAsVal(this.lenAsVal);<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    return builder.build().toByteArray();<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  }<a name="line.103"></a>
-<span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>  /**<a name="line.105"></a>
-<span class="sourceLineNo">106</span>   * @param pbBytes A pb serialized {@link KeyOnlyFilter} instance<a name="line.106"></a>
-<span class="sourceLineNo">107</span>   * @return An instance of {@link KeyOnlyFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>   * @throws DeserializationException<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   * @see #toByteArray<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   */<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  public static KeyOnlyFilter parseFrom(final byte [] pbBytes)<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  throws DeserializationException {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    FilterProtos.KeyOnlyFilter proto;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    try {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      proto = FilterProtos.KeyOnlyFilter.parseFrom(pbBytes);<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    } catch (InvalidProtocolBufferException e) {<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      throw new DeserializationException(e);<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    }<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    return new KeyOnlyFilter(proto.getLenAsVal());<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  }<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>  /**<a name="line.122"></a>
-<span class="sourceLineNo">123</span>   * @param o the other filter to compare with<a name="line.123"></a>
-<span class="sourceLineNo">124</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.124"></a>
-<span class="sourceLineNo">125</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.125"></a>
-<span class="sourceLineNo">126</span>   */<a name="line.126"></a>
-<span class="sourceLineNo">127</span>  @Override<a name="line.127"></a>
-<span class="sourceLineNo">128</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    if (o == this) return true;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    if (!(o instanceof KeyOnlyFilter)) return false;<a name="line.130"></a>
-<span class="sourceLineNo">131</span><a name="line.131"></a>
-<span class="sourceLineNo">132</span>    KeyOnlyFilter other = (KeyOnlyFilter)o;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    return this.lenAsVal == other.lenAsVal;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>  }<a name="line.134"></a>
-<span class="sourceLineNo">135</span><a name="line.135"></a>
-<span class="sourceLineNo">136</span>  static class KeyOnlyCell implements Cell {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    private Cell cell;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    private boolean lenAsVal;<a name="line.138"></a>
-<span class="sourceLineNo">139</span><a name="line.139"></a>
-<span class="sourceLineNo">140</span>    public KeyOnlyCell(Cell c, boolean lenAsVal) {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>      this.cell = c;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      this.lenAsVal = lenAsVal;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    }<a name="line.143"></a>
-<span class="sourceLineNo">144</span><a name="line.144"></a>
-<span class="sourceLineNo">145</span>    @Override<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    public byte[] getRowArray() {<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      return cell.getRowArray();<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    }<a name="line.148"></a>
-<span class="sourceLineNo">149</span><a name="line.149"></a>
-<span class="sourceLineNo">150</span>    @Override<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    public int getRowOffset() {<a name="line.151"></a>
-<span class="sourceLineNo">152</span>      return cell.getRowOffset();<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>    @Override<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    public short getRowLength() {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>      return cell.getRowLength();<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    }<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>    @Override<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    public byte[] getFamilyArray() {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>      return cell.getFamilyArray();<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    }<a name="line.163"></a>
-<span class="sourceLineNo">164</span><a name="line.164"></a>
-<span class="sourceLineNo">165</span>    @Override<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    public int getFamilyOffset() {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      return cell.getFamilyOffset();<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>    @Override<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    public byte getFamilyLength() {<a name="line.171"></a>
-<span class="sourceLineNo">172</span>      return cell.getFamilyLength();<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>    @Override<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    public byte[] getQualifierArray() {<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      return cell.getQualifierArray();<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    }<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span>    @Override<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    public int getQualifierOffset() {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      return cell.getQualifierOffset();<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    }<a name="line.183"></a>
-<span class="sourceLineNo">184</span><a name="line.184"></a>
-<span class="sourceLineNo">185</span>    @Override<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    public int getQualifierLength() {<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      return cell.getQualifierLength();<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    }<a name="line.188"></a>
-<span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>    @Override<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    public long getTimestamp() {<a name="line.191"></a>
-<span class="sourceLineNo">192</span>      return cell.getTimestamp();<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    }<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span>    @Override<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    public byte getTypeByte() {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      return cell.getTypeByte();<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    }<a name="line.198"></a>
-<span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>    @Override<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    public Type getType() {<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      return cell.getType();<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    }<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
+<span class="sourceLineNo">026</span>import java.util.Objects;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.Optional;<a name="line.27"></a>
+<span class="sourceLineNo">028</span><a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.ByteBufferExtendedCell;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.Cell;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.HConstants;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.Tag;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.util.ClassSize;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.36"></a>
+<span class="sourceLineNo">037</span><a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<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> * A filter that will only return the key component of each KV (the value will<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * be rewritten as empty).<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * &lt;p&gt;<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * This filter can be used to grab all of the keys without having to also grab<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * the values.<a name="line.47"></a>
+<span class="sourceLineNo">048</span> */<a name="line.48"></a>
+<span class="sourceLineNo">049</span>@InterfaceAudience.Public<a name="line.49"></a>
+<span class="sourceLineNo">050</span>public class KeyOnlyFilter extends FilterBase {<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>  boolean lenAsVal;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>  public KeyOnlyFilter() { this(false); }<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  public KeyOnlyFilter(boolean lenAsVal) { this.lenAsVal = lenAsVal; }<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>  @Override<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  public boolean filterRowKey(Cell cell) throws IOException {<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    // Impl in FilterBase might do unnecessary copy for Off heap backed Cells.<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    return false;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  }<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span>  @Override<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  public Cell transformCell(Cell cell) {<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    return createKeyOnlyCell(cell);<a name="line.64"></a>
+<span class="sourceLineNo">065</span>  }<a name="line.65"></a>
+<span class="sourceLineNo">066</span><a name="line.66"></a>
+<span class="sourceLineNo">067</span>  private Cell createKeyOnlyCell(Cell c) {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    if (c instanceof ByteBufferExtendedCell) {<a name="line.68"></a>
+<span class="sourceLineNo">069</span>      return new KeyOnlyByteBufferExtendedCell((ByteBufferExtendedCell) c, lenAsVal);<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    } else {<a name="line.70"></a>
+<span class="sourceLineNo">071</span>      return new KeyOnlyCell(c, lenAsVal);<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    }<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>  @Deprecated<a name="line.75"></a>
+<span class="sourceLineNo">076</span>  @Override<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  public ReturnCode filterKeyValue(final Cell ignored) throws IOException {<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    return filterCell(ignored);<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  }<a name="line.79"></a>
+<span class="sourceLineNo">080</span><a name="line.80"></a>
+<span class="sourceLineNo">081</span>  @Override<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  public ReturnCode filterCell(final Cell ignored) throws IOException {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    return ReturnCode.INCLUDE;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  }<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>  public static Filter createFilterFromArguments(ArrayList&lt;byte []&gt; filterArguments) {<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    Preconditions.checkArgument((filterArguments.isEmpty() || filterArguments.size() == 1),<a name="line.87"></a>
+<span class="sourceLineNo">088</span>                                "Expected: 0 or 1 but got: %s", filterArguments.size());<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    KeyOnlyFilter filter = new KeyOnlyFilter();<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    if (filterArguments.size() == 1) {<a name="line.90"></a>
+<span class="sourceLineNo">091</span>      filter.lenAsVal = ParseFilter.convertByteArrayToBoolean(filterArguments.get(0));<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    }<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    return filter;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>  }<a name="line.94"></a>
+<span class="sourceLineNo">095</span><a name="line.95"></a>
+<span class="sourceLineNo">096</span>  /**<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   * @return The filter serialized using pb<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   */<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  @Override<a name="line.99"></a>
+<span class="sourceLineNo">100</span>  public byte [] toByteArray() {<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    FilterProtos.KeyOnlyFilter.Builder builder =<a name="line.101"></a>
+<span class="sourceLineNo">102</span>      FilterProtos.KeyOnlyFilter.newBuilder();<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    builder.setLenAsVal(this.lenAsVal);<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    return builder.build().toByteArray();<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  }<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span>  /**<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   * @param pbBytes A pb serialized {@link KeyOnlyFilter} instance<a name="line.108"></a>
+<span class="sourceLineNo">109</span>   * @return An instance of {@link KeyOnlyFilter} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>   * @throws DeserializationException<a name="line.110"></a>
+<span class="sourceLineNo">111</span>   * @see #toByteArray<a name="line.111"></a>
+<span class="sourceLineNo">112</span>   */<a name="line.112"></a>
+<span class="sourceLineNo">113</span>  public static KeyOnlyFilter parseFrom(final byte [] pbBytes)<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  throws DeserializationException {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    FilterProtos.KeyOnlyFilter proto;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    try {<a name="line.116"></a>
+<span class="sourceLineNo">117</span>      proto = FilterProtos.KeyOnlyFilter.parseFrom(pbBytes);<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    } catch (InvalidProtocolBufferException e) {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>      throw new DeserializationException(e);<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    }<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    return new KeyOnlyFilter(proto.getLenAsVal());<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>  /**<a name="line.124"></a>
+<span class="sourceLineNo">125</span>   * @param o the other filter to compare with<a name="line.125"></a>
+<span class="sourceLineNo">126</span>   * @return true if and only if the fields of the filter that are serialized<a name="line.126"></a>
+<span class="sourceLineNo">127</span>   * are equal to the corresponding fields in other.  Used for testing.<a name="line.127"></a>
+<span class="sourceLineNo">128</span>   */<a name="line.128"></a>
+<span class="sourceLineNo">129</span>  @Override<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  boolean areSerializedFieldsEqual(Filter o) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    if (o == this) return true;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    if (!(o instanceof KeyOnlyFilter)) return false;<a name="line.132"></a>
+<span class="sourceLineNo">133</span><a name="line.133"></a>
+<span class="sourceLineNo">134</span>    KeyOnlyFilter other = (KeyOnlyFilter)o;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    return this.lenAsVal == other.lenAsVal;<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>  @Override<a name="line.138"></a>
+<span class="sourceLineNo">139</span>  public boolean equals(Object obj) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    if (obj == null || (!(obj instanceof KeyOnlyFilter))) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      return false;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    }<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    KeyOnlyFilter f = (KeyOnlyFilter) obj;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    return this.areSerializedFieldsEqual(f);<a name="line.144"></a>
+<span class="sourceLineNo">145</span>  }<a name="line.145"></a>
+<span class="sourceLineNo">146</span><a name="line.146"></a>
+<span class="sourceLineNo">147</span>  @Override<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  public int hashCode() {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    return Objects.hash(this.lenAsVal);<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  }<a name="line.150"></a>
+<span class="sourceLineNo">151</span><a name="line.151"></a>
+<span class="sourceLineNo">152</span>  static class KeyOnlyCell implements Cell {<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    private Cell cell;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    private boolean lenAsVal;<a name="line.154"></a>
+<span class="sourceLineNo">155</span><a name="line.155"></a>
+<span class="sourceLineNo">156</span>    public KeyOnlyCell(Cell c, boolean lenAsVal) {<a name="line.156"></a>
+<span class="sourceLineNo">157</span>      this.cell = c;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>      this.lenAsVal = lenAsVal;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    }<a name="line.159"></a>
+<span class="sourceLineNo">160</span><a name="line.160"></a>
+<span class="sourceLineNo">161</span>    @Override<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    public byte[] getRowArray() {<a name="line.162"></a>
+<span class="sourceLineNo">163</span>      return cell.getRowArray();<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    }<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>    @Override<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    public int getRowOffset() {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      return cell.getRowOffset();<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    }<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span>    @Override<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    public short getRowLength() {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      return cell.getRowLength();<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>    @Override<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    public byte[] getFamilyArray() {<a name="line.177"></a>
+<span class="sourceLineNo">178</span>      return cell.getFamilyArray();<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    }<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span>    @Override<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    public int getFamilyOffset() {<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      return cell.getFamilyOffset();<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    }<a name="line.184"></a>
+<span class="sourceLineNo">185</span><a name="line.185"></a>
+<span class="sourceLineNo">186</span>    @Override<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    public byte getFamilyLength() {<a name="line.187"></a>
+<span class="sourceLineNo">188</span>      return cell.getFamilyLength();<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    }<a name="line.189"></a>
+<span class="sourceLineNo">190</span><a name="line.190"></a>
+<span class="sourceLineNo">191</span>    @Override<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    public byte[] getQualifierArray() {<a name="line.192"></a>
+<span class="sourceLineNo">193</span>      return cell.getQualifierArray();<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    }<a name="line.194"></a>
+<span class="sourceLineNo">195</span><a name="line.195"></a>
+<span class="sourceLineNo">196</span>    @Override<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    public int getQualifierOffset() {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>      return cell.getQualifierOffset();<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    }<a name="line.199"></a>
+<span class="sourceLineNo">200</span><a name="line.200"></a>
+<span class="sourceLineNo">201</span>    @Override<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    public int getQualifierLength() {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>      return cell.getQualifierLength();<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    }<a name="line.204"></a>
 <span class="sourceLineNo">205</span><a name="line.205"></a>
 <span class="sourceLineNo">206</span>    @Override<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    public long getSequenceId() {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>      return 0;<a name="line.208"></a>
+<span class="sourceLineNo">207</span>    public long getTimestamp() {<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      return cell.getTimestamp();<a name="line.208"></a>
 <span class="sourceLineNo">209</span>    }<a name="line.209"></a>
 <span class="sourceLineNo">210</span><a name="line.210"></a>
 <span class="sourceLineNo">211</span>    @Override<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    public byte[] getValueArray() {<a name="line.212"></a>
-<span class="sourceLineNo">213</span>      if (lenAsVal) {<a name="line.213"></a>
-<span class="sourceLineNo">214</span>        return Bytes.toBytes(cell.getValueLength());<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      } else {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>        return HConstants.EMPTY_BYTE_ARRAY;<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      }<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    }<a name="line.218"></a>
-<span class="sourceLineNo">219</span><a name="line.219"></a>
-<span class="sourceLineNo">220</span>    @Override<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    public int getValueOffset() {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      return 0;<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    }<a name="line.223"></a>
-<span class="sourceLineNo">224</span><a name="line.224"></a>
-<span class="sourceLineNo">225</span>    @Override<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    public int getValueLength() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      if (lenAsVal) {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        return Bytes.SIZEOF_INT;<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      } else {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        return 0;<a name="line.230"></a>
-<span class="sourceLineNo">231</span>      }<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    }<a name="line.232"></a>
-<span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>    @Override<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    public byte[] getTagsArray() {<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      return HConstants.EMPTY_BYTE_ARRAY;<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    }<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>    @Override<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    public int getTagsOffset() {<a name="line.240"></a>
-<span class="sourceLineNo">241</span>      return 0;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    }<a name="line.242"></a>
-<span class="sourceLineNo">243</span><a name="line.243"></a>
-<span class="sourceLineNo">244</span>    @Override<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    public int getTagsLength() {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      return 0;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    }<a name="line.247"></a>
-<span class="sourceLineNo">248</span>  }<a name="line.248"></a>
+<span class="sourceLineNo">212</span>    public byte getTypeByte() {<a name="line.212"></a>
+<span class="sourceLineNo">213</span>      return cell.getTypeByte();<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    }<a name="line.214"></a>
+<span class="sourceLineNo">215</span><a name="line.215"></a>
+<span class="sourceLineNo">216</span>    @Override<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    public Type getType() {<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      return cell.getType();<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    }<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span><a name="line.221"></a>
+<span class="sourceLineNo">222</span>    @Override<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    public long getSequenceId() {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      return 0;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    }<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>    @Override<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    public byte[] getValueArray() {<a name="line.228"></a>
+<span class="sourceLineNo">229</span>      if (lenAsVal) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>        return Bytes.toBytes(cell.getValueLength());<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      } else {<a name="line.231"></a>
+<span class="sourceLineNo">232</span>        return HConstants.EMPTY_BYTE_ARRAY;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>      }<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span>    @Override<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    public int getValueOffset() {<a name="line.237"></a>
+<span class="sourceLineNo">238</span>      return 0;<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    }<a name="line.239"></a>
+<span class="sourceLineNo">240</span><a name="line.240"></a>
+<span class="sourceLineNo">241</span>    @Override<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    public int getValueLength() {<a name="line.242"></a>
+<span class="sourceLineNo">243</span>      if (lenAsVal) {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>        return Bytes.SIZEOF_INT;<a name="line.244"></a>
+<span class="sourceLineNo">245</span>      } else {<a name="line.245"></a>
+<span class="sourceLineNo">246</span>        return 0;<a name="line.246"></a>
+<span class="sourceLineNo">247</span>      }<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    }<a name="line.248"></a>
 <span class="sourceLineNo">249</span><a name="line.249"></a>
-<span class="sourceLineNo">250</span>  static class KeyOnlyByteBufferExtendedCell extends ByteBufferExtendedCell {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    public static final int FIXED_OVERHEAD = ClassSize.OBJECT + ClassSize.REFERENCE<a name="line.251"></a>
-<span class="sourceLineNo">252</span>        + Bytes.SIZEOF_BOOLEAN;<a name="line.252"></a>
-<span class="sourceLineNo">253</span>    private ByteBufferExtendedCell cell;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    private boolean lenAsVal;<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>    public KeyOnlyByteBufferExtendedCell(ByteBufferExtendedCell c, boolean lenAsVal) {<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      this.cell = c;<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      this.lenAsVal = lenAsVal;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    }<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>    @Override<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    public byte[] getRowArray() {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      return cell.getRowArray();<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    }<a name="line.264"></a>
+<span class="sourceLineNo">250</span>    @Override<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    public byte[] getTagsArray() {<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      return HConstants.EMPTY_BYTE_ARRAY;<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    }<a name="line.253"></a>
+<span class="sourceLineNo">254</span><a name="line.254"></a>
+<span class="sourceLineNo">255</span>    @Override<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    public int getTagsOffset() {<a name="line.256"></a>
+<span class="sourceLineNo">257</span>      return 0;<a name="line.257"></a>
+<span class="sourceLineNo">258</span>    }<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>    @Override<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    public int getTagsLength() {<a name="line.261"></a>
+<span class="sourceLineNo">262</span>      return 0;<a name="line.262"></a>
+<span class="sourceLineNo">263</span>    }<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  }<a name="line.264"></a>
 <span class="sourceLineNo">265</span><a name="line.265"></a>
-<span class="sourceLineNo">266</span>    @Override<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    public int getRowOffset() {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      return cell.getRowOffset();<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    }<a name="line.269"></a>
-<span class="sourceLineNo">270</span><a name="line.270"></a>
-<span class="sourceLineNo">271</span>    @Override<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    public short getRowLength() {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      return cell.getRowLength();<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    }<a name="line.274"></a>
-<span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>    @Override<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    public byte[] getFamilyArray() {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      return cell.getFamilyArray();<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    }<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>    @Override<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    public int getFamilyOffset() {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      return cell.getFamilyOffset();<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    }<a name="line.284"></a>
-<span class="sourceLineNo">285</span><a name="line.285"></a>
-<span class="sourceLineNo">286</span>    @Override<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    public byte getFamilyLength() {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      return cell.getFamilyLength();<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    }<a name="line.289"></a>
-<span class="sourceLineNo">290</span><a name="line.290"></a>
-<span class="sourceLineNo">291</span>    @Override<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    public byte[] getQualifierArray() {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>      return cell.getQualifierArray();<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    }<a name="line.294"></a>
-<span class="sourceLineNo">295</span><a name="line.295"></a>
-<span class="sourceLineNo">296</span>    @Override<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    public int getQualifierOffset() {<a name="line.297"></a>
-<span class="sourceLineNo">298</span>      return cell.getQualifierOffset();<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    }<a name="line.299"></a>
-<span class="sourceLineNo">300</span><a name="line.300"></a>
-<span class="sourceLineNo">301</span>    @Override<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    public int getQualifierLength() {<a name="line.302"></a>
-<span class="sourceLineNo">303</span>      return cell.getQualifierLength();<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    }<a name="line.304"></a>
-<span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span>    @Override<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    public long getTimestamp() {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      return cell.getTimestamp();<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    }<a name="line.309"></a>
-<span class="sourceLineNo">310</span><a name="line.310"></a>
-<span class="sourceLineNo">311</span>    @Override<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    public byte getTypeByte() {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      return cell.getTypeByte();<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    }<a name="line.314"></a>
-<span class="sourceLineNo">315</span><a name="line.315"></a>
-<span class="sourceLineNo">316</span>    @Override<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    public void setSequenceId(long seqId) throws IOException {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      cell.setSequenceId(seqId);<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>    @Override<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    public void setTimestamp(long ts) throws IOException {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      cell.setTimestamp(ts);<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    }<a name="line.324"></a>
-<span class="sourceLineNo">325</span><a name="line.325"></a>
-<span class="sourceLineNo">326</span>    @Override<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    public void setTimestamp(byte[] ts) throws IOException {<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      cell.setTimestamp(ts);<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    }<a name="line.329"></a>
-<span class="sourceLineNo">330</span><a name="line.330"></a>
-<span class="sourceLineNo">331</span>    @Override<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    public long getSequenceId() {<a name="line.332"></a>
-<span class="sourceLineNo">333</span>      return 0;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    }<a name="line.334"></a>
-<span class="sourceLineNo">335</span><a name="line.335"></a>
-<span class="sourceLineNo">336</span>    @Override<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    public Type getType() {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      return cell.getType();<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    }<a name="line.339"></a>
-<span class="sourceLineNo">340</span><a name="line.340"></a>
-<span class="sourceLineNo">341</span>    @Override<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    public byte[] getValueArray() {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      if (lenAsVal) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>        return Bytes.toBytes(cell.getValueLength());<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      } else {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>        return HConstants.EMPTY_BYTE_ARRAY;<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      }<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>    @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    public int getValueOffset() {<a name="line.351"></a>
-<span class="sourceLineNo">352</span>      return 0;<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    }<a name="line.353"></a>
-<span class="sourceLineNo">354</span><a name="line.354"></a>
-<span class="sourceLineNo">355</span>    @Override<a name="line.355"></a>
-<span class="sourceLineNo">356</span>    public int getValueLength() {<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      if (lenAsVal) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>        return Bytes.SIZEOF_INT;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      } else {<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        return 0;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      }<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    }<a name="line.362"></a>
-<span class="sourceLineNo">363</span><a name="line.363"></a>
-<span class="sourceLineNo">364</span>    @Override<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    public byte[] getTagsArray() {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>      return HConstants.EMPTY_BYTE_ARRAY;<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    }<a name="line.367"></a>
-<span class="sourceLineNo">368</span><a name="line.368"></a>
-<span class="sourceLineNo">369</span>    @Override<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    public int getTagsOffset() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span>      return 0;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    }<a name="line.372"></a>
-<span class="sourceLineNo">373</span><a name="line.373"></a>
-<span class="sourceLineNo">374</span>    @Override<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    public int getTagsLength() {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      return 0;<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    }<a name="line.377"></a>
-<span class="sourceLineNo">378</span><a name="line.378"></a>
-<span class="sourceLineNo">379</span>    @Override<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    public ByteBuffer getRowByteBuffer() {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      return cell.getRowByteBuffer();<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    }<a name="line.382"></a>
-<span class="sourceLineNo">383</span><a name="line.383"></a>
-<span class="sourceLineNo">384</span>    @Override<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    public int getRowPosition() {<a name="line.385"></a>
-<span class="sourceLineNo">386</span>      return cell.getRowPosition();<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    }<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>    @Override<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    public ByteBuffer getFamilyByteBuffer() {<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      return cell.getFamilyByteBuffer();<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    }<a name="line.392"></a>
-<span class="sourceLineNo">393</span><a name="line.393"></a>
-<span class="sourceLineNo">394</span>    @Override<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    public int getFamilyPosition() {<a name="line.395"></a>
-<span class="sourceLineNo">396</span>      return cell.getFamilyPosition();<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    }<a name="line.397"></a>
-<span class="sourceLineNo">398</span><a name="line.398"></a>
-<span class="sourceLineNo">399</span>    @Override<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    public ByteBuffer getQualifierByteBuffer() {<a name="line.400"></a>
-<span class="sourceLineNo">401</span>      return cell.getQualifierByteBuffer();<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    }<a name="line.402"></a>
-<span class="sourceLineNo">403</span><a name="line.403"></a>
-<span class="sourceLineNo">404</span>    @Override<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    public int getQualifierPosition() {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      return cell.getQualifierPosition();<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    }<a name="line.407"></a>
-<span class="sourceLineNo">408</span><a name="line.408"></a>
-<span class="sourceLineNo">409</span>    @Override<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    public ByteBuffer getValueByteBuffer() {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      if (lenAsVal) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>        return ByteBuffer.wrap(Bytes.toBytes(cell.getValueLength()));<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      } else {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>        return HConstants.EMPTY_BYTE_BUFFER;<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      }<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    }<a name="line.416"></a>
-<span class="sourceLineNo">417</span><a name="line.417"></a>
-<span class="sourceLineNo">418</span>    @Override<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    public int getValuePosition() {<a name="line.419"></a>
-<span class="sourceLineNo">420</span>      return 0;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    }<a name="line.421"></a>
-<span class="sourceLineNo">422</span><a name="line.422"></a>
-<span class="sourceLineNo">423</span>    @Override<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    public ByteBuffer getTagsByteBuffer() {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      return HConstants.EMPTY_BYTE_BUFFER;<a name="line.425"></a>
-<span class="sourceLineNo">426</span>    }<a name="line.426"></a>
-<span class="sourceLineNo">427</span><a name="line.427"></a>
-<span class="sourceLineNo">428</span>    @Override<a name="line.428"></a>
-<span class="sourceLineNo">429</span>    public int getTagsPosition() {<a name="line.429"></a>
-<span class="sourceLineNo">430</span>      return 0;<a name="line.430"></a>
-<span class="sourceLineNo">431</span>    }<a name="line.431"></a>
-<span class="sourceLineNo">432</span><a name="line.432"></a>
-<span class="sourceLineNo">433</span>    @Override<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    public Iterator&lt;Tag&gt; getTags() {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      return Collections.emptyIterator();<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    }<a name="line.436"></a>
-<span class="sourceLineNo">437</span><a name="line.437"></a>
-<span class="sourceLineNo">438</span>    @Override<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    public Optional&lt;Tag&gt; getTag(byte type) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      return Optional.empty();<a name="line.440"></a>
-<span class="sourceLineNo">441</span>    }<a name="line.441"></a>
-<span class="sourceLineNo">442</span><a name="line.442"></a>
-<span class="sourceLineNo">443</span>    @Override<a name="line.443"></a>
-<span class="sourceLineNo">444</span>    public long heapSize() {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>      return ClassSize.align(FIXED_OVERHEAD + cell.heapSize());<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    }<a name="line.446"></a>
-<span class="sourceLineNo">447</span>  }<a name="line.447"></a>
+<span class="sourceLineNo">266</span>  static class KeyOnlyByteBufferExtendedCell extends ByteBufferExtendedCell {<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    public static final int FIXED_OVERHEAD = ClassSize.OBJECT + ClassSize.REFERENCE<a name="line.267"></a>
+<span class="sourceLineNo">268</span>        + Bytes.SIZEOF_BOOLEAN;<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    private ByteBufferExtendedCell cell;<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    private boolean lenAsVal;<a name="line.270"></a>
+<span class="sourceLineNo">271</span><a name="line.271"></a>
+<span class="sourceLineNo">272</span>    public KeyOnlyByteBufferExtendedCell(ByteBufferExtendedCell c, boolean lenAsVal) {<a name="line.272"></a>
+<span class="sourceLineNo">273</span>      this.cell = c;<a name="line.273"></a>
+<span class="sourceLineNo">274</span>      this.lenAsVal = lenAsVal;<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    }<a name="line.275"></a>
+<span class="sourceLineNo">276</span><a name="line.276"></a>
+<span class="sourceLineNo">277</span>    @Override<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    public byte[] getRowArray() {<a name="line.278"></a>
+<span class="sourceLineNo">279</span>      return cell.getRowArray();<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    }<a name="line.280"></a>
+<span class="sourceLineNo">281</span><a name="line.281"></a>
+<span class="sourceLineNo">282</span>    @Override<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    public int getRowOffset() {<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      return cell.getRowOffset();<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    }<a name="line.285"></a>
+<span class="sourceLineNo">286</span><a name="line.286"></a>
+<span class="sourceLineNo">287</span>    @Override<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    public short getRowLength() {<a name="line.288"></a>
+<span class="sourceLineNo">289</span>      return cell.getRowLength();<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    }<a name="line.290"></a>
+<span class="sourceLineNo">291</span><a name="line.291"></a>
+<span class="sourceLineNo">292</span>    @Override<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    public byte[] getFamilyArray() {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      return cell.getFamilyArray();<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
+<span class="sourceLineNo">296</span><a name="line.296"></a>
+<span class="sourceLineNo">297</span>    @Override<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    public int getFamilyOffset() {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>      return cell.getFamilyOffset();<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    }<a name="line.300"></a>
+<span class="sourceLineNo">301</span><a name="line.301"></a>
+<span class="sourceLineNo">302</span>    @Override<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    public byte getFamilyLength() {<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      return cell.getFamilyLength();<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    }<a name="line.305"></a>
+<span class="sourceLineNo">306</span><a name="line.306"></a>
+<span class="sourceLineNo">307</span>    @Override<a name="line.307"></a>
+<span class="sourceLineNo">308</span>    public byte[] getQualifierArray() {<a name="line.308"></a>
+<span class="sourceLineNo">309</span>      return cell.getQualifierArray();<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    }<a name="line.310"></a>
+<span class="sourceLineNo">311</span><a name="line.311"></a>
+<span class="sourceLineNo">312</span>    @Override<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    public int getQualifierOffset() {<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      return cell.getQualifierOffset();<a name="line.314"></a>
+<span class="sourceLineNo">315</span>    }<a name="line.315"></a>
+<span class="sourceLineNo">316</span><a name="line.316"></a>
+<span class="sourceLineNo">317</span>    @Override<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    public int getQualifierLength() {<a name="line.318"></a>
+<span class="sourceLineNo">319</span>      return cell.getQualifierLength();<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    }<a name="line.320"></a>
+<span class="sourceLineNo">321</span><a name="line.321"></a>
+<span class="sourceLineNo">322</span>    @Override<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    public long getTimestamp() {<a name="line.323"></a>
+<span class="sourceLineNo">324</span>      return cell.getTimestamp();<a name="line.324"></a>
+<span class="sourceLineNo">325</span>    }<a name="line.325"></a>
+<span class="sourceLineNo">326</span><a name="line.326"></a>
+<span class="sourceLineNo">327</span>    @Override<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    public byte getTypeByte() {<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      return cell.getTypeByte();<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    }<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>    @Override<a name="line.332"></a>
+<span class="sourceLineNo">333</span>    public void setSequenceId(long seqId) throws IOException {<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      cell.setSequenceId(seqId);<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    }<a name="line.335"></a>
+<span class="sourceLineNo">336</span><a name="line.336"></a>
+<span class="sourceLineNo">337</span>    @Override<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    public void setTimestamp(long ts) throws IOException {<a name="line.338"></a>
+<span class="sourceLineNo">339</span>      cell.setTimestamp(ts);<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    }<a name="line.340"></a>
+<span class="sourceLineNo">341</span><a name="line.341"></a>
+<span class="sourceLineNo">342</span>    @Override<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    public void setTimestamp(byte[] ts) throws IOException {<a name="line.343"></a>
+<span class="sourceLineNo">344</span>      cell.setTimestamp(ts);<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    }<a name="line.345"></a>
+<span class="sourceLineNo">346</span><a name="line.346"></a>
+<span class="sourceLineNo">347</span>    @Override<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    public long getSequenceId() {<a name="line.348"></a>
+<span class="sourceLineNo">349</span>      return 0;<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    }<a name="line.350"></a>
+<span class="sourceLineNo">351</span><a name="line.351"></a>
+<span class="sourceLineNo">352</span>    @Override<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    public Type getType() {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>      return cell.getType();<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    }<a name="line.355"></a>
+<span class="sourceLineNo">356</span><a name="line.356"></a>
+<span class="sourceLineNo">357</span>    @Override<a name="line.357"></a>
+<span class="sourceLineNo">358</span>    public byte[] getValueArray() {<a name="line.358"></a>
+<span class="sourceLineNo">359</span>      if (lenAsVal) {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>        return Bytes.toBytes(cell.getValueLength());<a name="line.360"></a>
+<span class="sourceLineNo">361</span>      } else {<a name="line.361"></a>
+<span class="sourceLineNo">362</span>        return HConstants.EMPTY_BYTE_ARRAY;<a name="line.362"></a>
+<span class="sourceLineNo">363</span>      }<a name="line.363"></a>
+<span class="sourceLineNo">364</span>    }<a name="line.364"></a>
+<span class="sourceLineNo">365</span><a name="line.365"></a>
+<span class="sourceLineNo">366</span>    @Override<a name="line.366"></a>
+<span class="sourceLineNo">367</span>    public int getValueOffset() {<a name="line.367"></a>
+<span class="sourceLineNo">368</span>      return 0;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    }<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>    @Override<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    public int getValueLength() {<a name="line.372"></a>
+<span class="sourceLineNo">373</span>      if (lenAsVal) {<a name="line.373"></a>
+<span class="sourceLineNo">374</span>        return Bytes.SIZEOF_INT;<a name="line.374"></a>
+<span class="sourceLineNo">375</span>      } else {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>        return 0;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>      }<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
+<span class="sourceLineNo">379</span><a name="line.379"></a>
+<span class="sourceLineNo">380</span>    @Override<a name="line.380"></a>
+<span class="sourceLineNo">381</span>    public byte[] getTagsArray() {<a name="line.381"></a>
+<span class="sourceLineNo">382</span>      return HConstants.EMPTY_BYTE_ARRAY;<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
+<span class="sourceLineNo">384</span><a name="line.384"></a>
+<span class="sourceLineNo">385</span>    @Override<a name="line.385"></a>
+<span class="sourceLineNo">386</span>    public int getTagsOffset() {<a name="line.386"></a>
+<span class="sourceLineNo">387</span>      return 0;<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    }<a name="line.388"></a>
+<span class="sourceLineNo">389</span><a name="line.389"></a>
+<span class="sourceLineNo">390</span>    @Override<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    public int getTagsLength() {<a name="line.391"></a>
+<span class="sourceLineNo">392</span>      return 0;<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    }<a name="line.393"></a>
+<span class="sourceLineNo">394</span><a name="line.394"></a>
+<span class="sourceLineNo">395</span>    @Override<a name="line.395"></a>
+<span class="sourceLineNo">396</span>    public ByteBuffer getRowByteBuffer() {<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      return cell.getRowByteBuffer();<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    }<a name="line.398"></a>
+<span class="sourceLineNo">399</span><a name="line.399"></a>
+<span class="sourceLineNo">400</span>    @Override<a name="line.400"></a>
+<span class="sourceLineNo">401</span>    public int getRowPosition() {<a name="line.401"></a>
+<span class="sourceLineNo">402</span>      return cell.getRowPosition();<a name="line.402"></a>
+<span class="sourceLineNo">403</span>    }<a name="line.403"></a>
+<span class="sourceLineNo">404</span><a name="line.404"></a>
+<span class="sourceLineNo">405</span>    @Override<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    public ByteBuffer getFamilyByteBuffer() {<a name="line.406"></a>
+<span class="sourceLineNo">407</span>      return cell.getFamilyByteBuffer();<a name="line.407"></a>
+<span class="sourceLineNo">408</span>    }<a name="line.408"></a>
+<span class="sourceLineNo">409</span><a name="line.409"></a>
+<span class="sourceLineNo">410</span>    @Override<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    public int getFamilyPosition() {<a name="line.411"></a>
+<span class="sourceLineNo">412</span>      return cell.getFamilyPosition();<a name="line.412"></a>
+<span class="sourceLineNo">413</span>    }<a name="line.413"></a>
+<span class="sourceLineNo">414</span><a name="line.414"></a>
+<span class="sourceLineNo">415</span>    @Override<a name="line.415"></a>
+<span class="sourceLineNo">416</span>    public ByteBuffer getQualifierByteBuffer() {<a name="line.416"></a>
+<span class="sourceLineNo">417</span>      return cell.getQualifierByteBuffer();<a name="line.417"></a>
+<span class="sourceLineNo">418</span>    }<a name="line.418"></a>
+<span class="sourceLineNo">419</span><a name="line.419"></a>
+<span class="sourceLineNo">420</span>    @Override<a name="line.420"></a>
+<span class="sourceLineNo">421</span>    public int getQualifierPosition() {<a name="line.421"></a>
+<span class="sourceLineNo">422</span>      return cell.getQualifierPosition();<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    }<a name="line.423"></a>
+<span class="sourceLineNo">424</span><a name="line.424"></a>
+<span class="sourceLineNo">425</span>    @Override<a name="line.425"></a>
+<span class="sourceLineNo">426</span>    public ByteBuffer getValueByteBuffer() {<a name="line.426"></a>
+<span class="sourceLineNo">427</span>      if (lenAsVal) {<a name="line.427"></a>
+<span class="sourceLineNo">428</span>        return ByteBuffer.wrap(Bytes.toBytes(cell.getValueLength()));<a name="line.428"></a>
+<span class="sourceLineNo">429</span>      } else {<a name="line.429"></a>
+<span class="sourceLineNo">430</span>        return HConstants.EMPTY_BYTE_BUFFER;<a name="line.430"></a>
+<span class="sourceLineNo">431</span>      }<a name="line.431"></a>
+<span class="sourceLineNo">432</span>    }<a name="line.432"></a>
+<span class="sourceLineNo">433</span><a name="line.433"></a>
+<span class="sourceLineNo">434</span>    @Override<a name="line.434"></a>
+<span class="sourceLineNo">435</span>    public int getValuePosition() {<a name="line.435"></a>
+<span class="sourceLineNo">436</span>      return 0;<a name="line.436"></a>
+<span class="sourceLineNo">437</span>    }<a name="line.437"></a>
+<span class="sourceLineNo">438</span><a name="line.438"></a>
+<span class="sourceLineNo">439</span>    @Override<a name="line.439"></a>
+<span class="sourceLineNo">440</span>    public ByteBuffer getTagsByteBuffer() {<a name="line.440"></a>
+<span class="sourceLineNo">441</span>      return HConstants.EMPTY_BYTE_BUFFER;<a name="line.441"></a>
+<span class="sourceLineNo">442</span>    }<a name="line.442"></a>
+<span class="sourceLineNo">443</span><a name="line.443"></a>
+<span class="sourceLineNo">444</span>    @Override<a name="line.444"></a>
+<span class="sourceLineNo">445</span>    public int getTagsPosition() {<a name="line.445"></a>
+<span class="sourceLineNo">446</span>      return 0;<a name="line.446"></a>
+<span class="sourceLineNo">447</span>    }<a name="line.447"></a>
 <span class="sourceLineNo">448</span><a name="line.448"></a>
-<span class="sourceLineNo">449</span>}<a name="line.449"></a>
+<span class="sourceLineNo">449</span>    @Override<a name="line.449"></a>
+<span class="sourceLineNo">450</span>    public Iterator&lt;Tag&gt; getTags() {<a name="line.450"></a>
+<span class="sourceLineNo">451</span>      return Collections.emptyIterator();<a name="line.451"></a>
+<span class="sourceLineNo">452</span>    }<a name="line.452"></a>
+<span class="sourceLineNo">453</span><a name="line.453"></a>
+<span class="sourceLineNo">454</span>    @Override<a name="line.454"></a>
+<span class="sourceLineNo">455</span>    public Optional&lt;Tag&gt; getTag(byte type) {<a name="line.455"></a>
+<span class="sourceLineNo">456</span>      return Optional.empty();<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    }<a name="line.457"></a>
+<span class="sourceLineNo">458</span><a name="line.458"></a>
+<span class="sourceLineNo">459</span>    @Override<a name="line.459"></a>
+<span class="sourceLineNo">460</span>    public long heapSize() {<a name="line.460"></a>
+<span class="sourceLineNo">461</span>      return ClassSize.align(FIXED_OVERHEAD + cell.heapSize());<a name="line.461"></a>
+<span class="sourceLineNo">462</span>    }<a name="line.462"></a>
+<span class="sourceLineNo">463</span>  }<a name="line.463"></a>
+<span class="sourceLineNo">464</span><a name="line.464"></a>
+<span class="sourceLineNo">465</span>}<a name="line.465"></a>
 
 
 


[43/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/TimestampsFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/TimestampsFilter.html b/apidocs/org/apache/hadoop/hbase/filter/TimestampsFilter.html
index eaeb725..eddc34e 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/TimestampsFilter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/TimestampsFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":42,"i3":10,"i4":10,"i5":10,"i6":10,"i7":9,"i8":10,"i9":10,"i10":10};
+var methods = {"i0":9,"i1":10,"i2":10,"i3":42,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":9,"i10":10,"i11":10,"i12":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.45">TimestampsFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.46">TimestampsFilter</a>
 extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <div class="block">Filter that returns only cells whose timestamp (version) is
  in the specified list of timestamps (versions).
@@ -210,56 +210,64 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#getMin--">getMin</a></span>()</code>
 <div class="block">Gets the minimum timestamp requested by filter.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)</code>
 <div class="block">Pick the next cell that the scanner should seek to.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#getTimestamps--">getTimestamps</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html" title="class in org.apache.hadoop.hbase.filter">TimestampsFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html#toString-int-">toString</a></span>(int&nbsp;maxTimestamps)</code>&nbsp;</td>
 </tr>
@@ -283,7 +291,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -305,7 +313,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>TimestampsFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.59">TimestampsFilter</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;<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>&gt;&nbsp;timestamps)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.60">TimestampsFilter</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;<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>&gt;&nbsp;timestamps)</pre>
 <div class="block">Constructor for filter that retains only the specified timestamps in the list.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -319,7 +327,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TimestampsFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.74">TimestampsFilter</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;<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>&gt;&nbsp;timestamps,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.75">TimestampsFilter</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;<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>&gt;&nbsp;timestamps,
                         boolean&nbsp;canHint)</pre>
 <div class="block">Constructor for filter that retains only those
  cells whose timestamp (version) is in the specified
@@ -348,7 +356,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getTimestamps</h4>
-<pre>public&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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.86">getTimestamps</a>()</pre>
+<pre>public&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/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.87">getTimestamps</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the list of timestamps</dd>
@@ -361,7 +369,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getMin</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.102">getMin</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.103">getMin</a>()</pre>
 <div class="block">Gets the minimum timestamp requested by filter.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -375,7 +383,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.107">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.108">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -404,7 +412,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.114">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.115">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -439,7 +447,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.119">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.120">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -473,7 +481,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>getNextCellHint</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.140">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.141">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Pick the next cell that the scanner should seek to. Since this can skip any number of cells
  any of which can be a delete this can resurect old data.
@@ -496,7 +504,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.165">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.166">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -505,7 +513,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.178">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.179">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -522,7 +530,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html" title="class in org.apache.hadoop.hbase.filter">TimestampsFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.192">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/TimestampsFilter.html" title="class in org.apache.hadoop.hbase.filter">TimestampsFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.193">parseFrom</a>(byte[]&nbsp;pbBytes)
                                   throws org.apache.hadoop.hbase.exceptions.DeserializationException</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -542,7 +550,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.219">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.220">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -554,10 +562,36 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString-int-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.223">toString</a>(int&nbsp;maxTimestamps)</pre>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.224">toString</a>(int&nbsp;maxTimestamps)</pre>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.244">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/TimestampsFilter.html#line.253">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/ValueFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/ValueFilter.html b/apidocs/org/apache/hadoop/hbase/filter/ValueFilter.html
index 13cfeb5..a5f9b38 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/ValueFilter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/ValueFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":42,"i3":9,"i4":10};
+var methods = {"i0":9,"i1":10,"i2":10,"i3":42,"i4":10,"i5":9,"i6":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -125,7 +125,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.47">ValueFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.48">ValueFilter</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></pre>
 <div class="block">This filter is used to filter based on column value. It takes an
  operator (equal, greater, not equal, etc) and a byte [] comparator for the
@@ -234,22 +234,30 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ValueFilter.html#createFilterFromArguments-java.util.ArrayList-">createFilterFromArguments</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ValueFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ValueFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ValueFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ValueFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/ValueFilter.html" title="class in org.apache.hadoop.hbase.filter">ValueFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ValueFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/ValueFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
@@ -282,7 +290,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -304,7 +312,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <ul class="blockList">
 <li class="blockList">
 <h4>ValueFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.56">ValueFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;valueCompareOp,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.57">ValueFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;valueCompareOp,
                    <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;valueComparator)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Since 2.0.0. Will be removed in 3.0.0.
  Use <a href="../../../../../org/apache/hadoop/hbase/filter/ValueFilter.html#ValueFilter-org.apache.hadoop.hbase.CompareOperator-org.apache.hadoop.hbase.filter.ByteArrayComparable-"><code>ValueFilter(CompareOperator, ByteArrayComparable)</code></a></span></div>
@@ -322,7 +330,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ValueFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.66">ValueFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;valueCompareOp,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.67">ValueFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;valueCompareOp,
                    <a href="../../../../../org/apache/hadoop/hbase/filter/ByteArrayComparable.html" title="class in org.apache.hadoop.hbase.filter">ByteArrayComparable</a>&nbsp;valueComparator)</pre>
 <div class="block">Constructor.</div>
 <dl>
@@ -347,7 +355,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.htm
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.73">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.74">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -382,7 +390,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.78">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.79">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
  code is described below. This allows filters to filter only certain number of columns, then
@@ -416,7 +424,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>createFilterFromArguments</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.85">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.86">createFilterFromArguments</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;byte[]&gt;&nbsp;filterArguments)</pre>
 </li>
 </ul>
 <a name="toByteArray--">
@@ -425,7 +433,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.97">toByteArray</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.98">toByteArray</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 <dl>
@@ -439,10 +447,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="parseFrom-byte:A-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ValueFilter.html" title="class in org.apache.hadoop.hbase.filter">ValueFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.110">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/ValueFilter.html" title="class in org.apache.hadoop.hbase.filter">ValueFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.111">parseFrom</a>(byte[]&nbsp;pbBytes)
                              throws org.apache.hadoop.hbase.exceptions.DeserializationException</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -456,6 +464,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.145">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#equals-java.lang.Object-">equals</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/ValueFilter.html#line.154">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html#hashCode--">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.html" title="class in org.apache.hadoop.hbase.filter">CompareFilter</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/org/apache/hadoop/hbase/filter/WhileMatchFilter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/filter/WhileMatchFilter.html b/apidocs/org/apache/hadoop/hbase/filter/WhileMatchFilter.html
index 076abbc..e3fa981 100644
--- a/apidocs/org/apache/hadoop/hbase/filter/WhileMatchFilter.html
+++ b/apidocs/org/apache/hadoop/hbase/filter/WhileMatchFilter.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":42,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":9,"i10":10,"i11":10,"i12":10,"i13":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":42,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":9,"i12":10,"i13":10,"i14":10,"i15":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.40">WhileMatchFilter</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.41">WhileMatchFilter</a>
 extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <div class="block">A wrapper filter that returns true from <a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#filterAllRemaining--"><code>filterAllRemaining()</code></a> as soon
  as the wrapped filters <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-byte:A-int-int-"><code>Filter.filterRowKey(byte[], int, int)</code></a>,
@@ -195,24 +195,28 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#filterAllRemaining--">filterAllRemaining</a></span>()</code>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#filterRow--">filterRow</a></span>()</code>
 <div class="block">Filters that never filter by rows based on previously gathered state from
@@ -220,7 +224,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
  never filters a row.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#filterRowKey-byte:A-int-int-">filterRowKey</a></span>(byte[]&nbsp;buffer,
             int&nbsp;offset,
@@ -229,53 +233,57 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
  never filters anything.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#getFilter--">getFilter</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#hasFilterRow--">hasFilterRow</a></span>()</code>
 <div class="block">Fitlers that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#isFamilyEssential-byte:A-">isFamilyEssential</a></span>(byte[]&nbsp;name)</code>
 <div class="block">By default, we require all scan's column families to be present.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html" title="class in org.apache.hadoop.hbase.filter">WhileMatchFilter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#reset--">reset</a></span>()</code>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)</code>
 <div class="block">By default no transformation takes place
@@ -303,7 +311,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -325,7 +333,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>WhileMatchFilter</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.44">WhileMatchFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.45">WhileMatchFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</pre>
 </li>
 </ul>
 </li>
@@ -342,7 +350,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getFilter</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.48">getFilter</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.49">getFilter</a>()</pre>
 </li>
 </ul>
 <a name="reset--">
@@ -351,7 +359,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.53">reset</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.54">reset</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
@@ -375,7 +383,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>filterAllRemaining</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.62">filterAllRemaining</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.63">filterAllRemaining</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
@@ -401,7 +409,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.67">filterRowKey</a>(byte[]&nbsp;buffer,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.68">filterRowKey</a>(byte[]&nbsp;buffer,
                             int&nbsp;offset,
                             int&nbsp;length)
                      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>
@@ -434,7 +442,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.74">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.75">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -463,7 +471,7 @@ extends org.apache.hadoop.hbase.filter.FilterBase</pre>
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.83">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.84">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
                                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
@@ -501,7 +509,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.88">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.89">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -538,7 +546,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>transformCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.95">transformCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.96">transformCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;v)
                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">By default no transformation takes place
@@ -571,7 +579,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.100">filterRow</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.101">filterRow</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Filters that never filter by rows based on previously gathered state from
@@ -600,7 +608,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>hasFilterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.107">hasFilterRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.108">hasFilterRow</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Fitlers that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.
@@ -621,7 +629,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.115">toByteArray</a>()
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.116">toByteArray</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
@@ -641,7 +649,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html" title="class in org.apache.hadoop.hbase.filter">WhileMatchFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.128">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/WhileMatchFilter.html" title="class in org.apache.hadoop.hbase.filter">WhileMatchFilter</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.129">parseFrom</a>(byte[]&nbsp;pbBytes)
                                   throws org.apache.hadoop.hbase.exceptions.DeserializationException</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -661,7 +669,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>isFamilyEssential</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.158">isFamilyEssential</a>(byte[]&nbsp;name)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.159">isFamilyEssential</a>(byte[]&nbsp;name)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">By default, we require all scan's column families to be present. Our
@@ -685,10 +693,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.163">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.164">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.filter.FilterBase</code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -697,6 +705,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.169">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/WhileMatchFilter.html#line.178">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>


[18/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/FilterList.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/FilterList.html b/devapidocs/org/apache/hadoop/hbase/filter/FilterList.html
index 04bffdc..021000b 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/FilterList.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/FilterList.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":42,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":9,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":42,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":9,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -120,7 +120,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public final class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.46">FilterList</a>
+public final class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.47">FilterList</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html" title="class in org.apache.hadoop.hbase.filter">FilterBase</a></pre>
 <div class="block">Implementation of <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter"><code>Filter</code></a> that represents an ordered List of Filters which will be
  evaluated with a specified boolean operator <a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html#MUST_PASS_ALL"><code>FilterList.Operator.MUST_PASS_ALL</code></a> (<code>AND</code>) or
@@ -265,24 +265,28 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#filterAllRemaining--">filterAllRemaining</a></span>()</code>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">filterKeyValue</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#filterRow--">filterRow</a></span>()</code>
 <div class="block">Filters that never filter by rows based on previously gathered state from
@@ -290,14 +294,14 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
  never filters a row.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#filterRowCells-java.util.List-">filterRowCells</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;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cells)</code>
 <div class="block">Filters that never filter by modifying the returned List of Cells can inherit this
  implementation that does nothing.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#filterRowKey-byte:A-int-int-">filterRowKey</a></span>(byte[]&nbsp;rowKey,
             int&nbsp;offset,
@@ -306,82 +310,86 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
  never filters anything.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code><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="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#getFilters--">getFilters</a></span>()</code>
 <div class="block">Get the filters.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)</code>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#getOperator--">getOperator</a></span>()</code>
 <div class="block">Get the operator.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#hasFilterRow--">hasFilterRow</a></span>()</code>
 <div class="block">Fitlers that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#isFamilyEssential-byte:A-">isFamilyEssential</a></span>(byte[]&nbsp;name)</code>
 <div class="block">By default, we require all scan's column families to be present.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#isReversed--">isReversed</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html" title="class in org.apache.hadoop.hbase.filter">FilterList</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#parseFrom-byte:A-">parseFrom</a></span>(byte[]&nbsp;pbBytes)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#reset--">reset</a></span>()</code>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
  this null/empty implementation.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#setReversed-boolean-">setReversed</a></span>(boolean&nbsp;reversed)</code>
 <div class="block">alter the reversed scan flag</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#size--">size</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#toByteArray--">toByteArray</a></span>()</code>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
 </td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#toString--">toString</a></span>()</code>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 </td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html#transformCell-org.apache.hadoop.hbase.Cell-">transformCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">By default no transformation takes place
@@ -402,7 +410,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -424,7 +432,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>operator</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.57">operator</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.58">operator</a></pre>
 </li>
 </ul>
 <a name="filterListBase">
@@ -433,7 +441,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>filterListBase</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.html" title="class in org.apache.hadoop.hbase.filter">FilterListBase</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.58">filterListBase</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.html" title="class in org.apache.hadoop.hbase.filter">FilterListBase</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.59">filterListBase</a></pre>
 </li>
 </ul>
 </li>
@@ -450,7 +458,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>FilterList</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.65">FilterList</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a>&nbsp;operator,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.66">FilterList</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a>&nbsp;operator,
                   <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="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;filters)</pre>
 <div class="block">Constructor that takes a set of <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter"><code>Filter</code></a>s and an operator.</div>
 <dl>
@@ -466,7 +474,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>FilterList</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.81">FilterList</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;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;filters)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.82">FilterList</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;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;filters)</pre>
 <div class="block">Constructor that takes a set of <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter"><code>Filter</code></a>s. The default operator MUST_PASS_ALL is assumed.
  All filters are cloned to internal list.</div>
 <dl>
@@ -481,7 +489,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>FilterList</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.90">FilterList</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>...&nbsp;filters)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.91">FilterList</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>...&nbsp;filters)</pre>
 <div class="block">Constructor that takes a var arg number of <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter"><code>Filter</code></a>s. The default operator MUST_PASS_ALL
  is assumed.</div>
 <dl>
@@ -496,7 +504,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>FilterList</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.98">FilterList</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a>&nbsp;operator)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.99">FilterList</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a>&nbsp;operator)</pre>
 <div class="block">Constructor that takes an operator.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -510,7 +518,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FilterList</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.107">FilterList</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a>&nbsp;operator,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.108">FilterList</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a>&nbsp;operator,
                   <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>...&nbsp;filters)</pre>
 <div class="block">Constructor that takes a var arg number of <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter"><code>Filter</code></a>s and an operator.</div>
 <dl>
@@ -534,7 +542,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getOperator</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.115">getOperator</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter">FilterList.Operator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.116">getOperator</a>()</pre>
 <div class="block">Get the operator.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -548,7 +556,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getFilters</h4>
-<pre>public&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="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.123">getFilters</a>()</pre>
+<pre>public&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="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.124">getFilters</a>()</pre>
 <div class="block">Get the filters.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -562,7 +570,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>size</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.127">size</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.128">size</a>()</pre>
 </li>
 </ul>
 <a name="addFilter-java.util.List-">
@@ -571,7 +579,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>addFilter</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.131">addFilter</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;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;filters)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.132">addFilter</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;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;filters)</pre>
 </li>
 </ul>
 <a name="addFilter-org.apache.hadoop.hbase.filter.Filter-">
@@ -580,7 +588,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>addFilter</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.139">addFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.140">addFilter</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter)</pre>
 <div class="block">Add a filter.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -594,7 +602,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.144">reset</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.145">reset</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#reset--">FilterBase</a></code></span></div>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
@@ -618,7 +626,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.149">filterRowKey</a>(byte[]&nbsp;rowKey,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.150">filterRowKey</a>(byte[]&nbsp;rowKey,
                             int&nbsp;offset,
                             int&nbsp;length)
                      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>
@@ -651,7 +659,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.154">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.155">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -679,7 +687,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>filterAllRemaining</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.159">filterAllRemaining</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.160">filterAllRemaining</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterAllRemaining--">FilterBase</a></code></span></div>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
@@ -705,7 +713,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>transformCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.164">transformCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.165">transformCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#transformCell-org.apache.hadoop.hbase.Cell-">FilterBase</a></code></span></div>
 <div class="block">By default no transformation takes place
@@ -739,7 +747,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html"
 <li class="blockList">
 <h4>filterKeyValue</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.170">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
+public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.171">filterKeyValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
                                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterKeyValue-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
@@ -777,7 +785,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.175">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.176">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -814,7 +822,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowCells</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.184">filterRowCells</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;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cells)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.185">filterRowCells</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;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cells)
                     throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Filters that never filter by modifying the returned List of Cells can inherit this
  implementation that does nothing. Filters that never filter by modifying the returned List of Cells can
@@ -840,7 +848,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>hasFilterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.189">hasFilterRow</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.190">hasFilterRow</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#hasFilterRow--">FilterBase</a></code></span></div>
 <div class="block">Fitlers that never filter by modifying the returned List of Cells can
  inherit this implementation that does nothing.
@@ -861,7 +869,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.194">filterRow</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.195">filterRow</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterRow--">FilterBase</a></code></span></div>
 <div class="block">Filters that never filter by rows based on previously gathered state from
@@ -890,7 +898,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>toByteArray</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.202">toByteArray</a>()
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.203">toByteArray</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toByteArray--">FilterBase</a></code></span></div>
 <div class="block">Return length 0 byte array for Filters that don't require special serialization</div>
@@ -910,7 +918,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>parseFrom</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html" title="class in org.apache.hadoop.hbase.filter">FilterList</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.218">parseFrom</a>(byte[]&nbsp;pbBytes)
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.html" title="class in org.apache.hadoop.hbase.filter">FilterList</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.219">parseFrom</a>(byte[]&nbsp;pbBytes)
                             throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/DeserializationException.html" title="class in org.apache.hadoop.hbase.exceptions">DeserializationException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -930,7 +938,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>areSerializedFieldsEqual</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.244">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;other)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.245">areSerializedFieldsEqual</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;other)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#areSerializedFieldsEqual-org.apache.hadoop.hbase.filter.Filter-">FilterBase</a></code></span></div>
 <div class="block">Default implementation so that writers of custom filters aren't forced to implement.</div>
 <dl>
@@ -950,7 +958,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>getNextCellHint</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.254">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.255">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">FilterBase</a></code></span></div>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
@@ -979,7 +987,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>isFamilyEssential</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.259">isFamilyEssential</a>(byte[]&nbsp;name)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.260">isFamilyEssential</a>(byte[]&nbsp;name)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#isFamilyEssential-byte:A-">FilterBase</a></code></span></div>
 <div class="block">By default, we require all scan's column families to be present. Our
@@ -1006,7 +1014,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>setReversed</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.264">setReversed</a>(boolean&nbsp;reversed)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.265">setReversed</a>(boolean&nbsp;reversed)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#setReversed-boolean-">Filter</a></code></span></div>
 <div class="block">alter the reversed scan flag</div>
 <dl>
@@ -1023,7 +1031,7 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <ul class="blockList">
 <li class="blockList">
 <h4>isReversed</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.270">isReversed</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.271">isReversed</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#isReversed--">isReversed</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a></code></dd>
@@ -1033,10 +1041,10 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 <a name="toString--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.276">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.277">toString</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#toString--">FilterBase</a></code></span></div>
 <div class="block">Return filter's info for debugging and logging purpose.</div>
 <dl>
@@ -1045,6 +1053,32 @@ public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.Return
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.281">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterList.html#line.290">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/devapidocs/org/apache/hadoop/hbase/filter/FilterListWithAND.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/FilterListWithAND.html b/devapidocs/org/apache/hadoop/hbase/filter/FilterListWithAND.html
index 74ec75f..af5688c 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/FilterListWithAND.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/FilterListWithAND.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -125,7 +125,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.35">FilterListWithAND</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.37">FilterListWithAND</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.html" title="class in org.apache.hadoop.hbase.filter">FilterListBase</a></pre>
 <div class="block">FilterListWithAND represents an ordered list of filters which will be evaluated with an AND
  operator.</div>
@@ -218,18 +218,22 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListWithAND.html#equals-java.lang.Object-">equals</a></span>(<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>&nbsp;obj)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListWithAND.html#filterAllRemaining--">filterAllRemaining</a></span>()</code>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
  never stops the filter early.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListWithAND.html#filterCell-org.apache.hadoop.hbase.Cell-">filterCell</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)</code>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListWithAND.html#filterRow--">filterRow</a></span>()</code>
 <div class="block">Filters that never filter by rows based on previously gathered state from
@@ -237,7 +241,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
  never filters a row.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListWithAND.html#filterRowKey-byte:A-int-int-">filterRowKey</a></span>(byte[]&nbsp;rowKey,
             int&nbsp;offset,
@@ -246,35 +250,39 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
  never filters anything.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListWithAND.html#filterRowKey-org.apache.hadoop.hbase.Cell-">filterRowKey</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)</code>
 <div class="block">Filters a row based on the row key.</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListWithAND.html#formatLogFilters-java.util.List-">formatLogFilters</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;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;logFilters)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListWithAND.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">getNextCellHint</a></span>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)</code>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
  this implementation that, by default, returns a null Cell.</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListWithAND.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListWithAND.html#isIncludeRelatedReturnCode-org.apache.hadoop.hbase.filter.Filter.ReturnCode-">isIncludeRelatedReturnCode</a></span>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;rc)</code>&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListWithAND.html#mergeReturnCode-org.apache.hadoop.hbase.filter.Filter.ReturnCode-org.apache.hadoop.hbase.filter.Filter.ReturnCode-">mergeReturnCode</a></span>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;rc,
                <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;localRC)</code>
 <div class="block">FilterList with MUST_PASS_ALL choose the maximal forward step among sub-filters in filter list.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListWithAND.html#reset--">reset</a></span>()</code>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
@@ -308,7 +316,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <!--   -->
 </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/ja
 va/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#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>
+<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#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#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#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.htm
 l?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>
@@ -330,7 +338,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <ul class="blockListLast">
 <li class="blockList">
 <h4>seekHintFilters</h4>
-<pre>private&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="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.37">seekHintFilters</a></pre>
+<pre>private&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="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.39">seekHintFilters</a></pre>
 </li>
 </ul>
 </li>
@@ -347,7 +355,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FilterListWithAND</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.39">FilterListWithAND</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;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;filters)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.41">FilterListWithAND</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;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;filters)</pre>
 </li>
 </ul>
 </li>
@@ -364,7 +372,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>addFilterLists</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.48">addFilterLists</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;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;filters)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.50">addFilterLists</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;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;filters)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.html#addFilterLists-java.util.List-">addFilterLists</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.html" title="class in org.apache.hadoop.hbase.filter">FilterListBase</a></code></dd>
@@ -377,7 +385,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>formatLogFilters</h4>
-<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.57">formatLogFilters</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;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;logFilters)</pre>
+<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.59">formatLogFilters</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;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&gt;&nbsp;logFilters)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.html#formatLogFilters-java.util.List-">formatLogFilters</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.html" title="class in org.apache.hadoop.hbase.filter">FilterListBase</a></code></dd>
@@ -390,7 +398,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>mergeReturnCode</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.98">mergeReturnCode</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;rc,
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.100">mergeReturnCode</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;rc,
                                           <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;localRC)</pre>
 <div class="block">FilterList with MUST_PASS_ALL choose the maximal forward step among sub-filters in filter list.
  Let's call it: The Maximal Step Rule. So if filter-A in filter list return INCLUDE and filter-B
@@ -437,7 +445,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>isIncludeRelatedReturnCode</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.157">isIncludeRelatedReturnCode</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;rc)</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.159">isIncludeRelatedReturnCode</a>(<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;rc)</pre>
 </li>
 </ul>
 <a name="filterCell-org.apache.hadoop.hbase.Cell-">
@@ -446,7 +454,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>filterCell</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.163">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter">Filter.ReturnCode</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.165">filterCell</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;c)
                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterCell-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">A way to filter based on the column family, column qualifier and/or the column value. Return
@@ -483,7 +491,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>reset</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.194">reset</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.196">reset</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#reset--">FilterBase</a></code></span></div>
 <div class="block">Filters that are purely stateless and do nothing in their reset() methods can inherit
@@ -507,7 +515,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.202">filterRowKey</a>(byte[]&nbsp;rowKey,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.204">filterRowKey</a>(byte[]&nbsp;rowKey,
                             int&nbsp;offset,
                             int&nbsp;length)
                      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>
@@ -540,7 +548,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRowKey</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.217">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.219">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstRowCell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html#filterRowKey-org.apache.hadoop.hbase.Cell-">Filter</a></code></span></div>
 <div class="block">Filters a row based on the row key. If this returns true, the entire row will be excluded. If
@@ -568,7 +576,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>filterAllRemaining</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.235">filterAllRemaining</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.237">filterAllRemaining</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterAllRemaining--">FilterBase</a></code></span></div>
 <div class="block">Filters that never filter all remaining can inherit this implementation that
@@ -594,7 +602,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>filterRow</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.248">filterRow</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.250">filterRow</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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#filterRow--">FilterBase</a></code></span></div>
 <div class="block">Filters that never filter by rows based on previously gathered state from
@@ -620,10 +628,10 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 <a name="getNextCellHint-org.apache.hadoop.hbase.Cell-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getNextCellHint</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.262">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.264">getNextCellHint</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell)
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/filter/FilterBase.html#getNextCellHint-org.apache.hadoop.hbase.Cell-">FilterBase</a></code></span></div>
 <div class="block">Filters that are not sure which key must be next seeked to, can inherit
@@ -646,6 +654,32 @@ extends <a href="../../../../../org/apache/hadoop/hbase/filter/FilterListBase.ht
 </dl>
 </li>
 </ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.286">equals</a>(<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>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/filter/FilterListWithAND.html#line.298">hashCode</a>()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>


[36/51] [partial] hbase-site git commit: Published site at a452487a9b82bfd33bc10683c3f8b8ae74d58883.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/0cf79db0/apidocs/src-html/org/apache/hadoop/hbase/filter/FilterList.Operator.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/filter/FilterList.Operator.html b/apidocs/src-html/org/apache/hadoop/hbase/filter/FilterList.Operator.html
index 8dfb5f1..b025b7e 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/filter/FilterList.Operator.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/filter/FilterList.Operator.html
@@ -31,260 +31,274 @@
 <span class="sourceLineNo">023</span>import java.util.Arrays;<a name="line.23"></a>
 <span class="sourceLineNo">024</span>import java.util.Collections;<a name="line.24"></a>
 <span class="sourceLineNo">025</span>import java.util.List;<a name="line.25"></a>
-<span class="sourceLineNo">026</span><a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.Cell;<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>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.29"></a>
-<span class="sourceLineNo">030</span><a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.33"></a>
-<span class="sourceLineNo">034</span><a name="line.34"></a>
-<span class="sourceLineNo">035</span>/**<a name="line.35"></a>
-<span class="sourceLineNo">036</span> * Implementation of {@link Filter} that represents an ordered List of Filters which will be<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * evaluated with a specified boolean operator {@link Operator#MUST_PASS_ALL} (&lt;code&gt;AND&lt;/code&gt;) or<a name="line.37"></a>
-<span class="sourceLineNo">038</span> * {@link Operator#MUST_PASS_ONE} (&lt;code&gt;OR&lt;/code&gt;). Since you can use Filter Lists as children of<a name="line.38"></a>
-<span class="sourceLineNo">039</span> * Filter Lists, you can create a hierarchy of filters to be evaluated. &lt;br&gt;<a name="line.39"></a>
-<span class="sourceLineNo">040</span> * {@link Operator#MUST_PASS_ALL} evaluates lazily: evaluation stops as soon as one filter does not<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * include the Cell. &lt;br&gt;<a name="line.41"></a>
-<span class="sourceLineNo">042</span> * {@link Operator#MUST_PASS_ONE} evaluates non-lazily: all filters are always evaluated. &lt;br&gt;<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * Defaults to {@link Operator#MUST_PASS_ALL}.<a name="line.43"></a>
-<span class="sourceLineNo">044</span> */<a name="line.44"></a>
-<span class="sourceLineNo">045</span>@InterfaceAudience.Public<a name="line.45"></a>
-<span class="sourceLineNo">046</span>final public class FilterList extends FilterBase {<a name="line.46"></a>
-<span class="sourceLineNo">047</span><a name="line.47"></a>
-<span class="sourceLineNo">048</span>  /** set operator */<a name="line.48"></a>
-<span class="sourceLineNo">049</span>  @InterfaceAudience.Public<a name="line.49"></a>
-<span class="sourceLineNo">050</span>  public enum Operator {<a name="line.50"></a>
-<span class="sourceLineNo">051</span>    /** !AND */<a name="line.51"></a>
-<span class="sourceLineNo">052</span>    MUST_PASS_ALL,<a name="line.52"></a>
-<span class="sourceLineNo">053</span>    /** !OR */<a name="line.53"></a>
-<span class="sourceLineNo">054</span>    MUST_PASS_ONE<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 Operator operator;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  private FilterListBase filterListBase;<a name="line.58"></a>
-<span class="sourceLineNo">059</span><a name="line.59"></a>
-<span class="sourceLineNo">060</span>  /**<a name="line.60"></a>
-<span class="sourceLineNo">061</span>   * Constructor that takes a set of {@link Filter}s and an operator.<a name="line.61"></a>
-<span class="sourceLineNo">062</span>   * @param operator Operator to process filter set with.<a name="line.62"></a>
-<span class="sourceLineNo">063</span>   * @param filters Set of row filters.<a name="line.63"></a>
-<span class="sourceLineNo">064</span>   */<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  public FilterList(final Operator operator, final List&lt;Filter&gt; filters) {<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    if (operator == Operator.MUST_PASS_ALL) {<a name="line.66"></a>
-<span class="sourceLineNo">067</span>      filterListBase = new FilterListWithAND(filters);<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    } else if (operator == Operator.MUST_PASS_ONE) {<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      filterListBase = new FilterListWithOR(filters);<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    } else {<a name="line.70"></a>
-<span class="sourceLineNo">071</span>      throw new IllegalArgumentException("Invalid operator: " + operator);<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    }<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    this.operator = operator;<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>   * Constructor that takes a set of {@link Filter}s. The default operator MUST_PASS_ALL is assumed.<a name="line.77"></a>
-<span class="sourceLineNo">078</span>   * All filters are cloned to internal list.<a name="line.78"></a>
-<span class="sourceLineNo">079</span>   * @param filters list of filters<a name="line.79"></a>
-<span class="sourceLineNo">080</span>   */<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  public FilterList(final List&lt;Filter&gt; filters) {<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    this(Operator.MUST_PASS_ALL, filters);<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  }<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  /**<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   * Constructor that takes a var arg number of {@link Filter}s. The default operator MUST_PASS_ALL<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   * is assumed.<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   * @param filters<a name="line.88"></a>
-<span class="sourceLineNo">089</span>   */<a name="line.89"></a>
-<span class="sourceLineNo">090</span>  public FilterList(final Filter... filters) {<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    this(Operator.MUST_PASS_ALL, Arrays.asList(filters));<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  }<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>  /**<a name="line.94"></a>
-<span class="sourceLineNo">095</span>   * Constructor that takes an operator.<a name="line.95"></a>
-<span class="sourceLineNo">096</span>   * @param operator Operator to process filter set with.<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   */<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  public FilterList(final Operator operator) {<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    this(operator, new ArrayList&lt;&gt;());<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>  /**<a name="line.102"></a>
-<span class="sourceLineNo">103</span>   * Constructor that takes a var arg number of {@link Filter}s and an operator.<a name="line.103"></a>
-<span class="sourceLineNo">104</span>   * @param operator Operator to process filter set with.<a name="line.104"></a>
-<span class="sourceLineNo">105</span>   * @param filters Filters to use<a name="line.105"></a>
-<span class="sourceLineNo">106</span>   */<a name="line.106"></a>
-<span class="sourceLineNo">107</span>  public FilterList(final Operator operator, final Filter... filters) {<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    this(operator, Arrays.asList(filters));<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>   * Get the operator.<a name="line.112"></a>
-<span class="sourceLineNo">113</span>   * @return operator<a name="line.113"></a>
-<span class="sourceLineNo">114</span>   */<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  public Operator getOperator() {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    return operator;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>  }<a name="line.117"></a>
-<span class="sourceLineNo">118</span><a name="line.118"></a>
-<span class="sourceLineNo">119</span>  /**<a name="line.119"></a>
-<span class="sourceLineNo">120</span>   * Get the filters.<a name="line.120"></a>
-<span class="sourceLineNo">121</span>   * @return filters<a name="line.121"></a>
-<span class="sourceLineNo">122</span>   */<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  public List&lt;Filter&gt; getFilters() {<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    return filterListBase.getFilters();<a name="line.124"></a>
-<span class="sourceLineNo">125</span>  }<a name="line.125"></a>
-<span class="sourceLineNo">126</span><a name="line.126"></a>
-<span class="sourceLineNo">127</span>  public int size() {<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    return filterListBase.size();<a name="line.128"></a>
-<span class="sourceLineNo">129</span>  }<a name="line.129"></a>
-<span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>  public void addFilter(List&lt;Filter&gt; filters) {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    filterListBase.addFilterLists(filters);<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  }<a name="line.133"></a>
-<span class="sourceLineNo">134</span><a name="line.134"></a>
-<span class="sourceLineNo">135</span>  /**<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * Add a filter.<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   * @param filter another filter<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   */<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  public void addFilter(Filter filter) {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    addFilter(Collections.singletonList(filter));<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
-<span class="sourceLineNo">142</span><a name="line.142"></a>
-<span class="sourceLineNo">143</span>  @Override<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  public void reset() throws IOException {<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    filterListBase.reset();<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  }<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  @Override<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  public boolean filterRowKey(byte[] rowKey, int offset, int length) throws IOException {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    return filterListBase.filterRowKey(rowKey, offset, length);<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>  @Override<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  public boolean filterRowKey(Cell firstRowCell) throws IOException {<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    return filterListBase.filterRowKey(firstRowCell);<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  }<a name="line.156"></a>
-<span class="sourceLineNo">157</span><a name="line.157"></a>
-<span class="sourceLineNo">158</span>  @Override<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  public boolean filterAllRemaining() throws IOException {<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    return filterListBase.filterAllRemaining();<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 Cell transformCell(Cell c) throws IOException {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    return filterListBase.transformCell(c);<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>  @Override<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  @Deprecated<a name="line.169"></a>
-<span class="sourceLineNo">170</span>  public ReturnCode filterKeyValue(final Cell c) throws IOException {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    return filterCell(c);<a name="line.171"></a>
-<span class="sourceLineNo">172</span>  }<a name="line.172"></a>
-<span class="sourceLineNo">173</span><a name="line.173"></a>
-<span class="sourceLineNo">174</span>  @Override<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  public ReturnCode filterCell(final Cell c) throws IOException {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    return filterListBase.filterCell(c);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>  }<a name="line.177"></a>
-<span class="sourceLineNo">178</span><a name="line.178"></a>
-<span class="sourceLineNo">179</span>  /**<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   * Filters that never filter by modifying the returned List of Cells can inherit this<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   * implementation that does nothing. {@inheritDoc}<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   */<a name="line.182"></a>
-<span class="sourceLineNo">183</span>  @Override<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  public void filterRowCells(List&lt;Cell&gt; cells) throws IOException {<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    filterListBase.filterRowCells(cells);<a name="line.185"></a>
-<span class="sourceLineNo">186</span>  }<a name="line.186"></a>
-<span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>  @Override<a name="line.188"></a>
-<span class="sourceLineNo">189</span>  public boolean hasFilterRow() {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    return filterListBase.hasFilterRow();<a name="line.190"></a>
-<span class="sourceLineNo">191</span>  }<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span>  @Override<a name="line.193"></a>
-<span class="sourceLineNo">194</span>  public boolean filterRow() throws IOException {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    return filterListBase.filterRow();<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  }<a name="line.196"></a>
-<span class="sourceLineNo">197</span><a name="line.197"></a>
-<span class="sourceLineNo">198</span>  /**<a name="line.198"></a>
-<span class="sourceLineNo">199</span>   * @return The filter serialized using pb<a name="line.199"></a>
-<span class="sourceLineNo">200</span>   */<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  @Override<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  public byte[] toByteArray() throws IOException {<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    FilterProtos.FilterList.Builder builder = FilterProtos.FilterList.newBuilder();<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    builder.setOperator(FilterProtos.FilterList.Operator.valueOf(operator.name()));<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    ArrayList&lt;Filter&gt; filters = filterListBase.getFilters();<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    for (int i = 0, n = filters.size(); i &lt; n; i++) {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      builder.addFilters(ProtobufUtil.toFilter(filters.get(i)));<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    }<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    return builder.build().toByteArray();<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  }<a name="line.210"></a>
-<span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span>  /**<a name="line.212"></a>
-<span class="sourceLineNo">213</span>   * @param pbBytes A pb serialized {@link FilterList} instance<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   * @return An instance of {@link FilterList} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   * @throws DeserializationException<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   * @see #toByteArray<a name="line.216"></a>
-<span class="sourceLineNo">217</span>   */<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  public static FilterList parseFrom(final byte[] pbBytes) throws DeserializationException {<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    FilterProtos.FilterList proto;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    try {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      proto = FilterProtos.FilterList.parseFrom(pbBytes);<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    } catch (InvalidProtocolBufferException e) {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      throw new DeserializationException(e);<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>    List&lt;Filter&gt; rowFilters = new ArrayList&lt;&gt;(proto.getFiltersCount());<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    try {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      List&lt;FilterProtos.Filter&gt; filtersList = proto.getFiltersList();<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      for (int i = 0, n = filtersList.size(); i &lt; n; i++) {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>        rowFilters.add(ProtobufUtil.toFilter(filtersList.get(i)));<a name="line.230"></a>
-<span class="sourceLineNo">231</span>      }<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    } catch (IOException ioe) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      throw new DeserializationException(ioe);<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    return new FilterList(Operator.valueOf(proto.getOperator().name()), rowFilters);<a name="line.235"></a>
-<span class="sourceLineNo">236</span>  }<a name="line.236"></a>
-<span class="sourceLineNo">237</span><a name="line.237"></a>
-<span class="sourceLineNo">238</span>  /**<a name="line.238"></a>
-<span class="sourceLineNo">239</span>   * @param other<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * @return true if and only if the fields of the filter that are serialized are equal to the<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   *         corresponding fields in other. Used for testing.<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  @Override<a name="line.243"></a>
-<span class="sourceLineNo">244</span>  boolean areSerializedFieldsEqual(Filter other) {<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    if (other == this) return true;<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    if (!(other instanceof FilterList)) return false;<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>    FilterList o = (FilterList) other;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    return this.getOperator().equals(o.getOperator())<a name="line.249"></a>
-<span class="sourceLineNo">250</span>        &amp;&amp; ((this.getFilters() == o.getFilters()) || this.getFilters().equals(o.getFilters()));<a name="line.250"></a>
-<span class="sourceLineNo">251</span>  }<a name="line.251"></a>
-<span class="sourceLineNo">252</span><a name="line.252"></a>
-<span class="sourceLineNo">253</span>  @Override<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  public Cell getNextCellHint(Cell currentCell) throws IOException {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    return this.filterListBase.getNextCellHint(currentCell);<a name="line.255"></a>
-<span class="sourceLineNo">256</span>  }<a name="line.256"></a>
-<span class="sourceLineNo">257</span><a name="line.257"></a>
-<span class="sourceLineNo">258</span>  @Override<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  public boolean isFamilyEssential(byte[] name) throws IOException {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    return this.filterListBase.isFamilyEssential(name);<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  @Override<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  public void setReversed(boolean reversed) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    this.reversed = reversed;<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    this.filterListBase.setReversed(reversed);<a name="line.266"></a>
-<span class="sourceLineNo">267</span>  }<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>  @Override<a name="line.269"></a>
-<span class="sourceLineNo">270</span>  public boolean isReversed() {<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    assert this.reversed == this.filterListBase.isReversed();<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    return this.reversed;<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  }<a name="line.273"></a>
-<span class="sourceLineNo">274</span><a name="line.274"></a>
-<span class="sourceLineNo">275</span>  @Override<a name="line.275"></a>
-<span class="sourceLineNo">276</span>  public String toString() {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    return this.filterListBase.toString();<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  }<a name="line.278"></a>
-<span class="sourceLineNo">279</span>}<a name="line.279"></a>
+<span class="sourceLineNo">026</span>import java.util.Objects;<a name="line.26"></a>
+<span class="sourceLineNo">027</span><a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.Cell;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.yetus.audience.InterfaceAudience;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.30"></a>
+<span class="sourceLineNo">031</span><a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hbase.thirdparty.com.google.protobuf.InvalidProtocolBufferException;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.FilterProtos;<a name="line.34"></a>
+<span class="sourceLineNo">035</span><a name="line.35"></a>
+<span class="sourceLineNo">036</span>/**<a name="line.36"></a>
+<span class="sourceLineNo">037</span> * Implementation of {@link Filter} that represents an ordered List of Filters which will be<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * evaluated with a specified boolean operator {@link Operator#MUST_PASS_ALL} (&lt;code&gt;AND&lt;/code&gt;) or<a name="line.38"></a>
+<span class="sourceLineNo">039</span> * {@link Operator#MUST_PASS_ONE} (&lt;code&gt;OR&lt;/code&gt;). Since you can use Filter Lists as children of<a name="line.39"></a>
+<span class="sourceLineNo">040</span> * Filter Lists, you can create a hierarchy of filters to be evaluated. &lt;br&gt;<a name="line.40"></a>
+<span class="sourceLineNo">041</span> * {@link Operator#MUST_PASS_ALL} evaluates lazily: evaluation stops as soon as one filter does not<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * include the Cell. &lt;br&gt;<a name="line.42"></a>
+<span class="sourceLineNo">043</span> * {@link Operator#MUST_PASS_ONE} evaluates non-lazily: all filters are always evaluated. &lt;br&gt;<a name="line.43"></a>
+<span class="sourceLineNo">044</span> * Defaults to {@link Operator#MUST_PASS_ALL}.<a name="line.44"></a>
+<span class="sourceLineNo">045</span> */<a name="line.45"></a>
+<span class="sourceLineNo">046</span>@InterfaceAudience.Public<a name="line.46"></a>
+<span class="sourceLineNo">047</span>final public class FilterList extends FilterBase {<a name="line.47"></a>
+<span class="sourceLineNo">048</span><a name="line.48"></a>
+<span class="sourceLineNo">049</span>  /** set operator */<a name="line.49"></a>
+<span class="sourceLineNo">050</span>  @InterfaceAudience.Public<a name="line.50"></a>
+<span class="sourceLineNo">051</span>  public enum Operator {<a name="line.51"></a>
+<span class="sourceLineNo">052</span>    /** !AND */<a name="line.52"></a>
+<span class="sourceLineNo">053</span>    MUST_PASS_ALL,<a name="line.53"></a>
+<span class="sourceLineNo">054</span>    /** !OR */<a name="line.54"></a>
+<span class="sourceLineNo">055</span>    MUST_PASS_ONE<a name="line.55"></a>
+<span class="sourceLineNo">056</span>  }<a name="line.56"></a>
+<span class="sourceLineNo">057</span><a name="line.57"></a>
+<span class="sourceLineNo">058</span>  private Operator operator;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>  private FilterListBase filterListBase;<a name="line.59"></a>
+<span class="sourceLineNo">060</span><a name="line.60"></a>
+<span class="sourceLineNo">061</span>  /**<a name="line.61"></a>
+<span class="sourceLineNo">062</span>   * Constructor that takes a set of {@link Filter}s and an operator.<a name="line.62"></a>
+<span class="sourceLineNo">063</span>   * @param operator Operator to process filter set with.<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   * @param filters Set of row filters.<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   */<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  public FilterList(final Operator operator, final List&lt;Filter&gt; filters) {<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    if (operator == Operator.MUST_PASS_ALL) {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>      filterListBase = new FilterListWithAND(filters);<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    } else if (operator == Operator.MUST_PASS_ONE) {<a name="line.69"></a>
+<span class="sourceLineNo">070</span>      filterListBase = new FilterListWithOR(filters);<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    } else {<a name="line.71"></a>
+<span class="sourceLineNo">072</span>      throw new IllegalArgumentException("Invalid operator: " + operator);<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    }<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    this.operator = operator;<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>   * Constructor that takes a set of {@link Filter}s. The default operator MUST_PASS_ALL is assumed.<a name="line.78"></a>
+<span class="sourceLineNo">079</span>   * All filters are cloned to internal list.<a name="line.79"></a>
+<span class="sourceLineNo">080</span>   * @param filters list of filters<a name="line.80"></a>
+<span class="sourceLineNo">081</span>   */<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  public FilterList(final List&lt;Filter&gt; filters) {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    this(Operator.MUST_PASS_ALL, filters);<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  }<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>  /**<a name="line.86"></a>
+<span class="sourceLineNo">087</span>   * Constructor that takes a var arg number of {@link Filter}s. The default operator MUST_PASS_ALL<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   * is assumed.<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   * @param filters<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   */<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  public FilterList(final Filter... filters) {<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    this(Operator.MUST_PASS_ALL, Arrays.asList(filters));<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  }<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>  /**<a name="line.95"></a>
+<span class="sourceLineNo">096</span>   * Constructor that takes an operator.<a name="line.96"></a>
+<span class="sourceLineNo">097</span>   * @param operator Operator to process filter set with.<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   */<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  public FilterList(final Operator operator) {<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    this(operator, new ArrayList&lt;&gt;());<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  }<a name="line.101"></a>
+<span class="sourceLineNo">102</span><a name="line.102"></a>
+<span class="sourceLineNo">103</span>  /**<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   * Constructor that takes a var arg number of {@link Filter}s and an operator.<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   * @param operator Operator to process filter set with.<a name="line.105"></a>
+<span class="sourceLineNo">106</span>   * @param filters Filters to use<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   */<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  public FilterList(final Operator operator, final Filter... filters) {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    this(operator, Arrays.asList(filters));<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>  /**<a name="line.112"></a>
+<span class="sourceLineNo">113</span>   * Get the operator.<a name="line.113"></a>
+<span class="sourceLineNo">114</span>   * @return operator<a name="line.114"></a>
+<span class="sourceLineNo">115</span>   */<a name="line.115"></a>
+<span class="sourceLineNo">116</span>  public Operator getOperator() {<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    return operator;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  }<a name="line.118"></a>
+<span class="sourceLineNo">119</span><a name="line.119"></a>
+<span class="sourceLineNo">120</span>  /**<a name="line.120"></a>
+<span class="sourceLineNo">121</span>   * Get the filters.<a name="line.121"></a>
+<span class="sourceLineNo">122</span>   * @return filters<a name="line.122"></a>
+<span class="sourceLineNo">123</span>   */<a name="line.123"></a>
+<span class="sourceLineNo">124</span>  public List&lt;Filter&gt; getFilters() {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    return filterListBase.getFilters();<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>  public int size() {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    return filterListBase.size();<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  }<a name="line.130"></a>
+<span class="sourceLineNo">131</span><a name="line.131"></a>
+<span class="sourceLineNo">132</span>  public void addFilter(List&lt;Filter&gt; filters) {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    filterListBase.addFilterLists(filters);<a name="line.133"></a>
+<span class="sourceLineNo">134</span>  }<a name="line.134"></a>
+<span class="sourceLineNo">135</span><a name="line.135"></a>
+<span class="sourceLineNo">136</span>  /**<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   * Add a filter.<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   * @param filter another filter<a name="line.138"></a>
+<span class="sourceLineNo">139</span>   */<a name="line.139"></a>
+<span class="sourceLineNo">140</span>  public void addFilter(Filter filter) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    addFilter(Collections.singletonList(filter));<a name="line.141"></a>
+<span class="sourceLineNo">142</span>  }<a name="line.142"></a>
+<span class="sourceLineNo">143</span><a name="line.143"></a>
+<span class="sourceLineNo">144</span>  @Override<a name="line.144"></a>
+<span class="sourceLineNo">145</span>  public void reset() throws IOException {<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    filterListBase.reset();<a name="line.146"></a>
+<span class="sourceLineNo">147</span>  }<a name="line.147"></a>
+<span class="sourceLineNo">148</span><a name="line.148"></a>
+<span class="sourceLineNo">149</span>  @Override<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  public boolean filterRowKey(byte[] rowKey, int offset, int length) throws IOException {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    return filterListBase.filterRowKey(rowKey, offset, length);<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>  @Override<a name="line.154"></a>
+<span class="sourceLineNo">155</span>  public boolean filterRowKey(Cell firstRowCell) throws IOException {<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    return filterListBase.filterRowKey(firstRowCell);<a name="line.156"></a>
+<span class="sourceLineNo">157</span>  }<a name="line.157"></a>
+<span class="sourceLineNo">158</span><a name="line.158"></a>
+<span class="sourceLineNo">159</span>  @Override<a name="line.159"></a>
+<span class="sourceLineNo">160</span>  public boolean filterAllRemaining() throws IOException {<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    return filterListBase.filterAllRemaining();<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 Cell transformCell(Cell c) throws IOException {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    return filterListBase.transformCell(c);<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>  @Override<a name="line.169"></a>
+<span class="sourceLineNo">170</span>  @Deprecated<a name="line.170"></a>
+<span class="sourceLineNo">171</span>  public ReturnCode filterKeyValue(final Cell c) throws IOException {<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    return filterCell(c);<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>  @Override<a name="line.175"></a>
+<span class="sourceLineNo">176</span>  public ReturnCode filterCell(final Cell c) throws IOException {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    return filterListBase.filterCell(c);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>  }<a name="line.178"></a>
+<span class="sourceLineNo">179</span><a name="line.179"></a>
+<span class="sourceLineNo">180</span>  /**<a name="line.180"></a>
+<span class="sourceLineNo">181</span>   * Filters that never filter by modifying the returned List of Cells can inherit this<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   * implementation that does nothing. {@inheritDoc}<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   */<a name="line.183"></a>
+<span class="sourceLineNo">184</span>  @Override<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  public void filterRowCells(List&lt;Cell&gt; cells) throws IOException {<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    filterListBase.filterRowCells(cells);<a name="line.186"></a>
+<span class="sourceLineNo">187</span>  }<a name="line.187"></a>
+<span class="sourceLineNo">188</span><a name="line.188"></a>
+<span class="sourceLineNo">189</span>  @Override<a name="line.189"></a>
+<span class="sourceLineNo">190</span>  public boolean hasFilterRow() {<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    return filterListBase.hasFilterRow();<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  }<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>  @Override<a name="line.194"></a>
+<span class="sourceLineNo">195</span>  public boolean filterRow() throws IOException {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    return filterListBase.filterRow();<a name="line.196"></a>
+<span class="sourceLineNo">197</span>  }<a name="line.197"></a>
+<span class="sourceLineNo">198</span><a name="line.198"></a>
+<span class="sourceLineNo">199</span>  /**<a name="line.199"></a>
+<span class="sourceLineNo">200</span>   * @return The filter serialized using pb<a name="line.200"></a>
+<span class="sourceLineNo">201</span>   */<a name="line.201"></a>
+<span class="sourceLineNo">202</span>  @Override<a name="line.202"></a>
+<span class="sourceLineNo">203</span>  public byte[] toByteArray() throws IOException {<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    FilterProtos.FilterList.Builder builder = FilterProtos.FilterList.newBuilder();<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    builder.setOperator(FilterProtos.FilterList.Operator.valueOf(operator.name()));<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    ArrayList&lt;Filter&gt; filters = filterListBase.getFilters();<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    for (int i = 0, n = filters.size(); i &lt; n; i++) {<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      builder.addFilters(ProtobufUtil.toFilter(filters.get(i)));<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    }<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    return builder.build().toByteArray();<a name="line.210"></a>
+<span class="sourceLineNo">211</span>  }<a name="line.211"></a>
+<span class="sourceLineNo">212</span><a name="line.212"></a>
+<span class="sourceLineNo">213</span>  /**<a name="line.213"></a>
+<span class="sourceLineNo">214</span>   * @param pbBytes A pb serialized {@link FilterList} instance<a name="line.214"></a>
+<span class="sourceLineNo">215</span>   * @return An instance of {@link FilterList} made from &lt;code&gt;bytes&lt;/code&gt;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>   * @throws DeserializationException<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   * @see #toByteArray<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  public static FilterList parseFrom(final byte[] pbBytes) throws DeserializationException {<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    FilterProtos.FilterList proto;<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    try {<a name="line.221"></a>
+<span class="sourceLineNo">222</span>      proto = FilterProtos.FilterList.parseFrom(pbBytes);<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    } catch (InvalidProtocolBufferException e) {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      throw new DeserializationException(e);<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    }<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>    List&lt;Filter&gt; rowFilters = new ArrayList&lt;&gt;(proto.getFiltersCount());<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    try {<a name="line.228"></a>
+<span class="sourceLineNo">229</span>      List&lt;FilterProtos.Filter&gt; filtersList = proto.getFiltersList();<a name="line.229"></a>
+<span class="sourceLineNo">230</span>      for (int i = 0, n = filtersList.size(); i &lt; n; i++) {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>        rowFilters.add(ProtobufUtil.toFilter(filtersList.get(i)));<a name="line.231"></a>
+<span class="sourceLineNo">232</span>      }<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    } catch (IOException ioe) {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>      throw new DeserializationException(ioe);<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    }<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    return new FilterList(Operator.valueOf(proto.getOperator().name()), rowFilters);<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  }<a name="line.237"></a>
+<span class="sourceLineNo">238</span><a name="line.238"></a>
+<span class="sourceLineNo">239</span>  /**<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   * @param other<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * @return true if and only if the fields of the filter that are serialized are equal to the<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   *         corresponding fields in other. Used for testing.<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   */<a name="line.243"></a>
+<span class="sourceLineNo">244</span>  @Override<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  boolean areSerializedFieldsEqual(Filter other) {<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    if (other == this) return true;<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    if (!(other instanceof FilterList)) return false;<a name="line.247"></a>
+<span class="sourceLineNo">248</span><a name="line.248"></a>
+<span class="sourceLineNo">249</span>    FilterList o = (FilterList) other;<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    return this.getOperator().equals(o.getOperator())<a name="line.250"></a>
+<span class="sourceLineNo">251</span>        &amp;&amp; ((this.getFilters() == o.getFilters()) || this.getFilters().equals(o.getFilters()));<a name="line.251"></a>
+<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
+<span class="sourceLineNo">253</span><a name="line.253"></a>
+<span class="sourceLineNo">254</span>  @Override<a name="line.254"></a>
+<span class="sourceLineNo">255</span>  public Cell getNextCellHint(Cell currentCell) throws IOException {<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    return this.filterListBase.getNextCellHint(currentCell);<a name="line.256"></a>
+<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
+<span class="sourceLineNo">258</span><a name="line.258"></a>
+<span class="sourceLineNo">259</span>  @Override<a name="line.259"></a>
+<span class="sourceLineNo">260</span>  public boolean isFamilyEssential(byte[] name) throws IOException {<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    return this.filterListBase.isFamilyEssential(name);<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  }<a name="line.262"></a>
+<span class="sourceLineNo">263</span><a name="line.263"></a>
+<span class="sourceLineNo">264</span>  @Override<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  public void setReversed(boolean reversed) {<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    this.reversed = reversed;<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    this.filterListBase.setReversed(reversed);<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  }<a name="line.268"></a>
+<span class="sourceLineNo">269</span><a name="line.269"></a>
+<span class="sourceLineNo">270</span>  @Override<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  public boolean isReversed() {<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    assert this.reversed == this.filterListBase.isReversed();<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    return this.reversed;<a name="line.273"></a>
+<span class="sourceLineNo">274</span>  }<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>  @Override<a name="line.276"></a>
+<span class="sourceLineNo">277</span>  public String toString() {<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    return this.filterListBase.toString();<a name="line.278"></a>
+<span class="sourceLineNo">279</span>  }<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  @Override<a name="line.280"></a>
+<span class="sourceLineNo">281</span>  public boolean equals(Object obj) {<a name="line.281"></a>
+<span class="sourceLineNo">282</span>    if (obj == null || (!(obj instanceof FilterList))) {<a name="line.282"></a>
+<span class="sourceLineNo">283</span>      return false;<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    }<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    FilterList f = (FilterList) obj;<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    return this.areSerializedFieldsEqual(f);<a name="line.286"></a>
+<span class="sourceLineNo">287</span>  }<a name="line.287"></a>
+<span class="sourceLineNo">288</span><a name="line.288"></a>
+<span class="sourceLineNo">289</span>  @Override<a name="line.289"></a>
+<span class="sourceLineNo">290</span>  public int hashCode() {<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    return Objects.hash(this.getOperator(), Arrays.hashCode(this.getFilters().toArray()));<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  }<a name="line.292"></a>
+<span class="sourceLineNo">293</span>}<a name="line.293"></a>