package org.zstack.sdk; import java.util.concurrent.TimeUnit; /** * Created by xing5 on 2016/12/9. */ public class ZSConfig { String hostname = "localhost"; int port = 8080; long defaultPollingTimeout = TimeUnit.HOURS.toMillis(3); long defaultPollingInterval = TimeUnit.SECONDS.toMillis(1); String webHook; Long readTimeout; Long writeTimeout; String contextPath; public String getHostname() { return hostname; } public int getPort() { return port; } public long getDefaultPollingTimeout() { return defaultPollingTimeout; } public long getDefaultPollingInterval() { return defaultPollingInterval; } public static class Builder { ZSConfig config = new ZSConfig(); public Builder setHostname(String hostname) { config.hostname = hostname; return this; } public Builder setWebHook(String webHook) { config.webHook = webHook; return this; } public Builder setPort(int port) { config.port = port; return this; } public Builder setDefaultPollingTimeout(long value, TimeUnit unit) { config.defaultPollingTimeout = unit.toMillis(value); return this; } public Builder setDefaultPollingInterval(long value, TimeUnit unit) { config.defaultPollingInterval = unit.toMillis(value); return this; } public Builder setReadTimeout(long value, TimeUnit unit) { config.readTimeout = unit.toMillis(value); return this; } public Builder setWriteTimeout(long value, TimeUnit unit) { config.writeTimeout = unit.toMillis(value); return this; } public Builder setContextPath(String name) { config.contextPath = name; return this; } public ZSConfig build() { return config; } } }