public WebApp( String id, Set<String> owners, Set<String> hostnames, Set<String> uriContexts, AppMode mode, Router router, PojoDispatcher dispatcher, Classes classes, Config config) { this.id = id; this.router = U.or(router, new HttpRouter()); this.dispatcher = U.or(dispatcher, new WebPojoDispatcher(classes)); this.owners = U.safe(owners); this.hostnames = U.safe(hostnames); this.uriContexts = U.safe(uriContexts); this.mode = U.or(mode, AppMode.DEVELOPMENT); this.classes = U.or(classes, new Classes()); this.config = U.or(config, new Config()); }