1
16
17
20
21 package org.apache.wsrp4j.consumer.driver;
22
23 import java.util.Hashtable;
24 import java.util.Iterator;
25
26 import org.apache.wsrp4j.consumer.ConsumerEnvironment;
27 import org.apache.wsrp4j.consumer.PortletDriver;
28 import org.apache.wsrp4j.consumer.PortletDriverRegistry;
29 import org.apache.wsrp4j.consumer.WSRPPortlet;
30 import org.apache.wsrp4j.exception.WSRPException;
31
32 public class PortletDriverRegistryImpl implements PortletDriverRegistry {
33
34 private static PortletDriverRegistry instance = null;
35
36 private Hashtable portletDrivers = null;
37
38 private ConsumerEnvironment consumerEnv = null;
39
40 private PortletDriverRegistryImpl(ConsumerEnvironment consumerEnv) {
41
42 this.portletDrivers = new Hashtable();
43 this.consumerEnv = consumerEnv;
44 }
45
46 public static PortletDriverRegistry getInstance(
47 ConsumerEnvironment consumerEnv) {
48 if (instance == null) {
49 instance = new PortletDriverRegistryImpl(consumerEnv);
50 }
51
52 return instance;
53 }
54
55
63 public PortletDriver getPortletDriver(WSRPPortlet portlet)
64 throws WSRPException {
65
66 PortletDriver driver = null;
67
68 if ((driver = (PortletDriver) portletDrivers.get(portlet
69 .getPortletKey().toString())) == null) {
70 driver = new PortletDriverImpl(portlet, consumerEnv);
71 }
72
73 return driver;
74 }
75
76
81 public Iterator getAllPortletDrivers() {
82 return portletDrivers.values().iterator();
83 }
84 }