You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2014/08/26 20:49:10 UTC
svn commit: r1620690 [30/40] - in /hbase/hbase.apache.org/trunk: ./
apidocs/org/apache/hadoop/hbase/client/
apidocs/org/apache/hadoop/hbase/client/class-use/
apidocs/org/apache/hadoop/hbase/coprocessor/
apidocs/org/apache/hadoop/hbase/coprocessor/class...
Added: hbase/hbase.apache.org/trunk/devapidocs/org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html
URL: http://svn.apache.org/viewvc/hbase/hbase.apache.org/trunk/devapidocs/org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html?rev=1620690&view=auto
==============================================================================
--- hbase/hbase.apache.org/trunk/devapidocs/org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html (added)
+++ hbase/hbase.apache.org/trunk/devapidocs/org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html Tue Aug 26 18:49:07 2014
@@ -0,0 +1,683 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
+<title>DefaultVisibilityLabelServiceImpl (HBase 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="DefaultVisibilityLabelServiceImpl (HBase 2.0.0-SNAPSHOT API)";
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!-- -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DefaultVisibilityLabelServiceImpl.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/DefaultScanLabelGenerator.html" title="class in org.apache.hadoop.hbase.security.visibility"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/EnforcingScanLabelGenerator.html" title="class in org.apache.hadoop.hbase.security.visibility"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html" target="_top">Frames</a></li>
+<li><a href="DefaultVisibilityLabelServiceImpl.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary: </li>
+<li>Nested | </li>
+<li>Field | </li>
+<li><a href="#constructor_summary">Constr</a> | </li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail: </li>
+<li>Field | </li>
+<li><a href="#constructor_detail">Constr</a> | </li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.security.visibility</div>
+<h2 title="Class DefaultVisibilityLabelServiceImpl" class="title">Class DefaultVisibilityLabelServiceImpl</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.security.visibility.DefaultVisibilityLabelServiceImpl</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd>org.apache.hadoop.conf.Configurable, <a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html" title="interface in org.apache.hadoop.hbase.security.visibility">VisibilityLabelService</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Private
+public class <span class="strong">DefaultVisibilityLabelServiceImpl</span>
+extends <a href="http://docs.oracle.com/javase/7/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/security/visibility/VisibilityLabelService.html" title="interface in org.apache.hadoop.hbase.security.visibility">VisibilityLabelService</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!-- -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html#DefaultVisibilityLabelServiceImpl()">DefaultVisibilityLabelServiceImpl</a></strong>()</code> </td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html#addLabels(java.util.List)">addLabels</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><byte[]> labels)</code>
+<div class="block">Adds the set of labels into the system.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html#addSystemLabel(org.apache.hadoop.hbase.regionserver.HRegion, java.util.Map, java.util.Map)">addSystemLabel</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> labels,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>>> userAuths)</code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html#clearAuths(byte[], java.util.List)">clearAuths</a></strong>(byte[] user,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><byte[]> authLabels)</code>
+<div class="block">Removes given labels from user's globally authorized list of labels.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/Tag.html" title="class in org.apache.hadoop.hbase">Tag</a>></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html#createVisibilityExpTags(java.lang.String, boolean, boolean)">createVisibilityExpTags</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> visExpression,
+ boolean withSerializationFormat,
+ boolean checkAuths)</code>
+<div class="block">Creates tags corresponding to given visibility expression.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>>,<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">Li
st</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>>>></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html#extractLabelsAndAuths(java.util.List)">extractLabelsAndAuths</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>>> labelDetails)</code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html#getAuths(byte[], boolean)">getAuths</a></strong>(byte[] user,
+ boolean systemCall)</code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>org.apache.hadoop.conf.Configuration</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html#getConf()">getConf</a></strong>()</code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>>></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html#getExistingLabelsWithAuths()">getExistingLabelsWithAuths</a></strong>()</code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html#getLabelOrdinals(org.apache.hadoop.hbase.security.visibility.expression.ExpressionNode, java.util.List, java.util.Set, boolean)">getLabelOrdinals</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/security/visibility/expression/ExpressionNode.html" title="interface in org.apache.hadoop.hbase.security.visibility.expression">ExpressionNode</a> node,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> labelOrdinals,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> auths,
+ boolean checkAuths)</code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html#getSystemAndSuperUsers()">getSystemAndSuperUsers</a></strong>()</code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityExpEvaluator.html" title="interface in org.apache.hadoop.hbase.security.visibility">VisibilityExpEvaluator</a></code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html#getVisibilityExpEvaluator(org.apache.hadoop.hbase.security.visibility.Authorizations)">getVisibilityExpEvaluator</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/security/visibility/Authorizations.html" title="class in org.apache.hadoop.hbase.security.visibility">Authorizations</a> authorizations)</code>
+<div class="block">Creates VisibilityExpEvaluator corresponding to given Authorizations.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html#havingSystemAuth(byte[])">havingSystemAuth</a></strong>(byte[] user)</code>
+<div class="block">System checks for user auth during admin operations.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html#init(org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment)">init</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a> e)</code>
+<div class="block">System calls this after opening of regions.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html#isReadFromSuperUser()">isReadFromSuperUser</a></strong>()</code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html#matchVisibility(java.util.List, java.lang.Byte, java.util.List, java.lang.Byte)">matchVisibility</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/Tag.html" title="class in org.apache.hadoop.hbase">Tag</a>> putVisTags,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Byte.html?is-external=true" title="class or interface in java.lang">Byte</a> putTagsFormat,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/Tag.html" title="class in org.apache.hadoop.hbase">Tag</a>> deleteVisTags,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Byte.html?is-external=true" title="class or interface in java.lang">Byte</a> deleteTagsFormat)</code>
+<div class="block">System uses this for deciding whether a Cell can be deleted by matching visibility expression
+ in Delete mutation and the cell in consideration.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html#setAuths(byte[], java.util.List)">setAuths</a></strong>(byte[] user,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><byte[]> authLabels)</code>
+<div class="block">Sets given labels globally authorized for the user.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html#setConf(org.apache.hadoop.conf.Configuration)">setConf</a></strong>(org.apache.hadoop.conf.Configuration conf)</code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html#updateZk(boolean)">updateZk</a></strong>(boolean labelAddition)</code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html#writeLabelOrdinalsToStream(java.util.List, java.io.DataOutputStream)">writeLabelOrdinalsToStream</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> labelOrdinals,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/io/DataOutputStream.html?is-external=true" title="class or interface in java.io">DataOutputStream</a> dos)</code>
+<div class="block">This will sort the passed labels in ascending oder and then will write one after the other
+ to the passed stream.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
+<!-- -->
+</a>
+<h3>Methods inherited from class java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang
/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!-- -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="DefaultVisibilityLabelServiceImpl()">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>DefaultVisibilityLabelServiceImpl</h4>
+<pre>public DefaultVisibilityLabelServiceImpl()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="setConf(org.apache.hadoop.conf.Configuration)">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setConf</h4>
+<pre>public void setConf(org.apache.hadoop.conf.Configuration conf)</pre>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code>setConf</code> in interface <code>org.apache.hadoop.conf.Configurable</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getConf()">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getConf</h4>
+<pre>public org.apache.hadoop.conf.Configuration getConf()</pre>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code>getConf</code> in interface <code>org.apache.hadoop.conf.Configurable</code></dd>
+</dl>
+</li>
+</ul>
+<a name="init(org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment)">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>init</h4>
+<pre>public void init(<a href="../../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionCoprocessorEnvironment</a> e)
+ throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><strong>Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html#init(org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment)">VisibilityLabelService</a></code></strong></div>
+<div class="block">System calls this after opening of regions. Gives a chance for the VisibilityLabelService to so
+ any initialization logic.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html#init(org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment)">init</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html" title="interface in org.apache.hadoop.hbase.security.visibility">VisibilityLabelService</a></code></dd>
+<dt><span class="strong">Parameters:</span></dt><dd><code>e</code> - the region coprocessor env</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/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="getExistingLabelsWithAuths()">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getExistingLabelsWithAuths</h4>
+<pre>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>>> getExistingLabelsWithAuths()
+ throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/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="extractLabelsAndAuths(java.util.List)">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>extractLabelsAndAuths</h4>
+<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>>,<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href
="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>>>> extractLabelsAndAuths(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>>> labelDetails)</pre>
+</li>
+</ul>
+<a name="addSystemLabel(org.apache.hadoop.hbase.regionserver.HRegion, java.util.Map, java.util.Map)">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addSystemLabel</h4>
+<pre>protected void addSystemLabel(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a> region,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> labels,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>>> userAuths)
+ throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/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="getSystemAndSuperUsers()">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSystemAndSuperUsers</h4>
+<pre>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>> getSystemAndSuperUsers()
+ throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/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="addLabels(java.util.List)">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addLabels</h4>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[] addLabels(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><byte[]> labels)
+ throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><strong>Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html#addLabels(java.util.List)">VisibilityLabelService</a></code></strong></div>
+<div class="block">Adds the set of labels into the system.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html#addLabels(java.util.List)">addLabels</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html" title="interface in org.apache.hadoop.hbase.security.visibility">VisibilityLabelService</a></code></dd>
+<dt><span class="strong">Parameters:</span></dt><dd><code>labels</code> - Labels to add to the system.</dd>
+<dt><span class="strong">Returns:</span></dt><dd>OperationStatus for each of the label addition</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/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="setAuths(byte[], java.util.List)">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setAuths</h4>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[] setAuths(byte[] user,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><byte[]> authLabels)
+ throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><strong>Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html#setAuths(byte[], java.util.List)">VisibilityLabelService</a></code></strong></div>
+<div class="block">Sets given labels globally authorized for the user.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html#setAuths(byte[], java.util.List)">setAuths</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html" title="interface in org.apache.hadoop.hbase.security.visibility">VisibilityLabelService</a></code></dd>
+<dt><span class="strong">Parameters:</span></dt><dd><code>user</code> - The authorizing user</dd><dd><code>authLabels</code> - Labels which are getting authorized for the user</dd>
+<dt><span class="strong">Returns:</span></dt><dd>OperationStatus for each of the label auth addition</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/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="clearAuths(byte[], java.util.List)">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clearAuths</h4>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[] clearAuths(byte[] user,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><byte[]> authLabels)
+ throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><strong>Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html#clearAuths(byte[], java.util.List)">VisibilityLabelService</a></code></strong></div>
+<div class="block">Removes given labels from user's globally authorized list of labels.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html#clearAuths(byte[], java.util.List)">clearAuths</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html" title="interface in org.apache.hadoop.hbase.security.visibility">VisibilityLabelService</a></code></dd>
+<dt><span class="strong">Parameters:</span></dt><dd><code>user</code> - The user whose authorization to be removed</dd><dd><code>authLabels</code> - Labels which are getting removed from authorization set</dd>
+<dt><span class="strong">Returns:</span></dt><dd>OperationStatus for each of the label auth removal</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/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="getAuths(byte[], boolean)">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAuths</h4>
+<pre>public <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>> getAuths(byte[] user,
+ boolean systemCall)
+ throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html#getAuths(byte[], boolean)">getAuths</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html" title="interface in org.apache.hadoop.hbase.security.visibility">VisibilityLabelService</a></code></dd>
+<dt><span class="strong">Parameters:</span></dt><dd><code>user</code> - Name of the user whose authorization to be retrieved</dd><dd><code>systemCall</code> - Whether a system or user originated call.</dd>
+<dt><span class="strong">Returns:</span></dt><dd>Visibility labels authorized for the given user.</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/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="createVisibilityExpTags(java.lang.String, boolean, boolean)">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createVisibilityExpTags</h4>
+<pre>public <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/Tag.html" title="class in org.apache.hadoop.hbase">Tag</a>> createVisibilityExpTags(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> visExpression,
+ boolean withSerializationFormat,
+ boolean checkAuths)
+ throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><strong>Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html#createVisibilityExpTags(java.lang.String, boolean, boolean)">VisibilityLabelService</a></code></strong></div>
+<div class="block">Creates tags corresponding to given visibility expression.
+ <br>
+ Note: This will be concurrently called from multiple threads and implementation should
+ take care of thread safety.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html#createVisibilityExpTags(java.lang.String, boolean, boolean)">createVisibilityExpTags</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html" title="interface in org.apache.hadoop.hbase.security.visibility">VisibilityLabelService</a></code></dd>
+<dt><span class="strong">Parameters:</span></dt><dd><code>visExpression</code> - The Expression for which corresponding Tags to be created.</dd><dd><code>withSerializationFormat</code> - specifies whether a tag, denoting the serialization version
+ of the tags, to be added in the list. When this is true make sure to add the
+ serialization format Tag also. The format tag value should be byte type.</dd><dd><code>checkAuths</code> - denotes whether to check individual labels in visExpression against user's
+ global auth label.</dd>
+<dt><span class="strong">Returns:</span></dt><dd>The list of tags corresponds to the visibility expression. These tags will be stored
+ along with the Cells.</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/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="getLabelOrdinals(org.apache.hadoop.hbase.security.visibility.expression.ExpressionNode, java.util.List, java.util.Set, boolean)">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLabelOrdinals</h4>
+<pre>protected void getLabelOrdinals(<a href="../../../../../../org/apache/hadoop/hbase/security/visibility/expression/ExpressionNode.html" title="interface in org.apache.hadoop.hbase.security.visibility.expression">ExpressionNode</a> node,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> labelOrdinals,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> auths,
+ boolean checkAuths)
+ throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
+ <a href="../../../../../../org/apache/hadoop/hbase/security/visibility/InvalidLabelException.html" title="class in org.apache.hadoop.hbase.security.visibility">InvalidLabelException</a></pre>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/InvalidLabelException.html" title="class in org.apache.hadoop.hbase.security.visibility">InvalidLabelException</a></code></dd></dl>
+</li>
+</ul>
+<a name="writeLabelOrdinalsToStream(java.util.List, java.io.DataOutputStream)">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>writeLabelOrdinalsToStream</h4>
+<pre>protected void writeLabelOrdinalsToStream(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> labelOrdinals,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/io/DataOutputStream.html?is-external=true" title="class or interface in java.io">DataOutputStream</a> dos)
+ throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">This will sort the passed labels in ascending oder and then will write one after the other
+ to the passed stream.</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>labelOrdinals</code> - Unsorted label ordinals</dd><dd><code>dos</code> - Stream where to write the labels.</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - When IOE during writes to Stream.</dd></dl>
+</li>
+</ul>
+<a name="updateZk(boolean)">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateZk</h4>
+<pre>protected void updateZk(boolean labelAddition)
+ throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/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="getVisibilityExpEvaluator(org.apache.hadoop.hbase.security.visibility.Authorizations)">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getVisibilityExpEvaluator</h4>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityExpEvaluator.html" title="interface in org.apache.hadoop.hbase.security.visibility">VisibilityExpEvaluator</a> getVisibilityExpEvaluator(<a href="../../../../../../org/apache/hadoop/hbase/security/visibility/Authorizations.html" title="class in org.apache.hadoop.hbase.security.visibility">Authorizations</a> authorizations)
+ throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><strong>Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html#getVisibilityExpEvaluator(org.apache.hadoop.hbase.security.visibility.Authorizations)">VisibilityLabelService</a></code></strong></div>
+<div class="block">Creates VisibilityExpEvaluator corresponding to given Authorizations. <br>
+ Note: This will be concurrently called from multiple threads and implementation should take
+ care of thread safety.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html#getVisibilityExpEvaluator(org.apache.hadoop.hbase.security.visibility.Authorizations)">getVisibilityExpEvaluator</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html" title="interface in org.apache.hadoop.hbase.security.visibility">VisibilityLabelService</a></code></dd>
+<dt><span class="strong">Parameters:</span></dt><dd><code>authorizations</code> - Authorizations for the read request</dd>
+<dt><span class="strong">Returns:</span></dt><dd>The VisibilityExpEvaluator corresponding to the given set of authorization labels.</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/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="isReadFromSuperUser()">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isReadFromSuperUser</h4>
+<pre>protected boolean isReadFromSuperUser()
+ throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/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="havingSystemAuth(byte[])">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>havingSystemAuth</h4>
+<pre>public boolean havingSystemAuth(byte[] user)
+ throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><strong>Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html#havingSystemAuth(byte[])">VisibilityLabelService</a></code></strong></div>
+<div class="block">System checks for user auth during admin operations. (ie. Label add, set/clear auth). The
+ operation is allowed only for users having system auth. Also during read, if the requesting
+ user has system auth, he can view all the data irrespective of its labels.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html#havingSystemAuth(byte[])">havingSystemAuth</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html" title="interface in org.apache.hadoop.hbase.security.visibility">VisibilityLabelService</a></code></dd>
+<dt><span class="strong">Parameters:</span></dt><dd><code>user</code> - User for whom system auth check to be done.</dd>
+<dt><span class="strong">Returns:</span></dt><dd>true if the given user is having system/super auth</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/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="matchVisibility(java.util.List, java.lang.Byte, java.util.List, java.lang.Byte)">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>matchVisibility</h4>
+<pre>public boolean matchVisibility(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/Tag.html" title="class in org.apache.hadoop.hbase">Tag</a>> putVisTags,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Byte.html?is-external=true" title="class or interface in java.lang">Byte</a> putTagsFormat,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/hadoop/hbase/Tag.html" title="class in org.apache.hadoop.hbase">Tag</a>> deleteVisTags,
+ <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Byte.html?is-external=true" title="class or interface in java.lang">Byte</a> deleteTagsFormat)
+ throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><strong>Description copied from interface: <code><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html#matchVisibility(java.util.List, java.lang.Byte, java.util.List, java.lang.Byte)">VisibilityLabelService</a></code></strong></div>
+<div class="block">System uses this for deciding whether a Cell can be deleted by matching visibility expression
+ in Delete mutation and the cell in consideration. Also system passes the serialization format
+ of visibility tags in Put and Delete.<br>
+ Note: This will be concurrently called from multiple threads and implementation should take
+ care of thread safety.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html#matchVisibility(java.util.List, java.lang.Byte, java.util.List, java.lang.Byte)">matchVisibility</a></code> in interface <code><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html" title="interface in org.apache.hadoop.hbase.security.visibility">VisibilityLabelService</a></code></dd>
+<dt><span class="strong">Parameters:</span></dt><dd><code>putVisTags</code> - The visibility tags present in the Put mutation</dd><dd><code>putTagsFormat</code> - The serialization format for the Put visibility tags. A <code>null</code> value for
+ this format means the tags are written with unsorted label ordinals</dd><dd><code>deleteVisTags</code> - - The visibility tags in the delete mutation (the specified Cell Visibility)</dd><dd><code>deleteTagsFormat</code> - The serialization format for the Delete visibility tags. A <code>null</code> value for
+ this format means the tags are written with unsorted label ordinals</dd>
+<dt><span class="strong">Returns:</span></dt><dd>true if matching tags are found</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityConstants.html#SORTED_ORDINAL_SERIALIZATION_FORMAT"><code>VisibilityConstants.SORTED_ORDINAL_SERIALIZATION_FORMAT</code></a></dd></dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!-- -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DefaultVisibilityLabelServiceImpl.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/DefaultScanLabelGenerator.html" title="class in org.apache.hadoop.hbase.security.visibility"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/EnforcingScanLabelGenerator.html" title="class in org.apache.hadoop.hbase.security.visibility"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html" target="_top">Frames</a></li>
+<li><a href="DefaultVisibilityLabelServiceImpl.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary: </li>
+<li>Nested | </li>
+<li>Field | </li>
+<li><a href="#constructor_summary">Constr</a> | </li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail: </li>
+<li>Field | </li>
+<li><a href="#constructor_detail">Constr</a> | </li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright © 2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
Added: hbase/hbase.apache.org/trunk/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityExpEvaluator.html
URL: http://svn.apache.org/viewvc/hbase/hbase.apache.org/trunk/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityExpEvaluator.html?rev=1620690&view=auto
==============================================================================
--- hbase/hbase.apache.org/trunk/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityExpEvaluator.html (added)
+++ hbase/hbase.apache.org/trunk/devapidocs/org/apache/hadoop/hbase/security/visibility/VisibilityExpEvaluator.html Tue Aug 26 18:49:07 2014
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
+<title>VisibilityExpEvaluator (HBase 2.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="VisibilityExpEvaluator (HBase 2.0.0-SNAPSHOT API)";
+ }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!-- -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/VisibilityExpEvaluator.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityController.html" title="class in org.apache.hadoop.hbase.security.visibility"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelsCache.html" title="class in org.apache.hadoop.hbase.security.visibility"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/security/visibility/VisibilityExpEvaluator.html" target="_top">Frames</a></li>
+<li><a href="VisibilityExpEvaluator.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_top");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary: </li>
+<li>Nested | </li>
+<li>Field | </li>
+<li>Constr | </li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail: </li>
+<li>Field | </li>
+<li>Constr | </li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_top">
+<!-- -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.security.visibility</div>
+<h2 title="Interface VisibilityExpEvaluator" class="title">Interface VisibilityExpEvaluator</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>@InterfaceAudience.Public
+@InterfaceStability.Evolving
+public interface <span class="strong">VisibilityExpEvaluator</span></pre>
+<div class="block">During the read (ie. get/Scan) the VisibilityController calls this interface for each of the
+ Cell. Depending on the evaluate() result, a cell can be either included or filtered out from the
+ read results.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_summary">
+<!-- -->
+</a>
+<h3>Method Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityExpEvaluator.html#evaluate(org.apache.hadoop.hbase.Cell)">evaluate</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> cell)</code>
+<div class="block">Evaluates whether the passed cell passes Scan/Get Authorization.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!-- -->
+</a>
+<h3>Method Detail</h3>
+<a name="evaluate(org.apache.hadoop.hbase.Cell)">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>evaluate</h4>
+<pre>boolean evaluate(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a> cell)
+ throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Evaluates whether the passed cell passes Scan/Get Authorization.</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cell</code> - Cell under evaluation</dd>
+<dt><span class="strong">Returns:</span></dt><dd>true if this cell can be included in the Result. Else false.</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!-- -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!-- -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/VisibilityExpEvaluator.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityController.html" title="class in org.apache.hadoop.hbase.security.visibility"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityLabelsCache.html" title="class in org.apache.hadoop.hbase.security.visibility"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/security/visibility/VisibilityExpEvaluator.html" target="_top">Frames</a></li>
+<li><a href="VisibilityExpEvaluator.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+ allClassesLink = document.getElementById("allclasses_navbar_bottom");
+ if(window==top) {
+ allClassesLink.style.display = "block";
+ }
+ else {
+ allClassesLink.style.display = "none";
+ }
+ //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary: </li>
+<li>Nested | </li>
+<li>Field | </li>
+<li>Constr | </li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail: </li>
+<li>Field | </li>
+<li>Constr | </li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_bottom">
+<!-- -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright © 2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>