<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>ContentFile</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<script type="text/javascript" src="../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="ContentFile";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":18,"i4":6,"i5":18,"i6":6,"i7":18,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":18,"i19":6,"i20":6,"i21":6,"i22":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</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" id="allclasses_navbar_top">
<li><a href="../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.iceberg</a></div>
<h2 title="Interface ContentFile" class="title">Interface ContentFile&lt;F&gt;</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>F</code> - the concrete Java class of a ContentFile instance.</dd>
</dl>
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><code><a href="DataFile.html" title="interface in org.apache.iceberg">DataFile</a></code>, <code><a href="DeleteFile.html" title="interface in org.apache.iceberg">DeleteFile</a></code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="spark/SparkDataFile.html" title="class in org.apache.iceberg.spark">SparkDataFile</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">ContentFile&lt;F&gt;</span></pre>
<div class="block">Superinterface of <a href="DataFile.html" title="interface in org.apache.iceberg"><code>DataFile</code></a> and <a href="DeleteFile.html" title="interface in org.apache.iceberg"><code>DeleteFile</code></a> that exposes common methods.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.Integer,&#8203;java.lang.Long&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#columnSizes()">columnSizes</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns if collected, map from column ID to the size of the column in bytes, null otherwise.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="FileContent.html" title="enum in org.apache.iceberg">FileContent</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#content()">content</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns type of content stored in the file; one of DATA, POSITION_DELETES, or EQUALITY_DELETES.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="ContentFile.html" title="type parameter in ContentFile">F</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#copy()">copy</a></span>()</code></th>
<td class="colLast">
<div class="block">Copies this file.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>default <a href="ContentFile.html" title="type parameter in ContentFile">F</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#copy(boolean)">copy</a></span>&#8203;(boolean&nbsp;withStats)</code></th>
<td class="colLast">
<div class="block">Copies this file (potentially without file stats).</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="ContentFile.html" title="type parameter in ContentFile">F</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#copyWithoutStats()">copyWithoutStats</a></span>()</code></th>
<td class="colLast">
<div class="block">Copies this file without file stats.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>default java.lang.Long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dataSequenceNumber()">dataSequenceNumber</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the data sequence number of the file.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>java.util.List&lt;java.lang.Integer&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equalityFieldIds()">equalityFieldIds</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the set of field IDs used for equality comparison, in equality delete files.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>default java.lang.Long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#fileSequenceNumber()">fileSequenceNumber</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the file sequence number.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#fileSizeInBytes()">fileSizeInBytes</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the file size in bytes.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="FileFormat.html" title="enum in org.apache.iceberg">FileFormat</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#format()">format</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns format of the file.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>java.nio.ByteBuffer</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#keyMetadata()">keyMetadata</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns metadata about how this file is encrypted, or null if the file is stored in plain text.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.Integer,&#8203;java.nio.ByteBuffer&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#lowerBounds()">lowerBounds</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns if collected, map from column ID to value lower bounds, null otherwise.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.Integer,&#8203;java.lang.Long&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nanValueCounts()">nanValueCounts</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns if collected, map from column ID to its NaN value count, null otherwise.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.Integer,&#8203;java.lang.Long&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#nullValueCounts()">nullValueCounts</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns if collected, map from column ID to its null value count, null otherwise.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="StructLike.html" title="interface in org.apache.iceberg">StructLike</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#partition()">partition</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns partition for this file as a <a href="StructLike.html" title="interface in org.apache.iceberg"><code>StructLike</code></a>.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>java.lang.CharSequence</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#path()">path</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns fully qualified path to the file, suitable for constructing a Hadoop Path.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>java.lang.Long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pos()">pos</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the ordinal position of the file in a manifest, or null if it was not read from a
 manifest.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#recordCount()">recordCount</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the number of top-level records in the file.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>default java.lang.Integer</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sortOrderId()">sortOrderId</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the sort order id of this file, which describes how the file is ordered.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#specId()">specId</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns id of the partition spec used for partition metadata.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>java.util.List&lt;java.lang.Long&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#splitOffsets()">splitOffsets</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns list of recommended split locations, if applicable, null otherwise.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.Integer,&#8203;java.nio.ByteBuffer&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#upperBounds()">upperBounds</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns if collected, map from column ID to value upper bounds, null otherwise.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>java.util.Map&lt;java.lang.Integer,&#8203;java.lang.Long&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#valueCounts()">valueCounts</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns if collected, map from column ID to the count of its values (including null and NaN
 values), null otherwise.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="pos()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pos</h4>
<pre class="methodSignature">java.lang.Long&nbsp;pos()</pre>
<div class="block">Returns the ordinal position of the file in a manifest, or null if it was not read from a
 manifest.</div>
</li>
</ul>
<a id="specId()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>specId</h4>
<pre class="methodSignature">int&nbsp;specId()</pre>
<div class="block">Returns id of the partition spec used for partition metadata.</div>
</li>
</ul>
<a id="content()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>content</h4>
<pre class="methodSignature"><a href="FileContent.html" title="enum in org.apache.iceberg">FileContent</a>&nbsp;content()</pre>
<div class="block">Returns type of content stored in the file; one of DATA, POSITION_DELETES, or EQUALITY_DELETES.</div>
</li>
</ul>
<a id="path()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>path</h4>
<pre class="methodSignature">java.lang.CharSequence&nbsp;path()</pre>
<div class="block">Returns fully qualified path to the file, suitable for constructing a Hadoop Path.</div>
</li>
</ul>
<a id="format()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>format</h4>
<pre class="methodSignature"><a href="FileFormat.html" title="enum in org.apache.iceberg">FileFormat</a>&nbsp;format()</pre>
<div class="block">Returns format of the file.</div>
</li>
</ul>
<a id="partition()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>partition</h4>
<pre class="methodSignature"><a href="StructLike.html" title="interface in org.apache.iceberg">StructLike</a>&nbsp;partition()</pre>
<div class="block">Returns partition for this file as a <a href="StructLike.html" title="interface in org.apache.iceberg"><code>StructLike</code></a>.</div>
</li>
</ul>
<a id="recordCount()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>recordCount</h4>
<pre class="methodSignature">long&nbsp;recordCount()</pre>
<div class="block">Returns the number of top-level records in the file.</div>
</li>
</ul>
<a id="fileSizeInBytes()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fileSizeInBytes</h4>
<pre class="methodSignature">long&nbsp;fileSizeInBytes()</pre>
<div class="block">Returns the file size in bytes.</div>
</li>
</ul>
<a id="columnSizes()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>columnSizes</h4>
<pre class="methodSignature">java.util.Map&lt;java.lang.Integer,&#8203;java.lang.Long&gt;&nbsp;columnSizes()</pre>
<div class="block">Returns if collected, map from column ID to the size of the column in bytes, null otherwise.</div>
</li>
</ul>
<a id="valueCounts()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>valueCounts</h4>
<pre class="methodSignature">java.util.Map&lt;java.lang.Integer,&#8203;java.lang.Long&gt;&nbsp;valueCounts()</pre>
<div class="block">Returns if collected, map from column ID to the count of its values (including null and NaN
 values), null otherwise.</div>
</li>
</ul>
<a id="nullValueCounts()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nullValueCounts</h4>
<pre class="methodSignature">java.util.Map&lt;java.lang.Integer,&#8203;java.lang.Long&gt;&nbsp;nullValueCounts()</pre>
<div class="block">Returns if collected, map from column ID to its null value count, null otherwise.</div>
</li>
</ul>
<a id="nanValueCounts()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nanValueCounts</h4>
<pre class="methodSignature">java.util.Map&lt;java.lang.Integer,&#8203;java.lang.Long&gt;&nbsp;nanValueCounts()</pre>
<div class="block">Returns if collected, map from column ID to its NaN value count, null otherwise.</div>
</li>
</ul>
<a id="lowerBounds()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lowerBounds</h4>
<pre class="methodSignature">java.util.Map&lt;java.lang.Integer,&#8203;java.nio.ByteBuffer&gt;&nbsp;lowerBounds()</pre>
<div class="block">Returns if collected, map from column ID to value lower bounds, null otherwise.</div>
</li>
</ul>
<a id="upperBounds()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>upperBounds</h4>
<pre class="methodSignature">java.util.Map&lt;java.lang.Integer,&#8203;java.nio.ByteBuffer&gt;&nbsp;upperBounds()</pre>
<div class="block">Returns if collected, map from column ID to value upper bounds, null otherwise.</div>
</li>
</ul>
<a id="keyMetadata()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>keyMetadata</h4>
<pre class="methodSignature">java.nio.ByteBuffer&nbsp;keyMetadata()</pre>
<div class="block">Returns metadata about how this file is encrypted, or null if the file is stored in plain text.</div>
</li>
</ul>
<a id="splitOffsets()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>splitOffsets</h4>
<pre class="methodSignature">java.util.List&lt;java.lang.Long&gt;&nbsp;splitOffsets()</pre>
<div class="block">Returns list of recommended split locations, if applicable, null otherwise.

 <p>When available, this information is used for planning scan tasks whose boundaries are
 determined by these offsets. The returned list must be sorted in ascending order.</div>
</li>
</ul>
<a id="equalityFieldIds()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equalityFieldIds</h4>
<pre class="methodSignature">java.util.List&lt;java.lang.Integer&gt;&nbsp;equalityFieldIds()</pre>
<div class="block">Returns the set of field IDs used for equality comparison, in equality delete files.

 <p>An equality delete file may contain additional data fields that are not used by equality
 comparison. The subset of columns in a delete file to be used in equality comparison are
 tracked by ID. Extra columns can be used to reconstruct changes and metrics from extra columns
 are used during job planning.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>IDs of the fields used in equality comparison with the records in this delete file</dd>
</dl>
</li>
</ul>
<a id="sortOrderId()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sortOrderId</h4>
<pre class="methodSignature">default&nbsp;java.lang.Integer&nbsp;sortOrderId()</pre>
<div class="block">Returns the sort order id of this file, which describes how the file is ordered. This
 information will be useful for merging data and equality delete files more efficiently when
 they share the same sort order id.</div>
</li>
</ul>
<a id="dataSequenceNumber()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dataSequenceNumber</h4>
<pre class="methodSignature">default&nbsp;java.lang.Long&nbsp;dataSequenceNumber()</pre>
<div class="block">Returns the data sequence number of the file.

 <p>This method represents the sequence number to which the file should apply. Note the data
 sequence number may differ from the sequence number of the snapshot in which the underlying
 file was added (a.k.a the file sequence number). New snapshots can add files that belong to
 older sequence numbers (e.g. compaction). The data sequence number also does not change when
 the file is marked as deleted.

 <p>This method can return null if the data sequence number is unknown. This may happen while
 reading a v2 manifest that did not persist the data sequence number for manifest entries with
 status DELETED (older Iceberg versions).</div>
</li>
</ul>
<a id="fileSequenceNumber()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fileSequenceNumber</h4>
<pre class="methodSignature">default&nbsp;java.lang.Long&nbsp;fileSequenceNumber()</pre>
<div class="block">Returns the file sequence number.

 <p>The file sequence number represents the sequence number of the snapshot in which the
 underlying file was added. The file sequence number is always assigned at commit and cannot be
 provided explicitly, unlike the data sequence number. The file sequence number does not change
 upon assigning. In case of rewrite (like compaction), file sequence number can be higher than
 the data sequence number.

 <p>This method can return null if the file sequence number is unknown. This may happen while
 reading a v2 manifest that did not persist the file sequence number for manifest entries with
 status EXISTING or DELETED (older Iceberg versions).</div>
</li>
</ul>
<a id="copy()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copy</h4>
<pre class="methodSignature"><a href="ContentFile.html" title="type parameter in ContentFile">F</a>&nbsp;copy()</pre>
<div class="block">Copies this file. Manifest readers can reuse file instances; use this method to copy data when
 collecting files from tasks.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a copy of this data file</dd>
</dl>
</li>
</ul>
<a id="copyWithoutStats()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyWithoutStats</h4>
<pre class="methodSignature"><a href="ContentFile.html" title="type parameter in ContentFile">F</a>&nbsp;copyWithoutStats()</pre>
<div class="block">Copies this file without file stats. Manifest readers can reuse file instances; use this method
 to copy data without stats when collecting files.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a copy of this data file, without lower bounds, upper bounds, value counts, null value
     counts, or nan value counts</dd>
</dl>
</li>
</ul>
<a id="copy(boolean)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>copy</h4>
<pre class="methodSignature">default&nbsp;<a href="ContentFile.html" title="type parameter in ContentFile">F</a>&nbsp;copy&#8203;(boolean&nbsp;withStats)</pre>
<div class="block">Copies this file (potentially without file stats). Manifest readers can reuse file instances;
 use this method to copy data when collecting files from tasks.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>withStats</code> - Will copy this file without file stats if set to <code>false</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a copy of this data file. If <code>withStats</code> is set to <code>false</code> the
     file will not contain lower bounds, upper bounds, value counts, null value counts, or nan
     value counts</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</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" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses.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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>
