blob: 2915d4bbb72f622a703a32ec50ed6b233d4bbf68 [file] [log] [blame]
tom0eb04ca2014-08-25 14:34:51 -07001package org.onlab.osgi;
2
3import com.google.common.collect.ClassToInstanceMap;
4import com.google.common.collect.MutableClassToInstanceMap;
5
6/**
7 * Service directory implementation suitable for testing.
8 */
9public class TestServiceDirectory implements ServiceDirectory {
10
11 private ClassToInstanceMap<Object> services = MutableClassToInstanceMap.create();
12
13 @Override
14 public <T> T get(Class<T> serviceClass) {
15 return services.getInstance(serviceClass);
16 }
17
18 /**
19 * Adds a new service to the directory.
20 *
21 * @param serviceClass service class
22 * @param service service instance
23 * @return self
24 */
25 public TestServiceDirectory add(Class serviceClass, Object service) {
26 services.putInstance(serviceClass, service);
27 return this;
28 }
29
30}