package org.webpieces.router.api.routing; import java.util.Arrays; import java.util.List; import org.webpieces.router.impl.model.AbstractRouteBuilder; import org.webpieces.router.impl.model.RouteModuleInfo; public class ScopedDomainRoutes extends AbstractRoutes { private String domain; private List<Routes> modules; public ScopedDomainRoutes(String domain, Routes ... modules) { if(domain == null || domain.length() == 0) throw new IllegalArgumentException("domain cannot be null and must be larger than size 0"); this.domain = domain; this.modules = Arrays.asList(modules); } @Override protected void configure() { this.router = router.getDomainScopedRouter(domain); for(Routes module : modules) { AbstractRouteBuilder.currentPackage.set(new RouteModuleInfo(module)); module.configure(router); AbstractRouteBuilder.currentPackage.set(null); } } @Override public String toString() { return "ScopedDomainModule [domain=" + domain + ", modules=" + modules + "]"; } }