<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_292) on Tue Jun 15 06:06:54 GMT 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>INodeReference.WithName (Apache Hadoop HDFS 3.3.1 API)</title>
<meta name="date" content="2021-06-15">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="INodeReference.WithName (Apache Hadoop HDFS 3.3.1 API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/INodeReference.WithName.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/hdfs/server/namenode/INodeReference.WithCount.html" title="class in org.apache.hadoop.hdfs.server.namenode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodesInPath.html" title="class in org.apache.hadoop.hdfs.server.namenode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hdfs/server/namenode/INodeReference.WithName.html" target="_top">Frames</a></li>
<li><a href="INodeReference.WithName.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.classes.inherited.from.class.org.apache.hadoop.hdfs.server.namenode.INodeReference">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.org.apache.hadoop.hdfs.server.namenode.INode">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.hadoop.hdfs.server.namenode</div>
<h2 title="Class INodeReference.WithName" class="title">Class INodeReference.WithName</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.hdfs.server.namenode.INode</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html" title="class in org.apache.hadoop.hdfs.server.namenode">org.apache.hadoop.hdfs.server.namenode.INodeReference</a></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.hdfs.server.namenode.INodeReference.WithName</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><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;byte[]&gt;, org.apache.hadoop.hdfs.server.namenode.INodeAttributes, <a href="../../../../../../org/apache/hadoop/hdfs/util/Diff.Element.html" title="interface in org.apache.hadoop.hdfs.util">Diff.Element</a>&lt;byte[]&gt;</dd>
</dl>
<dl>
<dt>Enclosing class:</dt>
<dd><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html" title="class in org.apache.hadoop.hdfs.server.namenode">INodeReference</a></dd>
</dl>
<hr>
<br>
<pre>public static class <span class="typeNameLabel">INodeReference.WithName</span>
extends <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html" title="class in org.apache.hadoop.hdfs.server.namenode">INodeReference</a></pre>
<div class="block">A reference with a fixed name.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.hadoop.hdfs.server.namenode.INodeReference">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.hadoop.hdfs.server.namenode.<a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html" title="class in org.apache.hadoop.hdfs.server.namenode">INodeReference</a></h3>
<code><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.DstReference.html" title="class in org.apache.hadoop.hdfs.server.namenode">INodeReference.DstReference</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.WithCount.html" title="class in org.apache.hadoop.hdfs.server.namenode">INodeReference.WithCount</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.WithName.html" title="class in org.apache.hadoop.hdfs.server.namenode">INodeReference.WithName</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.hadoop.hdfs.server.namenode.INode">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.hadoop.hdfs.server.namenode.INode</h3>
<code><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INode.BlocksMapUpdateInfo.html" title="class in org.apache.hadoop.hdfs.server.namenode">INode.BlocksMapUpdateInfo</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INode.Feature.html" title="interface in org.apache.hadoop.hdfs.server.namenode">INode.Feature</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INode.QuotaDelta.html" title="class in org.apache.hadoop.hdfs.server.namenode">INode.QuotaDelta</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INode.ReclaimContext.html" title="class in org.apache.hadoop.hdfs.server.namenode">INode.ReclaimContext</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.hadoop.hdfs.server.namenode.INodeAttributes">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.hadoop.hdfs.server.namenode.INodeAttributes</h3>
<code><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeAttributes.SnapshotCopy.html" title="class in org.apache.hadoop.hdfs.server.namenode">INodeAttributes.SnapshotCopy</a></code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hdfs.server.namenode.INode">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.hadoop.hdfs.server.namenode.INode</h3>
<code>LOG</code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.WithName.html#WithName-org.apache.hadoop.hdfs.server.namenode.INodeDirectory-org.apache.hadoop.hdfs.server.namenode.INodeReference.WithCount-byte:A-int-">WithName</a></span>(<a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeDirectory.html" title="class in org.apache.hadoop.hdfs.server.namenode">INodeDirectory</a>&nbsp;parent,
        <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.WithCount.html" title="class in org.apache.hadoop.hdfs.server.namenode">INodeReference.WithCount</a>&nbsp;referred,
        byte[]&nbsp;name,
        int&nbsp;lastSnapshotId)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.WithName.html#cleanSubtree-org.apache.hadoop.hdfs.server.namenode.INode.ReclaimContext-int-int-">cleanSubtree</a></span>(<a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INode.ReclaimContext.html" title="class in org.apache.hadoop.hdfs.server.namenode">INode.ReclaimContext</a>&nbsp;reclaimContext,
            int&nbsp;snapshot,
            int&nbsp;prior)</code>
<div class="block">Clean the subtree under this inode and collect the blocks from the descents
 for further block deletion/update.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>org.apache.hadoop.hdfs.server.namenode.ContentSummaryComputationContext</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.WithName.html#computeContentSummary-int-org.apache.hadoop.hdfs.server.namenode.ContentSummaryComputationContext-">computeContentSummary</a></span>(int&nbsp;snapshotId,
                     org.apache.hadoop.hdfs.server.namenode.ContentSummaryComputationContext&nbsp;summary)</code>
<div class="block">Count subtree content summary with a <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/ContentCounts.html" title="class in org.apache.hadoop.hdfs.server.namenode"><code>ContentCounts</code></a>.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/QuotaCounts.html" title="class in org.apache.hadoop.hdfs.server.namenode">QuotaCounts</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.WithName.html#computeQuotaUsage-org.apache.hadoop.hdfs.server.blockmanagement.BlockStoragePolicySuite-byte-boolean-int-">computeQuotaUsage</a></span>(<a href="../../../../../../org/apache/hadoop/hdfs/server/blockmanagement/BlockStoragePolicySuite.html" title="class in org.apache.hadoop.hdfs.server.blockmanagement">BlockStoragePolicySuite</a>&nbsp;bsps,
                 byte&nbsp;blockStoragePolicyId,
                 boolean&nbsp;useCache,
                 int&nbsp;lastSnapshotId)</code>
<div class="block">Count subtree <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/Quota.html#NAMESPACE"><code>Quota.NAMESPACE</code></a> and <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/Quota.html#STORAGESPACE"><code>Quota.STORAGESPACE</code></a> usages.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.WithName.html#destroyAndCollectBlocks-org.apache.hadoop.hdfs.server.namenode.INode.ReclaimContext-">destroyAndCollectBlocks</a></span>(<a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INode.ReclaimContext.html" title="class in org.apache.hadoop.hdfs.server.namenode">INode.ReclaimContext</a>&nbsp;reclaimContext)</code>
<div class="block">Destroy self and clear everything! If the INode is a file, this method
 collects its blocks for further block deletion.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.WithName.html#getLastSnapshotId--">getLastSnapshotId</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.WithName.html#getLocalNameBytes--">getLocalNameBytes</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.WithName.html#setLocalName-byte:A-">setLocalName</a></span>(byte[]&nbsp;name)</code>
<div class="block">Set local file name</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hdfs.server.namenode.INodeReference">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.hadoop.hdfs.server.namenode.<a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html" title="class in org.apache.hadoop.hdfs.server.namenode">INodeReference</a></h3>
<code><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#asDirectory--">asDirectory</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#asFile--">asFile</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#asReference--">asReference</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#asSymlink--">asSymlink</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#clear--">clear</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#dumpTreeRecursively-java.io.PrintWriter-java.lang.StringBuilder-int-">dumpTreeRecursively</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#getAccessTime-int-">getAccessTime</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#getDstSnapshotId--">getDstSnapshotId</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#getFsPermission-int-">getFsPermission</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#getFsPermissionShort--">getFsPermissionShort</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#getGroupName-int-">getGroupName</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#getId--">getId</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#getLocalStoragePolicyID--">getLocalStoragePolicyID</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#getModificationTime-int-">getModificationTime</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#getPermissionLong--">getPermissionLong</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#getPermissionStatus-int-">getPermissionStatus</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#getQuotaCounts--">getQuotaCounts</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#getReferredINode--">getReferredINode</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#getSnapshotINode-int-">getSnapshotINode</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#getStoragePolicyID--">getStoragePolicyID</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#getUserName-int-">getUserName</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#isDirectory--">isDirectory</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#isFile--">isFile</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#isReference--">isReference</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#isSymlink--">isSymlink</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#setAccessTime-long-">setAccessTime</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#setModificationTime-long-">setModificationTime</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#tryRemoveReference-org.apache.hadoop.hdfs.server.namenode.INode-">tryRemoveReference</a>, <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#updateModificationTime-long-int-">updateModificationTime</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hdfs.server.namenode.INode">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.hadoop.hdfs.server.namenode.INode</h3>
<code>addSpaceConsumed, compareTo, computeAndConvertContentSummary, computeContentSummary, computeQuotaUsage, computeQuotaUsage, dumpTreeRecursively, dumpTreeRecursively, equals, getAccessTime, getAclFeature, getFsPermission, getFullPathName, getGroupName, getKey, getLocalName, getModificationTime, getObjectString, getParent, getParentReference, getParentString, getPathComponents, getPathComponents, getPathNames, getStoragePolicyIDForQuota, getUserName, getXAttrFeature, hashCode, isAncestorDirectory, isDeleted, isInCurrentState, isInLatestSnapshot, isLastReference, isQuotaSet, setAccessTime, setModificationTime, setParent, setParentReference, shouldRecordInSrcSnapshot, toDetailString, toString</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#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.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="WithName-org.apache.hadoop.hdfs.server.namenode.INodeDirectory-org.apache.hadoop.hdfs.server.namenode.INodeReference.WithCount-byte:A-int-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>WithName</h4>
<pre>public&nbsp;WithName(<a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeDirectory.html" title="class in org.apache.hadoop.hdfs.server.namenode">INodeDirectory</a>&nbsp;parent,
                <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.WithCount.html" title="class in org.apache.hadoop.hdfs.server.namenode">INodeReference.WithCount</a>&nbsp;referred,
                byte[]&nbsp;name,
                int&nbsp;lastSnapshotId)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getLocalNameBytes--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalNameBytes</h4>
<pre>public final&nbsp;byte[]&nbsp;getLocalNameBytes()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getLocalNameBytes</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.hdfs.server.namenode.INodeAttributes</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#getLocalNameBytes--">getLocalNameBytes</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html" title="class in org.apache.hadoop.hdfs.server.namenode">INodeReference</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>null if the local name is null;
         otherwise, return the local name byte array.</dd>
</dl>
</li>
</ul>
<a name="setLocalName-byte:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLocalName</h4>
<pre>public final&nbsp;void&nbsp;setLocalName(byte[]&nbsp;name)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hdfs.server.namenode.INode</code></span></div>
<div class="block">Set local file name</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#setLocalName-byte:A-">setLocalName</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html" title="class in org.apache.hadoop.hdfs.server.namenode">INodeReference</a></code></dd>
</dl>
</li>
</ul>
<a name="getLastSnapshotId--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLastSnapshotId</h4>
<pre>public&nbsp;int&nbsp;getLastSnapshotId()</pre>
</li>
</ul>
<a name="computeContentSummary-int-org.apache.hadoop.hdfs.server.namenode.ContentSummaryComputationContext-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>computeContentSummary</h4>
<pre>public final&nbsp;org.apache.hadoop.hdfs.server.namenode.ContentSummaryComputationContext&nbsp;computeContentSummary(int&nbsp;snapshotId,
                                                                                                           org.apache.hadoop.hdfs.server.namenode.ContentSummaryComputationContext&nbsp;summary)
                                                                                                    throws org.apache.hadoop.security.AccessControlException</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hdfs.server.namenode.INode</code></span></div>
<div class="block">Count subtree content summary with a <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/ContentCounts.html" title="class in org.apache.hadoop.hdfs.server.namenode"><code>ContentCounts</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#computeContentSummary-int-org.apache.hadoop.hdfs.server.namenode.ContentSummaryComputationContext-">computeContentSummary</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html" title="class in org.apache.hadoop.hdfs.server.namenode">INodeReference</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>snapshotId</code> - Specify the time range for the calculation. If this
                   parameter equals to <code>Snapshot.CURRENT_STATE_ID</code>,
                   the result covers both the current states and all the
                   snapshots. Otherwise the result only covers all the
                   files/directories contained in the specific snapshot.</dd>
<dd><code>summary</code> - the context object holding counts for the subtree.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The same objects as summary.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.apache.hadoop.security.AccessControlException</code></dd>
</dl>
</li>
</ul>
<a name="computeQuotaUsage-org.apache.hadoop.hdfs.server.blockmanagement.BlockStoragePolicySuite-byte-boolean-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>computeQuotaUsage</h4>
<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/QuotaCounts.html" title="class in org.apache.hadoop.hdfs.server.namenode">QuotaCounts</a>&nbsp;computeQuotaUsage(<a href="../../../../../../org/apache/hadoop/hdfs/server/blockmanagement/BlockStoragePolicySuite.html" title="class in org.apache.hadoop.hdfs.server.blockmanagement">BlockStoragePolicySuite</a>&nbsp;bsps,
                                           byte&nbsp;blockStoragePolicyId,
                                           boolean&nbsp;useCache,
                                           int&nbsp;lastSnapshotId)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hdfs.server.namenode.INode</code></span></div>
<div class="block">Count subtree <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/Quota.html#NAMESPACE"><code>Quota.NAMESPACE</code></a> and <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/Quota.html#STORAGESPACE"><code>Quota.STORAGESPACE</code></a> usages.
 
 With the existence of <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html" title="class in org.apache.hadoop.hdfs.server.namenode"><code>INodeReference</code></a>, the same inode and its
 subtree may be referred by multiple <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.WithName.html" title="class in org.apache.hadoop.hdfs.server.namenode"><code>INodeReference.WithName</code></a> nodes and a
 <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.DstReference.html" title="class in org.apache.hadoop.hdfs.server.namenode"><code>INodeReference.DstReference</code></a> node. To avoid circles while quota usage computation,
 we have the following rules:
 
 <pre>
 1. For a <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.DstReference.html" title="class in org.apache.hadoop.hdfs.server.namenode"><code>INodeReference.DstReference</code></a> node, since the node must be in the current
 tree (or has been deleted as the end point of a series of rename 
 operations), we compute the quota usage of the referred node (and its 
 subtree) in the regular manner, i.e., including every inode in the current
 tree and in snapshot copies, as well as the size of diff list.
 
 2. For a <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.WithName.html" title="class in org.apache.hadoop.hdfs.server.namenode"><code>INodeReference.WithName</code></a> node, since the node must be in a snapshot, we 
 only count the quota usage for those nodes that still existed at the 
 creation time of the snapshot associated with the <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.WithName.html" title="class in org.apache.hadoop.hdfs.server.namenode"><code>INodeReference.WithName</code></a> node.
 We do not count in the size of the diff list.
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#computeQuotaUsage-org.apache.hadoop.hdfs.server.blockmanagement.BlockStoragePolicySuite-byte-boolean-int-">computeQuotaUsage</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html" title="class in org.apache.hadoop.hdfs.server.namenode">INodeReference</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>bsps</code> - Block storage policy suite to calculate intended storage type usage</dd>
<dd><code>blockStoragePolicyId</code> - block storage policy id of the current INode</dd>
<dd><code>useCache</code> - Whether to use cached quota usage. Note that 
                 <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.WithName.html" title="class in org.apache.hadoop.hdfs.server.namenode"><code>INodeReference.WithName</code></a> node never uses cache for its subtree.</dd>
<dd><code>lastSnapshotId</code> - <code>Snapshot.CURRENT_STATE_ID</code> indicates the 
                       computation is in the current tree. Otherwise the id
                       indicates the computation range for a 
                       <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.WithName.html" title="class in org.apache.hadoop.hdfs.server.namenode"><code>INodeReference.WithName</code></a> node.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The subtree quota counts.</dd>
</dl>
</li>
</ul>
<a name="cleanSubtree-org.apache.hadoop.hdfs.server.namenode.INode.ReclaimContext-int-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cleanSubtree</h4>
<pre>public&nbsp;void&nbsp;cleanSubtree(<a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INode.ReclaimContext.html" title="class in org.apache.hadoop.hdfs.server.namenode">INode.ReclaimContext</a>&nbsp;reclaimContext,
                         int&nbsp;snapshot,
                         int&nbsp;prior)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hdfs.server.namenode.INode</code></span></div>
<div class="block">Clean the subtree under this inode and collect the blocks from the descents
 for further block deletion/update. The current inode can either resides in
 the current tree or be stored as a snapshot copy.
 
 <pre>
 In general, we have the following rules. 
 1. When deleting a file/directory in the current tree, we have different 
 actions according to the type of the node to delete. 
 
 1.1 The current inode (this) is an <code>INodeFile</code>. 
 1.1.1 If <code> prior</code> is null, there is no snapshot taken on ancestors 
 before. Thus we simply destroy (i.e., to delete completely, no need to save 
 snapshot copy) the current INode and collect its blocks for further 
 cleansing.
 1.1.2 Else do nothing since the current INode will be stored as a snapshot
 copy.
 
 1.2 The current inode is an <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeDirectory.html" title="class in org.apache.hadoop.hdfs.server.namenode"><code>INodeDirectory</code></a>.
 1.2.1 If <code> prior</code> is null, there is no snapshot taken on ancestors 
 before. Similarly, we destroy the whole subtree and collect blocks.
 1.2.2 Else do nothing with the current INode. Recursively clean its 
 children.
 
 1.3 The current inode is a file with snapshot.
 Call recordModification(..) to capture the current states.
 Mark the INode as deleted.
 
 1.4 The current inode is an <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeDirectory.html" title="class in org.apache.hadoop.hdfs.server.namenode"><code>INodeDirectory</code></a> with snapshot feature.
 Call recordModification(..) to capture the current states. 
 Destroy files/directories created after the latest snapshot 
 (i.e., the inodes stored in the created list of the latest snapshot).
 Recursively clean remaining children. 

 2. When deleting a snapshot.
 2.1 To clean <code>INodeFile</code>: do nothing.
 2.2 To clean <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeDirectory.html" title="class in org.apache.hadoop.hdfs.server.namenode"><code>INodeDirectory</code></a>: recursively clean its children.
 2.3 To clean INodeFile with snapshot: delete the corresponding snapshot in
 its diff list.
 2.4 To clean <a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeDirectory.html" title="class in org.apache.hadoop.hdfs.server.namenode"><code>INodeDirectory</code></a> with snapshot: delete the corresponding 
 snapshot in its diff list. Recursively clean its children.
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#cleanSubtree-org.apache.hadoop.hdfs.server.namenode.INode.ReclaimContext-int-int-">cleanSubtree</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html" title="class in org.apache.hadoop.hdfs.server.namenode">INodeReference</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>reclaimContext</code> - Record blocks and inodes that need to be reclaimed.</dd>
<dd><code>snapshot</code> - The id of the snapshot to delete.
        <code>Snapshot.CURRENT_STATE_ID</code> means to delete the current
        file/directory.</dd>
<dd><code>prior</code> - The id of the latest snapshot before the to-be-deleted snapshot.
        When deleting a current inode, this parameter captures the latest
        snapshot.</dd>
</dl>
</li>
</ul>
<a name="destroyAndCollectBlocks-org.apache.hadoop.hdfs.server.namenode.INode.ReclaimContext-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>destroyAndCollectBlocks</h4>
<pre>public&nbsp;void&nbsp;destroyAndCollectBlocks(<a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INode.ReclaimContext.html" title="class in org.apache.hadoop.hdfs.server.namenode">INode.ReclaimContext</a>&nbsp;reclaimContext)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hdfs.server.namenode.INode</code></span></div>
<div class="block">Destroy self and clear everything! If the INode is a file, this method
 collects its blocks for further block deletion. If the INode is a
 directory, the method goes down the subtree and collects blocks from the
 descents, and clears its parent/children references as well. The method
 also clears the diff list if the INode contains snapshot diff list.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html#destroyAndCollectBlocks-org.apache.hadoop.hdfs.server.namenode.INode.ReclaimContext-">destroyAndCollectBlocks</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodeReference.html" title="class in org.apache.hadoop.hdfs.server.namenode">INodeReference</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>reclaimContext</code> - Record blocks and inodes that need to be reclaimed.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/INodeReference.WithName.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/hdfs/server/namenode/INodeReference.WithCount.html" title="class in org.apache.hadoop.hdfs.server.namenode"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/hdfs/server/namenode/INodesInPath.html" title="class in org.apache.hadoop.hdfs.server.namenode"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hdfs/server/namenode/INodeReference.WithName.html" target="_top">Frames</a></li>
<li><a href="INodeReference.WithName.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.classes.inherited.from.class.org.apache.hadoop.hdfs.server.namenode.INodeReference">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.org.apache.hadoop.hdfs.server.namenode.INode">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2021 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
