1
2
3
4
5
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
40
41
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 }