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

import java.net.UnknownHostException;

import static java.net.InetAddress.getLocalHost;

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

    private final Config config;
    private final ComponentId componentId;

    public MailserverConfig(ComponentId componentId, Config config) {
        this.config = config;
        this.componentId = componentId;
    }

    public String rootId() {return config.getString("root_id");}

    public String domain() {return config.getString("domain");}

    public String address() throws UnknownHostException {return getLocalHost().getHostAddress();}

    public Integer dmtpTcpPort() {return config.getInt("dmtp.tcp.port");}

    public Integer dmapTcpPort() {
        return config.getInt("dmap.tcp.port");
    }

}