package org.jboss.as.web.host;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.Servlet;
/**
* @author Stuart Douglas
*/
public class ServletBuilder {
private Class<?> servletClass;
private Servlet servlet;
private String servletName;
private boolean forceInit;
private final List<String> urlMappings = new ArrayList<>();
private final Map<String, String> initParams = new LinkedHashMap<>();
public Class<?> getServletClass() {
return servletClass;
}
public void setServletClass(final Class<?> servletClass) {
this.servletClass = servletClass;
}
public Servlet getServlet() {
return servlet;
}
public void setServlet(final Servlet servlet) {
this.servlet = servlet;
}
public String getServletName() {
return servletName;
}
public void setServletName(final String servletName) {
this.servletName = servletName;
}
public ServletBuilder addUrlMapping(final String mapping) {
this.urlMappings.add(mapping);
return this;
}
public ServletBuilder addUrlMappings(final String... mappings) {
this.urlMappings.addAll(Arrays.asList(mappings));
return this;
}
public ServletBuilder addUrlMappings(final Collection<String> mappings) {
this.urlMappings.addAll(mappings);
return this;
}
public List<String> getUrlMappings() {
return Collections.unmodifiableList(urlMappings);
}
public ServletBuilder addInitParam(final String name, final String value) {
initParams.put(name, value);
return this;
}
public Map<String, String> getInitParams() {
return Collections.unmodifiableMap(initParams);
}
public boolean isForceInit() {
return forceInit;
}
public void setForceInit(boolean forceInit) {
this.forceInit = forceInit;
}
}