DS-Lab / src / main / java / dslab / util / TransferServerConfig.java
TransferServerConfig.java
Raw
package dslab.util;

/**
 * Wrapper for the a {@link Config} of a transfer server, for convenience and type-safety
 */
public class TransferServerConfig {

    private final Config config;

    public TransferServerConfig(Config config) {
        if(!config.getType().equals("transfer"))
            throw new IllegalArgumentException("Expected config of type 'transfer', but was '" + config.getType() + "'");

        this.config = config;
    }

    public TransferServerConfig(String componentName){
        this(new Config(componentName));
    }

    public String monitoringHost() {
        return config.getString("monitoring.host");
    }

    public int monitoringPort() {
        return config.getInt("monitoring.port");
    }

    public int tcpPort() {
        return config.getInt("tcp.port");
    }
}