/*
* Copyright [duowan.com]
* Web Site: http://www.duowan.com
* Since 2005 - 2013
*/
package com.fpcms.model;
import java.util.Date;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.hibernate.validator.constraints.Length;
import com.github.rapid.common.util.DateConvertUtil;
import com.fpcms.common.cache.Cache;
import com.fpcms.common.cache.CacheManager;
import com.fpcms.common.cache.ValueCallback;
import com.fpcms.common.util.HttpStatusCheckUtil;
import com.fpcms.common.util.StringHelper;
/**
* tableName: cms_domain [CmsDomain]
*
* @author badqiu email:badqiu(a)gmail.com
* @version 1.0
* @since 1.0
*/
public class CmsDomain implements java.io.Serializable{
private static final long serialVersionUID = 5454155825314635342L;
//date formats
//可以直接使用: @Length(max=50,message="用户名长度不能大于50")显示错误消息
//columns START
/**
* 主域名 db_column: domain
*/
@Length(max=30)
private java.lang.String domain;
/**
* 备注 db_column: remarks
*/
@Length(max=200)
private java.lang.String remarks;
/**
* 扩展key_value属性 db_column: props
*/
@Length(max=2000)
private java.lang.String props;
/**
* IP地址 db_column: ip
*/
@Length(max=200)
private java.lang.String ip;
//columns END
public CmsDomain(){
}
public CmsDomain(
java.lang.String domain
){
this.domain = domain;
}
public java.lang.String getDomain() {
return this.domain;
}
public void setDomain(java.lang.String value) {
this.domain = StringUtils.trim(value);
}
public java.lang.String getRemarks() {
return this.remarks;
}
public void setRemarks(java.lang.String value) {
this.remarks = value;
}
public java.lang.String getProps() {
return this.props;
}
public void setProps(java.lang.String value) {
this.props = value;
}
public java.lang.String getIp() {
return this.ip;
}
public void setIp(java.lang.String value) {
this.ip = StringUtils.trim(value);
}
static Cache cache = CacheManager.createCache(CmsDomain.class, 200);
public String getHttpStatus() {
return cache.get(domain,600,new ValueCallback<String>() {
@Override
public String create(String key) {
return HttpStatusCheckUtil.getHttpStatus("www."+domain);
}
});
}
public String getYesterdayOuterLinked() {
String site = "www."+domain;
return StringHelper.getYesterdayOuterLinked(site);
}
public boolean isHttpSuccess() {
return HttpStatusCheckUtil.isHttpSuccess(getHttpStatus());
}
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
public int hashCode() {
return new HashCodeBuilder()
.append(getDomain())
.toHashCode();
}
public boolean equals(Object obj) {
if(this == obj) return true;
if(obj instanceof CmsDomain == false) return false;
CmsDomain other = (CmsDomain)obj;
return new EqualsBuilder()
.append(getDomain(),other.getDomain())
.isEquals();
}
}