29296cae576b5f6d70546a99bc46f9b73e849c8e
[utils] / system / general / src / main / java / org / wamblee / system / DefaultService.java
1 package org.wamblee.system;
2
3 /**
4  * Default service implementation.
5  */
6 public class DefaultService implements Service {
7
8         private String _id;
9         private ProvidedServiceDescriptor _descriptor;
10         private Object _service;
11
12         /**
13          * Constructs the service.
14          * 
15          * @param aDescriptor
16          *            Descriptor to use.
17          * @param aService
18          *            Service.
19          */
20         public DefaultService(String aId, ProvidedServiceDescriptor aDescriptor,
21                         Object aService) {
22                 _id = aId;
23                 _descriptor = aDescriptor;
24                 _service = aService;
25         }
26
27         @Override
28         public String getId() {
29                 return _id;
30         }
31
32         @Override
33         public ProvidedServiceDescriptor getDescriptor() {
34                 return _descriptor;
35         }
36
37         @Override
38         public <T> T reference(Class<T> aClass) {
39                 return (T) _service;
40         }
41
42         @Override
43         public String toString() {
44                 return "(" + _descriptor + ", " + _service + ")";
45         }
46 }