package com.google.jstestdriver.idea.server; import org.jetbrains.annotations.NotNull; public class JstdServerSettings { private final int myPort; private final int myBrowserTimeoutMillis; private final RunnerMode myRunnerMode; public JstdServerSettings(int port, int browserTimeoutMillis, @NotNull RunnerMode runnerMode) { myPort = port; myBrowserTimeoutMillis = browserTimeoutMillis; myRunnerMode = runnerMode; } public int getPort() { return myPort; } public int getBrowserTimeoutMillis() { return myBrowserTimeoutMillis; } @NotNull public RunnerMode getRunnerMode() { return myRunnerMode; } public enum RunnerMode { DEBUG, DEBUG_NO_TRACE, DEBUG_OBSERVE, PROFILE, QUIET, INFO } @Override public String toString() { return "port=" + myPort + ", browserTimeout=" + myBrowserTimeoutMillis + ", runnerMode=" + myRunnerMode; } public static class Builder { private int myPort = 9876; private int myBrowserTimeoutMillis = 30000; private RunnerMode myRunnerMode = RunnerMode.QUIET; @NotNull public Builder setPort(int port) { myPort = port; return this; } @NotNull public Builder setBrowserTimeoutMillis(int browserTimeoutMillis) { myBrowserTimeoutMillis = browserTimeoutMillis; return this; } @NotNull public Builder setRunnerMode(@NotNull RunnerMode runnerMode) { myRunnerMode = runnerMode; return this; } public JstdServerSettings build() { return new JstdServerSettings(myPort, myBrowserTimeoutMillis, myRunnerMode); } } }