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