added the basic for a more modular setup of applications and test code.
[utils] / system / 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 ServiceDescriptor _descriptor; 
9         private Object _service; 
10         
11         /**
12          * Constructs the service. 
13          * @param aDescriptor Descriptor to use. 
14          * @param aService Service. 
15          */
16         public DefaultService(ServiceDescriptor aDescriptor, Object aService) { 
17                 _descriptor = aDescriptor; 
18                 _service = aService;
19         }
20
21         @Override
22         public ServiceDescriptor getDescriptor() {
23                 return _descriptor; 
24         }
25
26         @Override
27         public <T> T reference(Class<T> aClass) {
28                 return (T)_service; 
29         }
30
31         @Override
32         public String toString() {
33                 return "(" + _descriptor + ", " + _service + ")"; 
34         }
35 }