001 package com.mockrunner.mock.web;
002
003 import java.util.Enumeration;
004 import java.util.HashMap;
005 import java.util.Map;
006 import java.util.Vector;
007
008 import javax.servlet.ServletConfig;
009 import javax.servlet.ServletContext;
010
011 /**
012 * Mock implementation of <code>ServletConfig</code>.
013 */
014 public class MockServletConfig implements ServletConfig
015 {
016 private ServletContext servletContext;
017 private Map initParameters;
018 private String servletName;
019
020 public MockServletConfig()
021 {
022 initParameters = new HashMap();
023 }
024
025 public synchronized String getServletName()
026 {
027 return servletName;
028 }
029
030 public synchronized void setServletName(String servletName)
031 {
032 this.servletName = servletName;
033 }
034
035 public synchronized ServletContext getServletContext()
036 {
037 return servletContext;
038 }
039
040 /**
041 * Sets the <code>ServletContext</code>.
042 * @param servletContext the <code>ServletContext</code>
043 */
044 public synchronized void setServletContext(ServletContext servletContext)
045 {
046 this.servletContext = servletContext;
047 }
048
049 /**
050 * Clears the init parameters.
051 */
052 public synchronized void clearInitParameters()
053 {
054 initParameters.clear();
055 }
056
057 public synchronized String getInitParameter(String name)
058 {
059 return (String)initParameters.get(name);
060 }
061
062 /**
063 * Sets an init parameter.
064 * @param name the name
065 * @param value the value
066 */
067 public synchronized void setInitParameter(String name, String value)
068 {
069 initParameters.put(name, value);
070 }
071
072 /**
073 * Sets several init parameters.
074 * @param parameters the parameter map
075 */
076 public synchronized void setInitParameters(Map parameters)
077 {
078 initParameters.putAll(parameters);
079 }
080
081 public synchronized Enumeration getInitParameterNames()
082 {
083 return new Vector(initParameters.keySet()).elements();
084 }
085 }