package com.kcim.dao.model.dto;


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


/**
 * 泛型参数容器，可动态添加任意类型对象
 * @author Administrator
 */
public class ParamContainerDTO {
    /**
     * 参数
     */
    private Map<String, Object> params = new HashMap<>();

    /**
     * 添加参数
     * @param key
     * @param value
     * @param <T>
     */
    public <T> void put(String key, T value) {
        params.put(key, value);
    }

    /**
     * 获取参数（带类型转换）
     * @param key
     * @param <T>
     * @return
     */
    @SuppressWarnings("unchecked")
    public <T> T get(String key) {
        return (T) params.get(key);
    }

    /**
     * 判断是否包含某个参数
     * @param key
     * @return
     */
    public boolean contains(String key) {
        return params.containsKey(key);
    }
}
