ProtocolFactory.java
package emissary.core.sentinel.protocols;
import emissary.config.ConfigUtil;
import emissary.config.Configurator;
import emissary.core.Factory;
import java.io.IOException;
public class ProtocolFactory {
    private static final String DEFAULT_PROTOCOL_CLASS = "emissary.core.sentinel.protocols.AgentProtocol";
    public static Protocol get(String conf) {
        try {
            Configurator config = ConfigUtil.getConfigInfo(conf);
            String protocolType = config.findStringEntry("PROTOCOL_CLASS", DEFAULT_PROTOCOL_CLASS);
            return (Protocol) Factory.create(protocolType, config);
        } catch (IOException e) {
            throw new IllegalArgumentException("There was a problem with the supplied config [" + conf + "]", e);
        }
    }
    private ProtocolFactory() {}
}