package com.sina.util.dnscache; /** * * 项目名称: DNSCache <br> * 类名称: DomainInfo <br> * 类描述: 为使用者封装的数据模型 <br> * 创建人: fenglei <br> * 创建时间: 2015-4-21 下午5:26:04 <br> * * 修改人: <br> * 修改时间: <br> * 修改备注: <br> * * @version V1.0 */ public class DomainInfo { /** * 工场方法 * * @param ip * @param url * @param host * @return */ public static DomainInfo DomainInfoFactory(String ip, String url, String host){ url = Tools.getIpUrl(url, host, ip) ; return new DomainInfo( "" , url , host); } /** * 工场方法 * @param serverIpArray * @param url * @param host * @return */ public static DomainInfo[] DomainInfoFactory(String[] serverIpArray, String url, String host){ DomainInfo[] domainArr = new DomainInfo[serverIpArray.length]; for( int i = 0 ; i < serverIpArray.length ; i++ ){ domainArr[i] = DomainInfoFactory( serverIpArray[i], url , host ); } return domainArr ; } /** * 构造函数 * @param id * @param url * @param host */ public DomainInfo(String id, String url, String host){ this.id = id ; this.url = url ; this.host = host ; this.startTime = String.valueOf( System.currentTimeMillis() ); } /** * id */ public String id = null; /** * 可以直接使用的url 已经替换了host为ip */ public String url = null; /** * 需要设置到 http head 里面的主机头 */ public String host = ""; /** * 返回的内容体 */ public String data = null ; /** * 开始请求的时间 */ public String startTime = null ; /** * 请求结束的时间 请求超时 结束时间为null */ public String stopTime = null ; /** * 请求的状态值 200 \ 404 \ 500 等 */ public String code = null ; /** * 返回 url 信息 * @return */ public String toString(){ String str = "DomainInfo: \n" ; str += "id = " + id + "\n" ; str += "url = " + url + "\n" ; str += "host = " + host + "\n" ; str += "data = " + data + "\n" ; str += "startTime = " + startTime + "\n" ; str += "stopTime = " + stopTime + "\n" ; str += "code = " + code + "\n" ; return str ; } }