/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.communication.fileaccess.spi; import java.io.IOException; import java.net.URI; import de.rcenvironment.core.communication.fileaccess.api.RemoteFileConnection; /** * * Factory creating {@link RemoteFileConnection} implementations. This interface has to be * implemented and registers as an OSGi service by bundles providing a file transfer protocol and * thus a {@link RemoteFileConnection} implementation. * * @author Doreen Seider */ public interface RemoteFileConnectionFactory { /** * Key for a service property. */ String PROTOCOL = "protocol"; /** * * Creates {@link RemoteFileConnection} implementations. * * @param uri The URI pointing to the remote file to access. * @return the {@link RemoteFileConnection} object. * @throws IOException if the file could not be accessed remotely. */ RemoteFileConnection createRemoteFileConnection(URI uri) throws IOException; }