package envoy.client; import java.io.File; import java.util.Properties; /** * Project: envoy-client
* File: Config.java
* Created: 12 Oct 2019
* * @author Kai S. K. Engelbart * @since Envoy 0.1 */ public class Config { private String server; private int port; private File localDB; /** * Defaults to the {@code client.properties} file for information. * * @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 */ 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")); } /** * Sets the server, port and localDB path via command line properties --server / * -s, --port / -p and --localDB / -db. * * @param args the command line arguments to parse * @since Envoy v0.1-alpha */ 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; } }