01: /* Copyright 2004 The JA-SIG Collaborative. All rights reserved.
02: * See license distributed with this file and
03: * available online at http://www.uportal.org/license.html
04: */
05:
06: package org.jasig.portal.container.om.servlet;
07:
08: import java.io.Serializable;
09: import java.util.HashMap;
10: import java.util.Iterator;
11: import java.util.Map;
12:
13: import org.apache.pluto.om.servlet.ServletDefinition;
14: import org.apache.pluto.om.servlet.ServletDefinitionList;
15: import org.apache.pluto.om.servlet.ServletDefinitionListCtrl;
16:
17: /**
18: * Implementation of Apache Pluto object model.
19: * @author Ken Weiner, kweiner@unicon.net
20: * @version $Revision: 34757 $
21: */
22: public class ServletDefinitionListImpl implements
23: ServletDefinitionList, ServletDefinitionListCtrl, Serializable {
24:
25: private Map servletDefinitions = null; // name String --> ServletDefinition
26:
27: public ServletDefinitionListImpl() {
28: servletDefinitions = new HashMap();
29: }
30:
31: // ServletDefinitionList methods
32:
33: public Iterator iterator() {
34: return servletDefinitions.values().iterator();
35: }
36:
37: public ServletDefinition get(String name) {
38: return (ServletDefinition) servletDefinitions.get(name);
39: }
40:
41: // ServletDefinitionListCtrl methods
42:
43: public ServletDefinition add(String name, String className) {
44: ServletDefinitionImpl servletDefinition = new ServletDefinitionImpl(
45: name, className);
46: servletDefinitions.put(name, servletDefinition);
47: return servletDefinition;
48: }
49:
50: public ServletDefinition remove(String name) {
51: return (ServletDefinition) servletDefinitions.remove(name);
52: }
53:
54: public void remove(ServletDefinition servletDefinition) {
55: servletDefinitions.remove(servletDefinition.getServletName());
56: }
57:
58: // Additional methods
59:
60: public void add(ServletDefinition servletDefinition) {
61: servletDefinitions.put(servletDefinition.getServletName(),
62: servletDefinition);
63: }
64:
65: /**
66: * Indicates the number of servlet definitions in this list
67: * @return size the number of servlets definitions in this list
68: */
69: public int size() {
70: return servletDefinitions.size();
71: }
72:
73: }
|