package org.jboss.pitbull.servlet; import javax.servlet.Registration; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; /** * @author <a href="mailto:bill@burkecentral.com">Bill Burke</a> * @version $Revision: 1 $ */ abstract public class DeploymentRegistration implements Registration.Dynamic { protected String name; protected DeploymentServletContext servletContext; protected Map<String, String> initParameters = new HashMap<String, String>(); protected boolean asyncSupported; protected void checkNullParameter(Object param) { if (param == null) throw new IllegalArgumentException("Parameter was null"); } @Override public String getName() { return name; } @Override public boolean setInitParameter(String name, String value) { if (initParameters.containsKey(name)) return false; initParameters.put(name, value); return true; } @Override public String getInitParameter(String name) { return initParameters.get(name); } @Override public Set<String> setInitParameters(Map<String, String> initParameters) { Set<String> already = new HashSet<String>(); for (Map.Entry<String, String> entry : initParameters.entrySet()) { if (entry.getKey() == null || entry.getValue() == null) { throw new IllegalArgumentException("Null value in initParameters map not allowed"); } if (this.initParameters.containsKey(entry.getKey())) already.add(entry.getKey()); } if (already.size() > 0) return already; this.initParameters.putAll(initParameters); return already; } @Override public Map<String, String> getInitParameters() { return initParameters; } @Override public void setAsyncSupported(boolean isAsyncSupported) { asyncSupported = isAsyncSupported; } }