|
Lines 14-25
Link Here
|
| 14 |
import java.util.Dictionary; |
14 |
import java.util.Dictionary; |
| 15 |
import org.eclipse.core.runtime.IAdaptable; |
15 |
import org.eclipse.core.runtime.IAdaptable; |
| 16 |
import org.eclipse.ecf.core.identity.ID; |
16 |
import org.eclipse.ecf.core.identity.ID; |
| 17 |
import org.osgi.framework.Filter; |
17 |
import org.eclipse.ecf.core.identity.Namespace; |
| 18 |
import org.osgi.framework.InvalidSyntaxException; |
18 |
import org.eclipse.ecf.core.util.IFutureStatus; |
|
|
19 |
import org.osgi.framework.*; |
| 19 |
|
20 |
|
| 20 |
/** |
21 |
/** |
| 21 |
* Entry point remote service container adapter. This is the entry point |
22 |
* Entry point remote service container adapter. This is the entry point |
| 22 |
* innterface for accessing remote services through ECF containers. |
23 |
* interface for accessing remote services through ECF containers. |
| 23 |
* |
24 |
* |
| 24 |
*/ |
25 |
*/ |
| 25 |
public interface IRemoteServiceContainerAdapter extends IAdaptable { |
26 |
public interface IRemoteServiceContainerAdapter extends IAdaptable { |
|
Lines 117-125
Link Here
|
| 117 |
* services that were registered under the specified class and match the |
118 |
* services that were registered under the specified class and match the |
| 118 |
* specified idFilter, and filter criteria. |
119 |
* specified idFilter, and filter criteria. |
| 119 |
* <p> |
120 |
* <p> |
| 120 |
* The IAsyncResult is returned immediately, and subsequent calls to {@link IAsyncResult#get()} |
121 |
* The IFutureStatus is returned immediately, and subsequent calls to {@link IFutureStatus#get()} |
| 121 |
* or {@link IAsyncResult#get(long)} will return the actual results received. The type of |
122 |
* or {@link IFutureStatus#get(long)} will return the actual results received. The type of |
| 122 |
* the Object returned from {@link IAsyncResult#get()} will be IRemoteServiceReference []. |
123 |
* the Object returned from {@link IFutureStatus#get()} will be IRemoteServiceReference []. |
| 123 |
* |
124 |
* |
| 124 |
* <p> |
125 |
* <p> |
| 125 |
* The list is valid at the time of the call to this method, however since |
126 |
* The list is valid at the time of the call to this method, however since |
|
Lines 140-151
Link Here
|
| 140 |
* properties objects contain keys and values which satisfy the filter. See |
141 |
* properties objects contain keys and values which satisfy the filter. See |
| 141 |
* {@link Filter} for a description of the filter string syntax. |
142 |
* {@link Filter} for a description of the filter string syntax. |
| 142 |
* |
143 |
* |
| 143 |
* <p> |
|
|
| 144 |
* If <code>filter</code> is <code>null</code>, all registered services |
| 145 |
* are considered to match the filter. If <code>filter</code> cannot be |
| 146 |
* parsed, an {@link InvalidSyntaxException} will be thrown with a human |
| 147 |
* readable message where the filter became unparsable. |
| 148 |
* |
| 149 |
* @param idFilter |
144 |
* @param idFilter |
| 150 |
* an array of ID instances that will restrict the search for |
145 |
* an array of ID instances that will restrict the search for |
| 151 |
* matching container ids If null, all remote containers will be |
146 |
* matching container ids If null, all remote containers will be |
|
Lines 157-169
Link Here
|
| 157 |
* the desired service. Must not be <code>null</code>. |
152 |
* the desired service. Must not be <code>null</code>. |
| 158 |
* @param filter |
153 |
* @param filter |
| 159 |
* The filter criteria. May be <code>null</code>. |
154 |
* The filter criteria. May be <code>null</code>. |
| 160 |
* @return IAsyncResult that through subsequent calls to IAsyncResult#get() will return |
155 |
* @return IFutureStatus that through subsequent calls to IFutureStatus#get() will return |
| 161 |
* IRemoteServiceReference [] with IRemoteServiceReferences matching given search criteria. |
156 |
* IRemoteServiceReference [] with IRemoteServiceReferences matching given search criteria. |
| 162 |
* Will not return <code>null</code>. |
157 |
* Will not return <code>null</code>. |
| 163 |
* |
158 |
* |
| 164 |
* @throws InvalidSyntaxException If filter contains an invalid filter string that cannot be parsed. |
159 |
* @since 3.0 |
| 165 |
*/ |
160 |
*/ |
| 166 |
//public IAsyncResult asyncGetRemoteServiceReferences(ID[] idFilter, String clazz, String filter) throws InvalidSyntaxException; |
161 |
public IFutureStatus asyncGetRemoteServiceReferences(ID[] idFilter, String clazz, String filter); |
|
|
162 |
|
| 167 |
/** |
163 |
/** |
| 168 |
* Get remote service for given IRemoteServiceReference. Note that clients |
164 |
* Get remote service for given IRemoteServiceReference. Note that clients |
| 169 |
* that call this method successfully should later call |
165 |
* that call this method successfully should later call |
|
Lines 200-205
Link Here
|
| 200 |
*/ |
196 |
*/ |
| 201 |
public boolean ungetRemoteService(IRemoteServiceReference reference); |
197 |
public boolean ungetRemoteService(IRemoteServiceReference reference); |
| 202 |
|
198 |
|
| 203 |
//public IRemoteFilter createFilter(String filter) throws InvalidSyntaxException; |
199 |
/** |
|
|
200 |
* Get namespace to use for this remote service provider. |
| 201 |
* @return Namespace to use for creating IDs for this remote service provider. Will |
| 202 |
* not return <code>null</code>. |
| 203 |
* @since 3.0 |
| 204 |
*/ |
| 205 |
public Namespace getRemoteServiceNamespace(); |
| 204 |
|
206 |
|
|
|
207 |
/** |
| 208 |
* Creates a <code>IRemoteFilter</code> object. This <code>IRemoteFilter</code> object may |
| 209 |
* be used to match a <code>IRemoteServiceReference</code> object or a |
| 210 |
* <code>Dictionary</code> object. |
| 211 |
* |
| 212 |
* <p> |
| 213 |
* If the filter cannot be parsed, an {@link InvalidSyntaxException} will be |
| 214 |
* thrown with a human readable message where the filter became unparsable. |
| 215 |
* |
| 216 |
* @param filter The filter string. |
| 217 |
* @return A <code>IRemoteFilter</code> object encapsulating the filter string. |
| 218 |
* @throws InvalidSyntaxException If <code>filter</code> contains an invalid |
| 219 |
* filter string that cannot be parsed. |
| 220 |
* @throws NullPointerException If <code>filter</code> is null. |
| 221 |
* @throws java.lang.IllegalStateException If this IRemoteServiceContainerAdapter is no |
| 222 |
* longer valid. |
| 223 |
* |
| 224 |
* @since 3.0 |
| 225 |
* @see "Framework specification for a description of the filter string syntax." |
| 226 |
* @see FrameworkUtil#createFilter(String) |
| 227 |
*/ |
| 228 |
public IRemoteFilter createRemoteFilter(String filter) throws InvalidSyntaxException; |
| 205 |
} |
229 |
} |