package org.jboss.as.web.host; import java.io.File; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import io.undertow.predicate.Predicate; /** * @author Stuart Douglas */ public class WebDeploymentBuilder { private ClassLoader classLoader; private String contextRoot; private File documentRoot; private ApplicationContextWrapper applicationContextWrapper; private final List<ServletBuilder> servlets = new ArrayList<>(); private final Map<String,String> mimeTypes = new HashMap<>(); public final List<Predicate> allowRequestPredicates = new ArrayList<>(); public ClassLoader getClassLoader() { return classLoader; } public WebDeploymentBuilder setClassLoader(final ClassLoader classLoader) { this.classLoader = classLoader; return this; } public void addServlet(final ServletBuilder servlet) { servlets.add(servlet); } public List<ServletBuilder> getServlets() { return Collections.unmodifiableList(servlets); } public String getContextRoot() { return contextRoot; } public WebDeploymentBuilder setContextRoot(final String contextRoot) { this.contextRoot = contextRoot; return this; } public File getDocumentRoot() { return documentRoot; } public WebDeploymentBuilder setDocumentRoot(final File documentRoot) { this.documentRoot = documentRoot; return this; } public WebDeploymentBuilder addAllowedRequestPredicate(Predicate predicate) { allowRequestPredicates.add(predicate); return this; } public List<Predicate> getAllowRequestPredicates() { return Collections.unmodifiableList(allowRequestPredicates); } public Map<String, String> getMimeTypes() { return mimeTypes; } public void addMimeMapping(String type,String mapping){ mimeTypes.put(type,mapping); } public ApplicationContextWrapper getApplicationContextWrapper() { return applicationContextWrapper; } public void setApplicationContextWrapper(final ApplicationContextWrapper applicationContextWrapper) { this.applicationContextWrapper = applicationContextWrapper; } }