package com.sec.xinhua.gateway.parse;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/**
 * 平台参数
 */
public class SysParam {
    // api名称
    private String api;

    // api版本
    private String apiVersion;

    // 请求参数
    private String requestUrl;

    //referer url
    private String refererUrl;

    private String sessionId;

    private Map<String, String> map = new HashMap<String, String>();

    public String getApi() {
        return api;
    }

    public void setApi(String api) {
        this.api = api;
        map.put(HttpParamConstants.API, this.api);
    }

    public String getApiVersion() {
        return apiVersion;
    }

    public void setApiVersion(String apiVersion) {
        this.apiVersion = apiVersion;
        map.put(HttpParamConstants.API_VERSION, this.apiVersion);
    }

    public String getRequestUrl() {
        return requestUrl;
    }

    public void setRequestUrl(String requestUrl) {
        this.requestUrl = requestUrl;
        map.put(HttpParamConstants.REQUEST_URL, this.requestUrl);
    }

    public String getRefererUrl() {
        return refererUrl;
    }

    public void setRefererUrl(String refererUrl) {
        this.refererUrl = refererUrl;
        map.put(HttpParamConstants.REFERER_URL, refererUrl);
    }

    public Map<String, String> getMap() {
        return map;
    }

    public String getParam(String key) {
        return map.get(key);
    }

    public String getSessionId() {
        return sessionId;
    }

    public void setSessionId(String sessionId) {
        this.sessionId = sessionId;
    }

    public String toPlatfromParamString() {
        StringBuilder sb = new StringBuilder();
        Set<String> keys = this.map.keySet();
        for (String key : keys) {
            String value = map.get(key);
            if (value != null) {
                sb.append(key);
                sb.append(":");
                sb.append(value);
                sb.append(",");
            }
        }
        return sb.toString();
    }

    @Override
    public String toString() {
        return "SysParam{" + map + '}';
    }

}