This repository has been archived on 2021-12-05. You can view files and clone it, but cannot push or open issues or pull requests.
envoy/src/main/java/envoy/client/Config.java

72 lines
2.0 KiB
Java
Raw Normal View History

package envoy.client;
import java.io.File;
import java.util.Properties;
/**
* Project: <strong>envoy-client</strong><br>
* File: <strong>Config.java</strong><br>
* Created: <strong>12 Oct 2019</strong><br>
*
* @author Kai S. K. Engelbart
* @since Envoy 0.1
*/
public class Config {
private String server;
private int port;
private File localDB;
2019-10-12 11:52:29 +02:00
/**
* Defaults to the {@code client.properties} file for information.
2019-10-12 11:52:29 +02:00
*
* @param properties a {@link Properties} object containing information about
* the server and port, as well as the path to the local
* database
* @since Envoy v0.1-alpha
2019-10-12 11:52:29 +02:00
*/
public void load(Properties properties) {
if (properties.containsKey("server")) server = properties.getProperty("server");
if (properties.containsKey("port")) port = Integer.parseInt(properties.getProperty("port"));
localDB = new File(properties.getProperty("localDB", ".\\localDB"));
}
2019-10-12 11:52:29 +02:00
/**
* Sets the server, port and localDB path via command line properties --server /
* -s, --port / -p and --localDB / -db.
2019-10-12 11:52:29 +02:00
*
* @param args the command line arguments to parse
* @since Envoy v0.1-alpha
2019-10-12 11:52:29 +02:00
*/
public void load(String[] args) {
for (int i = 0; i < args.length; i++)
switch (args[i]) {
case "--server":
case "-s":
server = args[++i];
break;
case "--port":
case "-p":
port = Integer.parseInt(args[++i]);
break;
case "--localDB":
case "-db":
localDB = new File(args[++i]);
}
}
public boolean isInitialized() { return server != null && !server.isEmpty() && port > 0 && port < 65566 && localDB != null; }
public String getServer() { return server; }
public void setServer(String server) { this.server = server; }
public int getPort() { return port; }
public void setPort(int port) { this.port = port; }
public File getLocalDB() { return localDB; }
public void setLocalDB(File localDB) { this.localDB = localDB; }
}