FELIX-2110: The resolver should be able to resolve for some requirements in addition to resources

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@912353 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/org.osgi.service.obr/src/main/java/org/osgi/service/obr/Resolver.java b/org.osgi.service.obr/src/main/java/org/osgi/service/obr/Resolver.java
index 629159b..a8a552d 100644
--- a/org.osgi.service.obr/src/main/java/org/osgi/service/obr/Resolver.java
+++ b/org.osgi.service.obr/src/main/java/org/osgi/service/obr/Resolver.java
@@ -24,8 +24,42 @@
 public interface Resolver
 {
 
+    /**
+     * Add the following resource to the resolution.
+     *
+     * The resource will be part of the output and all its requirements
+     * will be satisfied.
+     *
+     * It has the same effect has adding a requirement that will match
+     * this resource by symbolicname and version.
+     *
+     * The current resolution will be lost after adding a resource.
+     *
+     * @param resource the resource to add
+     */
     void add(Resource resource);
 
+    /**
+     * Returns the list of resources that have been added to the resolution
+     * @return
+     */
+    Resource[] getAddedResources();
+
+    /**
+     * Add the following requirement to the resolution
+     *
+     * The current resolution will be lost after adding a requirement.
+     *
+     * @param requirement the requirement to add
+     */
+    void add(Requirement requirement);
+
+    /**
+     * Returns the list of requirements that have been added to the resolution
+     * @return
+     */
+    Requirement[] getAddedRequirements();
+
     Requirement[] getUnsatisfiedRequirements();
 
     Resource[] getOptionalResources();
@@ -36,8 +70,6 @@
 
     Resource[] getRequiredResources();
 
-    Resource[] getAddedResources();
-
     boolean resolve();
 
     void deploy(boolean start);