blob: e87f3b5dc3fa51b609b1af34a59dbc794bd3ca69 [file] [log] [blame]
Stuart McCullochf3173222012-06-07 21:57:32 +00001package aQute.bnd.service;
2
3import java.io.*;
4import java.util.*;
5
6public interface RemoteRepositoryPlugin extends RepositoryPlugin {
7 /**
Stuart McCulloch4482c702012-06-15 13:27:53 +00008 * Retrieve a resource handle from the repository. For all implementations
9 * of this interface, calling {@code getFile(bsn, range, strategy, props)}
Stuart McCulloch2a0afd62012-09-06 18:28:06 +000010 * should always return the same result as {@link RepositoryPlugin#get(String, aQute.bnd.version.Version, Map)}
Stuart McCulloch4482c702012-06-15 13:27:53 +000011 *
Stuart McCulloch2a0afd62012-09-06 18:28:06 +000012 * @param bsn the bsn of the revision
13 * @param version the version of the revision
14 * @param strategy strategy
15 * @param properties any properties
Stuart McCullochf3173222012-06-07 21:57:32 +000016 * @return
17 * @throws Exception
18 */
Stuart McCulloch2a0afd62012-09-06 18:28:06 +000019 ResourceHandle getHandle(String bsn, String version, Strategy strategy, Map<String,String> properties)
Stuart McCulloch4482c702012-06-15 13:27:53 +000020 throws Exception;
21
Stuart McCullochf3173222012-06-07 21:57:32 +000022 File getCacheDirectory();
23}