package com.yonge.cooleshow.biz.dal.entity;

import io.swagger.annotations.ApiModelProperty;

import org.apache.commons.lang3.builder.ToStringBuilder;

import com.yonge.cooleshow.common.entity.BaseEntity;

/**
 * 对应数据库表(sys_config):
 */
public class SysConfig extends BaseEntity {

	/**  */
	private Long id;
	
	/** 参数名称 */
	@ApiModelProperty(value = "参数名称", required = true)
	private String paramName;
	
	/** 参数值 */
	@ApiModelProperty(value = "参数值", required = true)
	private String paramValue;
	
	/** 描述 */
	@ApiModelProperty(value = "描述", required = true)
	private String description;
	
	/** 创建时间 */
	private java.util.Date createOn;
	
	/** 修改时间 */
	private java.util.Date modifyOn;
	
	private Long modifyBy;
	
	@ApiModelProperty(value = "消息组", required = true)
	private String group;
	
	public void setId(Long id){
		this.id = id;
	}
	
	public Long getId(){
		return this.id;
	}
			
	public void setParamName(String paramName){
		this.paramName = paramName;
	}
	
	public String getParamName(){
		return this.paramName;
	}
			
	public void setParamValue(String paramValue){
		this.paramValue = paramValue;
	}
	
	public String getParamValue(){
		return this.paramValue;
	}

	public <T> T getParamValue(Class<T> cla){
		try {
			return cla.cast(cla.getMethod("valueOf", String.class).invoke(cla.getInterfaces(),this.paramValue));
		} catch (Exception e) {
			return (T)this.paramValue.getClass();
		}
	}
			
	public void setDescription(String description){
		this.description = description;
	}
	
	public String getDescription(){
		return this.description;
	}
			
	public void setCreateOn(java.util.Date createOn){
		this.createOn = createOn;
	}
	
	public java.util.Date getCreateOn(){
		return this.createOn;
	}
			
	public void setModifyOn(java.util.Date modifyOn){
		this.modifyOn = modifyOn;
	}
	
	public java.util.Date getModifyOn(){
		return this.modifyOn;
	}
			
	public String getGroup() {
		return group;
	}

	public void setGroup(String group) {
		this.group = group;
	}

	public Long getModifyBy() {
		return modifyBy;
	}

	public void setModifyBy(Long modifyBy) {
		this.modifyBy = modifyBy;
	}

	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this);
	}

}
