<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.1) on Tue Jun 15 21:55:05 PDT 2021 -->
<title>IFileTransferProtocolToFactoryMapper (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.provider.filetransfer, interface: IFileTransferProtocolToFactoryMapper">
<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,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":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/IFileTransferProtocolToFactoryMapper.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.provider.filetransfer</a></div>
<h1 title="Interface IFileTransferProtocolToFactoryMapper" class="title">Interface IFileTransferProtocolToFactoryMapper</h1>
</div>
<div class="contentContainer">
<section class="description">
<hr>
<pre>public interface <span class="typeNameLabel">IFileTransferProtocolToFactoryMapper</span></pre>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.0.1</dd>
</dl>
</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><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getBrowseFileTransferFactoryId(java.lang.String)">getBrowseFileTransferFactoryId</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;protocol)</code></th>
<td class="colLast">
<div class="block">Get the factory id of the active factory for the given protocol.</div>
</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getBrowseFileTransferPriority(java.lang.String)">getBrowseFileTransferPriority</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;protocol)</code></th>
<td class="colLast">
<div class="block">Get the priority of the active factory for the given protocol.</div>
</td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRetrieveFileTransferFactoryId(java.lang.String)">getRetrieveFileTransferFactoryId</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;protocol)</code></th>
<td class="colLast">
<div class="block">Get the factory id of the active factory for the given protocol.</div>
</td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRetrieveFileTransferPriority(java.lang.String)">getRetrieveFileTransferPriority</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;protocol)</code></th>
<td class="colLast">
<div class="block">Get the priority of the active factory for the given protocol.</div>
</td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSendFileTransferFactoryId(java.lang.String)">getSendFileTransferFactoryId</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;protocol)</code></th>
<td class="colLast">
<div class="block">Get the factory id of the active factory for the given protocol.</div>
</td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSendFileTransferPriority(java.lang.String)">getSendFileTransferPriority</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;protocol)</code></th>
<td class="colLast">
<div class="block">Get the priority of the active factory for the given protocol.</div>
</td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reinitialize()">reinitialize</a></span>()</code></th>
<td class="colLast">
<div class="block">Reinitialized protocol to factory mapping defined via extension registry/extension points.</div>
</td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeBrowseFileTransferFactory(java.lang.String)">removeBrowseFileTransferFactory</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;id)</code></th>
<td class="colLast">
<div class="block">Remove the factory with the given id.</div>
</td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeRetrieveFileTransferFactory(java.lang.String)">removeRetrieveFileTransferFactory</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;id)</code></th>
<td class="colLast">
<div class="block">Remove the factory with the given id.</div>
</td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeSendFileTransferFactory(java.lang.String)">removeSendFileTransferFactory</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;id)</code></th>
<td class="colLast">
<div class="block">Remove the factory with the given id.</div>
</td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setBrowseFileTransferFactory(java.lang.String,java.lang.String,org.eclipse.ecf.filetransfer.service.IRemoteFileSystemBrowserFactory,int)">setBrowseFileTransferFactory</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;protocol,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;id,
<a href="../../filetransfer/service/IRemoteFileSystemBrowserFactory.html" title="interface in org.eclipse.ecf.filetransfer.service">IRemoteFileSystemBrowserFactory</a>&nbsp;factory,
int&nbsp;priority)</code></th>
<td class="colLast">
<div class="block">
 For the given protocol, set the given factory to be used for retrieve file transfer.</div>
</td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setBrowseFileTransferFactory(java.lang.String,java.lang.String,org.eclipse.ecf.filetransfer.service.IRemoteFileSystemBrowserFactory,int,boolean)">setBrowseFileTransferFactory</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;protocol,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;id,
<a href="../../filetransfer/service/IRemoteFileSystemBrowserFactory.html" title="interface in org.eclipse.ecf.filetransfer.service">IRemoteFileSystemBrowserFactory</a>&nbsp;factory,
int&nbsp;priority,
boolean&nbsp;uri)</code></th>
<td class="colLast">
<div class="block">
 For the given protocol, set the given factory to be used for retrieve file transfer.</div>
</td>
</tr>
<tr class="altColor" id="i12">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRetrieveFileTransferFactory(java.lang.String,java.lang.String,org.eclipse.ecf.filetransfer.service.IRetrieveFileTransferFactory,int)">setRetrieveFileTransferFactory</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;protocol,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;id,
<a href="../../filetransfer/service/IRetrieveFileTransferFactory.html" title="interface in org.eclipse.ecf.filetransfer.service">IRetrieveFileTransferFactory</a>&nbsp;factory,
int&nbsp;priority)</code></th>
<td class="colLast">
<div class="block">
 For the given protocol, set the given factory to be used for retrieve file transfer.</div>
</td>
</tr>
<tr class="rowColor" id="i13">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRetrieveFileTransferFactory(java.lang.String,java.lang.String,org.eclipse.ecf.filetransfer.service.IRetrieveFileTransferFactory,int,boolean)">setRetrieveFileTransferFactory</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;protocol,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;id,
<a href="../../filetransfer/service/IRetrieveFileTransferFactory.html" title="interface in org.eclipse.ecf.filetransfer.service">IRetrieveFileTransferFactory</a>&nbsp;factory,
int&nbsp;priority,
boolean&nbsp;uri)</code></th>
<td class="colLast">
<div class="block">
 For the given protocol, set the given factory to be used for retrieve file transfer.</div>
</td>
</tr>
<tr class="altColor" id="i14">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSendFileTransferFactory(java.lang.String,java.lang.String,org.eclipse.ecf.filetransfer.service.ISendFileTransferFactory,int)">setSendFileTransferFactory</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;protocol,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;id,
<a href="../../filetransfer/service/ISendFileTransferFactory.html" title="interface in org.eclipse.ecf.filetransfer.service">ISendFileTransferFactory</a>&nbsp;factory,
int&nbsp;priority)</code></th>
<td class="colLast">
<div class="block">
 For the given protocol, set the given factory to be used for retrieve file transfer.</div>
</td>
</tr>
<tr class="rowColor" id="i15">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSendFileTransferFactory(java.lang.String,java.lang.String,org.eclipse.ecf.filetransfer.service.ISendFileTransferFactory,int,boolean)">setSendFileTransferFactory</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;protocol,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;id,
<a href="../../filetransfer/service/ISendFileTransferFactory.html" title="interface in org.eclipse.ecf.filetransfer.service">ISendFileTransferFactory</a>&nbsp;factory,
int&nbsp;priority,
boolean&nbsp;uri)</code></th>
<td class="colLast">
<div class="block">
 For the given protocol, set the given factory to be used for retrieve file transfer.</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="setRetrieveFileTransferFactory(java.lang.String,java.lang.String,org.eclipse.ecf.filetransfer.service.IRetrieveFileTransferFactory,int)">setRetrieveFileTransferFactory</a></h3>
<div class="memberSignature"><span class="returnType">boolean</span>&nbsp;<span class="memberName">setRetrieveFileTransferFactory</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;protocol,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;id,
<a href="../../filetransfer/service/IRetrieveFileTransferFactory.html" title="interface in org.eclipse.ecf.filetransfer.service">IRetrieveFileTransferFactory</a>&nbsp;factory,
int&nbsp;priority)</span></div>
<div class="block"><p>
 For the given protocol, set the given factory to be used for retrieve file transfer.  If successful, subsequent retrieve
 requests for the given protocol will use the given factory.  </p>
 <p>For this method to be successful the protocol has to be
 non-null, the id has to be non-null and unique (should probably be set to the bundle symbolic name of the bundle calling this
 method), the factory must be non-null, and the priority must be higher (a *smaller number*) than any existing factory for the
 given protocol.  The default priority is 100, and the highest priority is 0.
 </p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>protocol</code> - the protocol (e.g. http/https) to map the factory to.</dd>
<dd><code>id</code> - a unique id for the factory (should be bundle symbolic name of bundle calling method)</dd>
<dd><code>factory</code> - the factory to associate with the given protocol</dd>
<dd><code>priority</code> - priority (highest = 0) to use for this factory relative to any existing factories.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if the given factory was set for this protocol, <code>false</code> if not</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setRetrieveFileTransferFactory(java.lang.String,java.lang.String,org.eclipse.ecf.filetransfer.service.IRetrieveFileTransferFactory,int,boolean)">setRetrieveFileTransferFactory</a></h3>
<div class="memberSignature"><span class="returnType">boolean</span>&nbsp;<span class="memberName">setRetrieveFileTransferFactory</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;protocol,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;id,
<a href="../../filetransfer/service/IRetrieveFileTransferFactory.html" title="interface in org.eclipse.ecf.filetransfer.service">IRetrieveFileTransferFactory</a>&nbsp;factory,
int&nbsp;priority,
boolean&nbsp;uri)</span></div>
<div class="block"><p>
 For the given protocol, set the given factory to be used for retrieve file transfer.  If successful, subsequent retrieve
 requests for the given protocol will use the given factory.  </p>
 <p>For this method to be successful the protocol has to be
 non-null, the id has to be non-null and unique (should probably be set to the bundle symbolic name of the bundle calling this
 method), the factory must be non-null, and the priority must be higher (a *smaller number*) than any existing factory for the
 given protocol.  The default priority is 100, and the highest priority is 0.
 </p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>protocol</code> - the protocol (e.g. http/https) to map the factory to.</dd>
<dd><code>id</code> - a unique id for the factory (should be bundle symbolic name of bundle calling method)</dd>
<dd><code>factory</code> - the factory to associate with the given protocol</dd>
<dd><code>priority</code> - priority (highest = 0) to use for this factory relative to any existing factories.</dd>
<dd><code>uri</code> - if <code>true</code> the factory is added as a URI rather than a URL, meaning that <b>no</b> URLStreamHandler is
 registered for the given protocol.  This is in contrast to the <a href="#setRetrieveFileTransferFactory(java.lang.String,java.lang.String,org.eclipse.ecf.filetransfer.service.IRetrieveFileTransferFactory,int)"><code>setRetrieveFileTransferFactory(String, String, IRetrieveFileTransferFactory, int)</code></a>,
 which automatically registers an URLStreamHandler for the given protocol.  If false, URLs will be used and an URLStreamHandler will be registered for the 
 given protocol factory.  NOTE:  If this flag is true, providers that attempt to access IFileID.getURL() may be unable to do so, since the
 URI may not be successfully parsed as a URL.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if the given factory was set for this protocol, <code>false</code> if not</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getRetrieveFileTransferFactoryId(java.lang.String)">getRetrieveFileTransferFactoryId</a></h3>
<div class="memberSignature"><span class="returnType"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></span>&nbsp;<span class="memberName">getRetrieveFileTransferFactoryId</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;protocol)</span></div>
<div class="block">Get the factory id of the active factory for the given protocol.  If the given protocol does not have an
 active factory, returns <code>null</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>protocol</code> - the protocol to get the id for (e.g. http/https)</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>id of the factory associated with the given protocol</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getRetrieveFileTransferPriority(java.lang.String)">getRetrieveFileTransferPriority</a></h3>
<div class="memberSignature"><span class="returnType">int</span>&nbsp;<span class="memberName">getRetrieveFileTransferPriority</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;protocol)</span></div>
<div class="block">Get the priority of the active factory for the given protocol.  If the given protocol does not have an active factory, returns -1.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>protocol</code> - the protocol to get the priority for (e.g. http/https)</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>int priority for the given protocol</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="removeRetrieveFileTransferFactory(java.lang.String)">removeRetrieveFileTransferFactory</a></h3>
<div class="memberSignature"><span class="returnType">boolean</span>&nbsp;<span class="memberName">removeRetrieveFileTransferFactory</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;id)</span></div>
<div class="block">Remove the factory with the given id.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - the id of the factory to remove.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if a factory was removed.  <code>false</code> otherwise.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setBrowseFileTransferFactory(java.lang.String,java.lang.String,org.eclipse.ecf.filetransfer.service.IRemoteFileSystemBrowserFactory,int)">setBrowseFileTransferFactory</a></h3>
<div class="memberSignature"><span class="returnType">boolean</span>&nbsp;<span class="memberName">setBrowseFileTransferFactory</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;protocol,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;id,
<a href="../../filetransfer/service/IRemoteFileSystemBrowserFactory.html" title="interface in org.eclipse.ecf.filetransfer.service">IRemoteFileSystemBrowserFactory</a>&nbsp;factory,
int&nbsp;priority)</span></div>
<div class="block"><p>
 For the given protocol, set the given factory to be used for retrieve file transfer.  If successful, subsequent retrieve
 requests for the given protocol will use the given factory.  </p>
 <p>For this method to be successful the protocol has to be
 non-null, the id has to be non-null and unique (should probably be set to the bundle symbolic name of the bundle calling this
 method), the factory must be non-null, and the priority must be higher (a *smaller number*) than any existing factory for the
 given protocol.  The default priority is 100, and the highest priority is 0.
 </p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>protocol</code> - the protocol (e.g. http/https) to map the factory to.</dd>
<dd><code>id</code> - a unique id for the factory (should be bundle symbolic name of bundle calling method)</dd>
<dd><code>factory</code> - the factory to associate with the given protocol</dd>
<dd><code>priority</code> - priority (highest = 0) to use for this factory relative to any existing factories.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if the given factory was set for this protocol, <code>false</code> if not</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setBrowseFileTransferFactory(java.lang.String,java.lang.String,org.eclipse.ecf.filetransfer.service.IRemoteFileSystemBrowserFactory,int,boolean)">setBrowseFileTransferFactory</a></h3>
<div class="memberSignature"><span class="returnType">boolean</span>&nbsp;<span class="memberName">setBrowseFileTransferFactory</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;protocol,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;id,
<a href="../../filetransfer/service/IRemoteFileSystemBrowserFactory.html" title="interface in org.eclipse.ecf.filetransfer.service">IRemoteFileSystemBrowserFactory</a>&nbsp;factory,
int&nbsp;priority,
boolean&nbsp;uri)</span></div>
<div class="block"><p>
 For the given protocol, set the given factory to be used for retrieve file transfer.  If successful, subsequent retrieve
 requests for the given protocol will use the given factory.  </p>
 <p>For this method to be successful the protocol has to be
 non-null, the id has to be non-null and unique (should probably be set to the bundle symbolic name of the bundle calling this
 method), the factory must be non-null, and the priority must be higher (a *smaller number*) than any existing factory for the
 given protocol.  The default priority is 100, and the highest priority is 0.
 </p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>protocol</code> - the protocol (e.g. http/https) to map the factory to.</dd>
<dd><code>id</code> - a unique id for the factory (should be bundle symbolic name of bundle calling method)</dd>
<dd><code>factory</code> - the factory to associate with the given protocol</dd>
<dd><code>priority</code> - priority (highest = 0) to use for this factory relative to any existing factories.</dd>
<dd><code>uri</code> - if <code>true</code> the factory is added as a URI rather than a URL, meaning that <b>no</b> URLStreamHandler is
 registered for the given protocol.  This is in contrast to the <a href="#setRetrieveFileTransferFactory(java.lang.String,java.lang.String,org.eclipse.ecf.filetransfer.service.IRetrieveFileTransferFactory,int)"><code>setRetrieveFileTransferFactory(String, String, IRetrieveFileTransferFactory, int)</code></a>,
 which automatically registers an URLStreamHandler for the given protocol.  If false, URLs will be used and an URLStreamHandler will be registered for the 
 given protocol factory.  NOTE:  If this flag is true, providers that attempt to access IFileID.getURL() may be unable to do so, since the
 URI may not be successfully parsed as a URL.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if the given factory was set for this protocol, <code>false</code> if not</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getBrowseFileTransferFactoryId(java.lang.String)">getBrowseFileTransferFactoryId</a></h3>
<div class="memberSignature"><span class="returnType"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></span>&nbsp;<span class="memberName">getBrowseFileTransferFactoryId</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;protocol)</span></div>
<div class="block">Get the factory id of the active factory for the given protocol.  If the given protocol does not have an
 active factory, returns <code>null</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>protocol</code> - the protocol to get the id for (e.g. http/https)</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>id of the factory associated with the given protocol</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getBrowseFileTransferPriority(java.lang.String)">getBrowseFileTransferPriority</a></h3>
<div class="memberSignature"><span class="returnType">int</span>&nbsp;<span class="memberName">getBrowseFileTransferPriority</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;protocol)</span></div>
<div class="block">Get the priority of the active factory for the given protocol.  If the given protocol does not have an active factory, returns -1.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>protocol</code> - the protocol to get the priority for (e.g. http/https)</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>int priority for the given protocol</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="removeBrowseFileTransferFactory(java.lang.String)">removeBrowseFileTransferFactory</a></h3>
<div class="memberSignature"><span class="returnType">boolean</span>&nbsp;<span class="memberName">removeBrowseFileTransferFactory</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;id)</span></div>
<div class="block">Remove the factory with the given id.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - the id of the factory to remove.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if a factory was removed.  <code>false</code> otherwise.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setSendFileTransferFactory(java.lang.String,java.lang.String,org.eclipse.ecf.filetransfer.service.ISendFileTransferFactory,int)">setSendFileTransferFactory</a></h3>
<div class="memberSignature"><span class="returnType">boolean</span>&nbsp;<span class="memberName">setSendFileTransferFactory</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;protocol,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;id,
<a href="../../filetransfer/service/ISendFileTransferFactory.html" title="interface in org.eclipse.ecf.filetransfer.service">ISendFileTransferFactory</a>&nbsp;factory,
int&nbsp;priority)</span></div>
<div class="block"><p>
 For the given protocol, set the given factory to be used for retrieve file transfer.  If successful, subsequent retrieve
 requests for the given protocol will use the given factory.  </p>
 <p>For this method to be successful the protocol has to be
 non-null, the id has to be non-null and unique (should probably be set to the bundle symbolic name of the bundle calling this
 method), the factory must be non-null, and the priority must be higher (a *smaller number*) than any existing factory for the
 given protocol.  The default priority is 100, and the highest priority is 0.
 </p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>protocol</code> - the protocol (e.g. http/https) to map the factory to.</dd>
<dd><code>id</code> - a unique id for the factory (should be bundle symbolic name of bundle calling method)</dd>
<dd><code>factory</code> - the factory to associate with the given protocol</dd>
<dd><code>priority</code> - priority (highest = 0) to use for this factory relative to any existing factories.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if the given factory was set for this protocol, <code>false</code> if not</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setSendFileTransferFactory(java.lang.String,java.lang.String,org.eclipse.ecf.filetransfer.service.ISendFileTransferFactory,int,boolean)">setSendFileTransferFactory</a></h3>
<div class="memberSignature"><span class="returnType">boolean</span>&nbsp;<span class="memberName">setSendFileTransferFactory</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;protocol,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;id,
<a href="../../filetransfer/service/ISendFileTransferFactory.html" title="interface in org.eclipse.ecf.filetransfer.service">ISendFileTransferFactory</a>&nbsp;factory,
int&nbsp;priority,
boolean&nbsp;uri)</span></div>
<div class="block"><p>
 For the given protocol, set the given factory to be used for retrieve file transfer.  If successful, subsequent retrieve
 requests for the given protocol will use the given factory.  </p>
 <p>For this method to be successful the protocol has to be
 non-null, the id has to be non-null and unique (should probably be set to the bundle symbolic name of the bundle calling this
 method), the factory must be non-null, and the priority must be higher (a *smaller number*) than any existing factory for the
 given protocol.  The default priority is 100, and the highest priority is 0.
 </p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>protocol</code> - the protocol (e.g. http/https) to map the factory to.</dd>
<dd><code>id</code> - a unique id for the factory (should be bundle symbolic name of bundle calling method)</dd>
<dd><code>factory</code> - the factory to associate with the given protocol</dd>
<dd><code>priority</code> - priority (highest = 0) to use for this factory relative to any existing factories.</dd>
<dd><code>uri</code> - if <code>true</code> the factory is added as a URI rather than a URL, meaning that <b>no</b> URLStreamHandler is
 registered for the given protocol.  This is in contrast to the <a href="#setRetrieveFileTransferFactory(java.lang.String,java.lang.String,org.eclipse.ecf.filetransfer.service.IRetrieveFileTransferFactory,int)"><code>setRetrieveFileTransferFactory(String, String, IRetrieveFileTransferFactory, int)</code></a>,
 which automatically registers an URLStreamHandler for the given protocol.  If false, URLs will be used and an URLStreamHandler will be registered for the 
 given protocol factory.  NOTE:  If this flag is true, providers that attempt to access IFileID.getURL() may be unable to do so, since the
 URI may not be successfully parsed as a URL.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if the given factory was set for this protocol, <code>false</code> if not</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getSendFileTransferFactoryId(java.lang.String)">getSendFileTransferFactoryId</a></h3>
<div class="memberSignature"><span class="returnType"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></span>&nbsp;<span class="memberName">getSendFileTransferFactoryId</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;protocol)</span></div>
<div class="block">Get the factory id of the active factory for the given protocol.  If the given protocol does not have an
 active factory, returns <code>null</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>protocol</code> - the protocol to get the id for (e.g. http/https)</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>id of the factory associated with the given protocol</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getSendFileTransferPriority(java.lang.String)">getSendFileTransferPriority</a></h3>
<div class="memberSignature"><span class="returnType">int</span>&nbsp;<span class="memberName">getSendFileTransferPriority</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;protocol)</span></div>
<div class="block">Get the priority of the active factory for the given protocol.  If the given protocol does not have an active factory, returns -1.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>protocol</code> - the protocol to get the priority for (e.g. http/https)</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>int priority for the given protocol</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="removeSendFileTransferFactory(java.lang.String)">removeSendFileTransferFactory</a></h3>
<div class="memberSignature"><span class="returnType">boolean</span>&nbsp;<span class="memberName">removeSendFileTransferFactory</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;id)</span></div>
<div class="block">Remove the factory with the given id.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - the id of the factory to remove.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if a factory was removed.  <code>false</code> otherwise.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="reinitialize()">reinitialize</a></h3>
<div class="memberSignature"><span class="returnType">boolean</span>&nbsp;<span class="memberName">reinitialize</span>()</div>
<div class="block">Reinitialized protocol to factory mapping defined via extension registry/extension points.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if reinitialization succeeds, false if not</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/IFileTransferProtocolToFactoryMapper.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>
