| GenericPortletRegistryImpl.java |
1 /*
2 * Copyright 2000-2001,2004 The Apache Software Foundation.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17 /*
18
19 */
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.PortletKey;
27 import org.apache.wsrp4j.consumer.PortletRegistry;
28 import org.apache.wsrp4j.consumer.WSRPPortlet;
29 import org.apache.wsrp4j.exception.WSRPException;
30
31 public abstract class GenericPortletRegistryImpl implements PortletRegistry {
32
33 // maps portlet keys to portlets
34 private Hashtable portlets = null;
35
36 public GenericPortletRegistryImpl() {
37 portlets = new Hashtable();
38 }
39
40 /**
41 * Add a portlet to the registry
42 *
43 * @param portlet The portlet to add
44 */
45 public void addPortlet(WSRPPortlet portlet) throws WSRPException {
46 if (portlet != null) {
47
48 portlets.put(portlet.getPortletKey().toString(), portlet);
49
50 }
51 }
52
53 /**
54 * Get the portlet for the given producer and portlet handle
55 *
56 * @param portletKey The portlet key identifying the portlet
57 *
58 * @return The portlet with the given portlet key
59 **/
60 public WSRPPortlet getPortlet(PortletKey portletKey) {
61
62 if (portletKey == null)
63 return null;
64
65 WSRPPortlet portlet = (WSRPPortlet) portlets.get(portletKey.toString());
66
67 return portlet;
68 }
69
70 /**
71 * Remove the portlet with the given portlet key
72 *
73 * @param portletKey The portlet key identifying the portlet
74 * @return The portlet which has been removed or null
75 **/
76 public WSRPPortlet removePortlet(PortletKey portletKey) {
77 if (portletKey == null)
78 return null;
79
80 return (WSRPPortlet) portlets.remove(portletKey.toString());
81 }
82
83 /**
84 * Remove all portlets from the registry
85 **/
86 public void removeAllPortlets() {
87 portlets.clear();
88 }
89
90 /**
91 * Tests if a portlet with the given portlet key
92 *
93 * @param portletKey The portlet key identifying the portlet
94 *
95 * @return True if portlet exists with this portlet key
96 **/
97 public boolean existsPortlet(PortletKey portletKey) {
98 if (portletKey == null)
99 return false;
100
101 return portlets.containsKey(portletKey.toString());
102 }
103
104 /**
105 * Get all the portlets in the register
106 *
107 * @return Iterator with all portlets in the registry
108 **/
109 public Iterator getAllPortlets() {
110 return portlets.values().iterator();
111 }
112 }