com.yy.httpdns.Config Maven / Gradle / Ivy
package com.yy.httpdns;
import android.content.Context;
import com.yy.httpdns.bean.DomainName;
import com.yy.httpdns.log.DnsLog;
import com.yy.httpdns.util.SharedPreferencesUtil;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
* Created by huangzhilong on 2016/8/11.
*/
public class Config {
public static final String TAG = "Config";
private Context context;
private String dnsService;
private Map domainMap = new ConcurrentHashMap<>();
//use to distinguish between multiple processes
public Config(Context context, String tag) {
this.context = context;
DnsLog.TAG = "HttpDnsLogger" + "-" + tag;
SharedPreferencesUtil.FILE_NAME = "android-httpDns" + "-" + tag;
}
public Config(Context context) {
this.context = context;
}
public Config setDnsService(String dnsService) {
this.dnsService = dnsService;
return this;
}
public Config addHost(String host, String protocol, String api, int port, String headerHost) {
if (domainMap.get(host) == null) {
domainMap.put(host, new DomainName(host, protocol, api, port, headerHost));
DnsLog.i(TAG, "add domainNames hostName: " + host);
}
return this;
}
public Config addHost(String host, String protocol, String api, int port) {
return addHost(host, protocol, api, port, null);
}
public String getDnsService() {
return dnsService;
}
public Context getContext() {
return context;
}
public Map getDomainMap() {
return domainMap;
}
}