1 package org.wamblee.system;
3 import java.util.ArrayList;
4 import java.util.HashMap;
7 public class DefaultServiceRegistry implements ServiceRegistry {
10 private Map<String, Service> _services;
12 public DefaultServiceRegistry() {
14 _services = new HashMap<String, Service>();
18 public synchronized Service register(ProvidedInterface aDescriptor,
21 String id = "" + _count;
22 Service svc = new DefaultService(id, aDescriptor, aService);
23 _services.put(id, svc);
28 public void remove(Service aService) {
29 Service svc = _services.remove(aService.getId());
31 throw new IllegalArgumentException("Service '" + aService.getId() + "' does not exist");
36 public synchronized Service find(String aId) {
37 return _services.get(aId);
41 public Service[] listAllServices() {
42 return new ArrayList<Service>(_services.values())
43 .toArray(new Service[0]);