Index: sky/shell/org/domokit/sky/shell/ServiceRegistry.java |
diff --git a/sky/shell/org/domokit/sky/shell/ServiceRegistry.java b/sky/shell/org/domokit/sky/shell/ServiceRegistry.java |
new file mode 100644 |
index 0000000000000000000000000000000000000000..49affd14353c2d8f4de7ae39facef9748e36728d |
--- /dev/null |
+++ b/sky/shell/org/domokit/sky/shell/ServiceRegistry.java |
@@ -0,0 +1,31 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+package org.domokit.sky.shell; |
+ |
+import java.util.Map; |
+import java.util.TreeMap; |
+ |
+/** |
+ * An registry for services. |
+ **/ |
+public class ServiceRegistry { |
+ private Map<String, ServiceFactory> mRegistrations; |
+ |
+ public static final ServiceRegistry SHARED = new ServiceRegistry(); |
+ |
+ private ServiceRegistry() { |
+ mRegistrations = new TreeMap<String, ServiceFactory>(); |
+ } |
+ |
+ public void register(String interfaceName, ServiceFactory connector) { |
+ assert !mRegistrations.containsKey(interfaceName); |
+ assert connector != null; |
+ mRegistrations.put(interfaceName, connector); |
+ } |
+ |
+ public ServiceFactory get(String interfaceName) { |
+ return mRegistrations.get(interfaceName); |
+ } |
+} |