blob: 069e74daebaba3ad99077160bca2195d31520e35 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.1) on Tue Jun 15 20:48:08 PDT 2021 -->
<title>IFileRangeSpecification (Eclipse Communication Framework (ECF) 3.14.22 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta name="dc.created" content="2021-06-15">
<meta name="description" content="declaration: package: org.eclipse.ecf.filetransfer, interface: IFileRangeSpecification">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-declaration">
<script type="text/javascript">var data = {"i0":6,"i1":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= 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="class-use/IFileRangeSpecification.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-files/index-1.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<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>
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.eclipse.ecf.filetransfer</a></div>
<h1 title="Interface IFileRangeSpecification" class="title">Interface IFileRangeSpecification</h1>
</div>
<div class="contentContainer">
<section class="description">
<hr>
<pre>public interface <span class="typeNameLabel">IFileRangeSpecification</span></pre>
<div class="block">An object that describes a file range specification. Object implementations of this
class can be</div>
</section>
<section class="summary">
<ul class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<li class="blockList">
<section class="methodSummary"><a id="method.summary">
<!-- -->
</a>
<h2>Method Summary</h2>
<div class="memberSummary">
<div role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="memberSummary_tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="activeTableTab">All Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t2" class="tableTab" onclick="show(2);">Instance Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t3" class="tableTab" onclick="show(4);">Abstract Methods</button></div>
<div id="memberSummary_tabpanel" role="tabpanel">
<table aria-labelledby="t0">
<thead>
<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>
</thead>
<tbody>
<tr class="altColor" id="i0">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getEndPosition()">getEndPosition</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the end position of transfer range.</div>
</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getStartPosition()">getStartPosition</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the start position to start from.</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<li class="blockList">
<section class="methodDetails"><a id="method.detail">
<!-- -->
</a>
<h2>Method Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="getStartPosition()">getStartPosition</a></h3>
<div class="memberSignature"><span class="returnType">long</span>&nbsp;<span class="memberName">getStartPosition</span>()</div>
<div class="block">Get the start position to start from. The position is in bytes, and byte 0 is the first byte
of the file, N-1 is the last position in the file, where N is the length of the file in bytes.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the position in the file (in bytes) to start from. If the returned start position is
less than 0, or equal to or greater than N, then it is an invalid range specification and
when used in <a href="IRetrieveFileTransferContainerAdapter.html#sendRetrieveRequest(org.eclipse.ecf.filetransfer.identity.IFileID,org.eclipse.ecf.filetransfer.IFileRangeSpecification,org.eclipse.ecf.filetransfer.IFileTransferListener,java.util.Map)"><code>IRetrieveFileTransferContainerAdapter.sendRetrieveRequest(org.eclipse.ecf.filetransfer.identity.IFileID, IFileRangeSpecification, IFileTransferListener, java.util.Map)</code></a> will result in a
<a href="InvalidFileRangeSpecificationException.html" title="class in org.eclipse.ecf.filetransfer"><code>InvalidFileRangeSpecificationException</code></a>.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="IRetrieveFileTransferContainerAdapter.html#sendRetrieveRequest(org.eclipse.ecf.filetransfer.identity.IFileID,org.eclipse.ecf.filetransfer.IFileRangeSpecification,org.eclipse.ecf.filetransfer.IFileTransferListener,java.util.Map)"><code>IRetrieveFileTransferContainerAdapter.sendRetrieveRequest(org.eclipse.ecf.filetransfer.identity.IFileID, IFileRangeSpecification, IFileTransferListener, java.util.Map)</code></a>,
<a href="#getEndPosition()"><code>getEndPosition()</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getEndPosition()">getEndPosition</a></h3>
<div class="memberSignature"><span class="returnType">long</span>&nbsp;<span class="memberName">getEndPosition</span>()</div>
<div class="block">Get the end position of transfer range. The position is in bytes, and byte 0 is the first byte
of the file, N-1 is the last position in the file, where N is the length of the file in bytes.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the position in the file (in bytes) to indicate the end of range to retrieve. If equal to -1,
then this means that no end position is specified, and the download will continue to the end of file. If gt or eq 0,
but less than the <a href="#getStartPosition()"><code>getStartPosition()</code></a> then this range specification is invalid. If greater than or
equal to N (where N is length of the file in bytes), then the remaining part of the given file will
be downloaded. If both <a href="#getStartPosition()"><code>getStartPosition()</code></a> and <a href="#getEndPosition()"><code>getEndPosition()</code></a> are valid, then
the number of bytes downloaded will be <code>(endPosition - startPosition) + 1</code>. So, for example:
<pre>
For a fileLength = 20
startPosition = 10
endPosition = 19
bytesDownloaded = 10
startPosition = 0
endPosition = -1
bytesDownloaded = 20
startPosition = 5
endPosition = 3
invalid range
startPosition = 5
endPosition = 6
bytesDownloaded = 2
startPosition = 5
endPosition = -1
bytesDownloaded = 15
</pre></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="IRetrieveFileTransferContainerAdapter.html#sendRetrieveRequest(org.eclipse.ecf.filetransfer.identity.IFileID,org.eclipse.ecf.filetransfer.IFileRangeSpecification,org.eclipse.ecf.filetransfer.IFileTransferListener,java.util.Map)"><code>IRetrieveFileTransferContainerAdapter.sendRetrieveRequest(org.eclipse.ecf.filetransfer.identity.IFileID, IFileRangeSpecification, IFileTransferListener, java.util.Map)</code></a>,
<a href="#getStartPosition()"><code>getStartPosition()</code></a></dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
</div>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<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="class-use/IFileRangeSpecification.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-files/index-1.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<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>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2004&#x2013;2020 <a href="https://www.eclipse.org/">Eclipse Foundation</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>