All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.ecf.provider.filetransfer.IFileTransferProtocolToFactoryMapper Maven / Gradle / Ivy

There is a newer version: 0.3
Show newest version
/*******************************************************************************
* Copyright (c) 2009 EclipseSource and others. All rights reserved. This
* program and the accompanying materials are made available under the terms of
* the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
*   EclipseSource - initial API and implementation
******************************************************************************/
package org.eclipse.ecf.provider.filetransfer;

import org.eclipse.ecf.filetransfer.service.IRemoteFileSystemBrowserFactory;
import org.eclipse.ecf.filetransfer.service.IRetrieveFileTransferFactory;
import org.eclipse.ecf.filetransfer.service.ISendFileTransferFactory;

/**
 * 
 * @since 3.0.1
 *
 */
public interface IFileTransferProtocolToFactoryMapper {

	/**
	 * 

* 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.

*

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. *

* @param protocol the protocol (e.g. http/https) to map the factory to. * @param id a unique id for the factory (should be bundle symbolic name of bundle calling method) * @param factory the factory to associate with the given protocol * @param priority priority (highest = 0) to use for this factory relative to any existing factories. * @return true if the given factory was set for this protocol, false if not */ public boolean setRetrieveFileTransferFactory(String protocol, String id, IRetrieveFileTransferFactory factory, int priority); /** *

* 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.

*

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. *

* @param protocol the protocol (e.g. http/https) to map the factory to. * @param id a unique id for the factory (should be bundle symbolic name of bundle calling method) * @param factory the factory to associate with the given protocol * @param priority priority (highest = 0) to use for this factory relative to any existing factories. * @param uri if true the factory is added as a URI rather than a URL, meaning that no URLStreamHandler is * registered for the given protocol. This is in contrast to the {@link #setRetrieveFileTransferFactory(String, String, IRetrieveFileTransferFactory, int)}, * 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. * * @return true if the given factory was set for this protocol, false if not */ public boolean setRetrieveFileTransferFactory(String protocol, String id, IRetrieveFileTransferFactory factory, int priority, boolean uri); /** * Get the factory id of the active factory for the given protocol. If the given protocol does not have an * active factory, returns null. * * @param protocol the protocol to get the id for (e.g. http/https) * * @return id of the factory associated with the given protocol */ public String getRetrieveFileTransferFactoryId(String protocol); /** * Get the priority of the active factory for the given protocol. If the given protocol does not have an active factory, returns -1. * * @param protocol the protocol to get the priority for (e.g. http/https) * * @return int priority for the given protocol */ public int getRetrieveFileTransferPriority(String protocol); /** * Remove the factory with the given id. * @param id the id of the factory to remove. * @return true if a factory was removed. false otherwise. */ public boolean removeRetrieveFileTransferFactory(String id); /** *

* 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.

*

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. *

* @param protocol the protocol (e.g. http/https) to map the factory to. * @param id a unique id for the factory (should be bundle symbolic name of bundle calling method) * @param factory the factory to associate with the given protocol * @param priority priority (highest = 0) to use for this factory relative to any existing factories. * @return true if the given factory was set for this protocol, false if not */ public boolean setBrowseFileTransferFactory(String protocol, String id, IRemoteFileSystemBrowserFactory factory, int priority); /** *

* 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.

*

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. *

* @param protocol the protocol (e.g. http/https) to map the factory to. * @param id a unique id for the factory (should be bundle symbolic name of bundle calling method) * @param factory the factory to associate with the given protocol * @param priority priority (highest = 0) to use for this factory relative to any existing factories. * @param uri if true the factory is added as a URI rather than a URL, meaning that no URLStreamHandler is * registered for the given protocol. This is in contrast to the {@link #setRetrieveFileTransferFactory(String, String, IRetrieveFileTransferFactory, int)}, * 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. * * @return true if the given factory was set for this protocol, false if not */ public boolean setBrowseFileTransferFactory(String protocol, String id, IRemoteFileSystemBrowserFactory factory, int priority, boolean uri); /** * Get the factory id of the active factory for the given protocol. If the given protocol does not have an * active factory, returns null. * * @param protocol the protocol to get the id for (e.g. http/https) * * @return id of the factory associated with the given protocol */ public String getBrowseFileTransferFactoryId(String protocol); /** * Get the priority of the active factory for the given protocol. If the given protocol does not have an active factory, returns -1. * * @param protocol the protocol to get the priority for (e.g. http/https) * * @return int priority for the given protocol */ public int getBrowseFileTransferPriority(String protocol); /** * Remove the factory with the given id. * @param id the id of the factory to remove. * @return true if a factory was removed. false otherwise. */ public boolean removeBrowseFileTransferFactory(String id); /** *

* 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.

*

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. *

* @param protocol the protocol (e.g. http/https) to map the factory to. * @param id a unique id for the factory (should be bundle symbolic name of bundle calling method) * @param factory the factory to associate with the given protocol * @param priority priority (highest = 0) to use for this factory relative to any existing factories. * @return true if the given factory was set for this protocol, false if not */ public boolean setSendFileTransferFactory(String protocol, String id, ISendFileTransferFactory factory, int priority); /** *

* 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.

*

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. *

* @param protocol the protocol (e.g. http/https) to map the factory to. * @param id a unique id for the factory (should be bundle symbolic name of bundle calling method) * @param factory the factory to associate with the given protocol * @param priority priority (highest = 0) to use for this factory relative to any existing factories. * @param uri if true the factory is added as a URI rather than a URL, meaning that no URLStreamHandler is * registered for the given protocol. This is in contrast to the {@link #setRetrieveFileTransferFactory(String, String, IRetrieveFileTransferFactory, int)}, * 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. * * @return true if the given factory was set for this protocol, false if not */ public boolean setSendFileTransferFactory(String protocol, String id, ISendFileTransferFactory factory, int priority, boolean uri); /** * Get the factory id of the active factory for the given protocol. If the given protocol does not have an * active factory, returns null. * * @param protocol the protocol to get the id for (e.g. http/https) * * @return id of the factory associated with the given protocol */ public String getSendFileTransferFactoryId(String protocol); /** * Get the priority of the active factory for the given protocol. If the given protocol does not have an active factory, returns -1. * * @param protocol the protocol to get the priority for (e.g. http/https) * * @return int priority for the given protocol */ public int getSendFileTransferPriority(String protocol); /** * Remove the factory with the given id. * @param id the id of the factory to remove. * @return true if a factory was removed. false otherwise. */ public boolean removeSendFileTransferFactory(String id); /** * Reinitialized protocol to factory mapping defined via extension registry/extension points. * @return true if reinitialization succeeds, false if not */ public boolean reinitialize(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy