View Javadoc

1   /*
2    * joey-rt and its relative products are published under the terms
3    * of the Apache Software License.
4    * 
5    * Created on 2004/12/12 0:46:21
6    */
7   package org.asyrinx.joey.entity.service.impl;
8   
9   import org.asyrinx.brownie.core.collection.ClassKeyHashMap;
10  import org.asyrinx.brownie.core.collection.ClassKeyMap;
11  import org.asyrinx.joey.entity.service.EntityServiceDictionary;
12  import org.seasar.framework.container.S2Container;
13  
14  /***
15   * @author takeshi
16   */
17  public class EntityServiceDictionaryImpl implements EntityServiceDictionary {
18  
19      /***
20       *  
21       */
22      public EntityServiceDictionaryImpl() {
23          super();
24      }
25  
26      private final ClassKeyMap classKeyMap = new ClassKeyHashMap();
27  
28      public void put(Class entityClass, Class serviceClass) {
29          classKeyMap.put(entityClass, serviceClass);
30      }
31  
32      public void put(Class entityClass, String serviceName) {
33          classKeyMap.put(entityClass, serviceName);
34      }
35  
36      private S2Container container = null;
37  
38      /*
39       * (non-Javadoc)
40       * 
41       * @see org.asyrinx.joey.entity.service.EntityServiceDictionary#getService(java.lang.Class)
42       */
43      public Object getService(Class entityClass) {
44          final Object serviceKey = classKeyMap.get(entityClass);
45          return getContainer().getComponent(serviceKey);
46      }
47  
48      public S2Container getContainer() {
49          return container;
50      }
51  
52      public void setContainer(S2Container container) {
53          this.container = container;
54      }
55  }