feat: implemented command line argument parsing
This commit is contained in:
parent
8b03d958cb
commit
d534897a5b
@ -0,0 +1,12 @@
|
||||
package uulm.teamname.marvelous.server.args;
|
||||
|
||||
import com.beust.jcommander.IStringConverter;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
public class FileConverter implements IStringConverter<File> {
|
||||
@Override
|
||||
public File convert(String value) {
|
||||
return new File(value);
|
||||
}
|
||||
}
|
@ -0,0 +1,112 @@
|
||||
package uulm.teamname.marvelous.server.args;
|
||||
|
||||
import com.beust.jcommander.Parameter;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
public class ServerArgs {
|
||||
|
||||
/** Whether help is requested */
|
||||
@Parameter(names = {"-h", "--help", "-?", "--?", "-H"}, help = true)
|
||||
private boolean help;
|
||||
|
||||
/** Defines the log level for the current execution of the Server */
|
||||
@Parameter(names = {"-l", "--log-level"}, description = """
|
||||
Log Level
|
||||
0: None
|
||||
1: Error
|
||||
2: Warning
|
||||
3: Info (default)
|
||||
4: debug
|
||||
5: trace""")
|
||||
private Integer logLevel = 3;
|
||||
|
||||
/** Equivalent to logLevel = 5. Maximum log level (trace) for everything */
|
||||
@Parameter(names = {"-v", "--verbose"})
|
||||
private boolean verbose = false;
|
||||
|
||||
/** Port that the server listens on */
|
||||
@Parameter(names = {"--port", "-p"}, description = "Port the server listens at")
|
||||
private int port = 1218;
|
||||
|
||||
/** File describing the {@link uulm.teamname.marvelous.gamelibrary.config.PartyConfig PartyConfig} */
|
||||
@Parameter(names = {"--conf-match", "-m", "--match-config"}, required = true)
|
||||
private File matchConfigFile;
|
||||
|
||||
/** File describing the {@link uulm.teamname.marvelous.gamelibrary.config.CharacterConfig CharacterConfig} */
|
||||
@Parameter(names = {"--conf-chars", "-c", "--character-config"}, required = true)
|
||||
private File characterConfigFile;
|
||||
|
||||
/** File describing the {@link uulm.teamname.marvelous.gamelibrary.config.ScenarioConfig ScenarioConfig} */
|
||||
@Parameter(names = {"--conf-scenario", "-s", "--scenario-config"}, required = true)
|
||||
private File scenarioConfigFile;
|
||||
|
||||
/** Whether the server only checks the configuration files, and then stops execution */
|
||||
@Parameter(names = {"--check-conf", "--check-config"})
|
||||
private boolean checkConfig = false;
|
||||
|
||||
/** The path to the folder in which replays are saved */
|
||||
@Parameter(names = {"--replay", "-r"})
|
||||
private String folderPath;
|
||||
|
||||
/** Whether help is requested */
|
||||
public boolean isHelp() {
|
||||
return help;
|
||||
}
|
||||
|
||||
/** Defines the log level for the current execution of the Server */
|
||||
public Integer getLogLevel() {
|
||||
return logLevel;
|
||||
}
|
||||
|
||||
/** Equivalent to logLevel = 5. Maximum log level (trace) for everything */
|
||||
public boolean isVerbose() {
|
||||
return verbose;
|
||||
}
|
||||
|
||||
/** Port that the server listens on */
|
||||
public int getPort() {
|
||||
return port;
|
||||
}
|
||||
|
||||
/** File describing the {@link uulm.teamname.marvelous.gamelibrary.config.PartyConfig PartyConfig} */
|
||||
public File getMatchConfigFile() {
|
||||
return matchConfigFile;
|
||||
}
|
||||
|
||||
/** File describing the {@link uulm.teamname.marvelous.gamelibrary.config.CharacterConfig CharacterConfig} */
|
||||
public File getCharacterConfigFile() {
|
||||
return characterConfigFile;
|
||||
}
|
||||
|
||||
/** File describing the {@link uulm.teamname.marvelous.gamelibrary.config.ScenarioConfig ScenarioConfig} */
|
||||
public File getScenarioConfigFile() {
|
||||
return scenarioConfigFile;
|
||||
}
|
||||
|
||||
/** Whether the server only checks the configuration files, and then stops execution */
|
||||
public boolean isCheckConfig() {
|
||||
return checkConfig;
|
||||
}
|
||||
|
||||
/** The path to the folder in which replays are saved */
|
||||
public String getFolderPath() {
|
||||
return folderPath;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "ServerArgs{" +
|
||||
"help=" + help +
|
||||
", logLevel=" + logLevel +
|
||||
", verbose=" + verbose +
|
||||
", port=" + port +
|
||||
", matchConfigFile=" + matchConfigFile +
|
||||
", characterConfigFile=" + characterConfigFile +
|
||||
", scenarioConfigFile=" + scenarioConfigFile +
|
||||
", checkConfig=" + checkConfig +
|
||||
", folderPath='" + folderPath + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user