package aQute.bnd.service;

import java.io.*;
import java.util.*;

public interface RemoteRepositoryPlugin extends RepositoryPlugin {
	/**
	 * Retrieve a resource handle from the repository. For all implementations
	 * of this interface, calling {@code getFile(bsn, range, strategy, props)}
	 * should always return the same result as
	 * {@code getResource(bsn, range, strategy, props).request()}.
	 * 
	 * @param bsn
	 * @param range
	 * @param strategy
	 * @param properties
	 * @return
	 * @throws Exception
	 */
	ResourceHandle getHandle(String bsn, String range, Strategy strategy, Map<String,String> properties)
			throws Exception;

	File getCacheDirectory();
}

@@ -331,72 +331,77 @@
 t as
-%0A%09 * %7B@code getResource(bsn, ra
+ %7B@link RepositoryPlugin#get(Stri
 ng
-e
 , 
-strategy, props).request(
+aQute.bnd.version.Version, Map
 )%7D
-.
 %0A%09 *
@@ -420,25 +420,79 @@
  bsn
-%0A%09 * @param range
+ the bsn of the revision%0A%09 * @param version the version of the revision
 %0A%09 *
@@ -507,16 +507,25 @@
 strategy
+ strategy
 %0A%09 * @pa
@@ -538,16 +538,31 @@
 operties
+ any properties
 %0A%09 * @re
@@ -638,21 +638,23 @@
  String 
-range
+version
 , Strate

add some comments