/**@author Sherlock_yb * Created time:2014-2-22 */ package nlp.whu.model; import java.util.Comparator; import java.util.Date; /**@description: */ public class Focus { /** * 数据库中,各个String字段最大长度限制(字符个数) */ public static final int MAX_NAME_LENGTH = 100; public static final int MAX_KEYWORD_LENGTH = 40; private int id; private String name; private int regionId; private String region; private String person; private String organization; private String keyword1; private String keyword2; private String keyword3; private String keyword4; private String keyword5; private String keyword6; private String keyword7; private String keyword8; private String keyword9; private String keyword10; private Date startDate; private Date produceDate; private Date extractDate; private Date endDate; /** * 为1表示待删除;为0表示最热话题;为2表示最新话题 */ private int deleteFlag; /** * deleteFlag三种取值标志 */ public static final int DELETE_FLAG_ACTIVE = 0; public static final int DELETE_FLAG_NEW = 2; public static final int DELETE_FLAG_DELETE = 1; private String subjectId; /** * 话题相关帖子数 */ private int relatePageNum; private String relateMainPageId; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { if(name != null && name.length() > MAX_NAME_LENGTH){ name = name.substring(0, MAX_NAME_LENGTH); } this.name = name; } public int getRegionId() { return regionId; } public void setRegionId(int regionId) { this.regionId = regionId; } public String getRegion() { return region; } public void setRegion(String region) { this.region = region; } public void setPerson(String person) { this.person = person; } public String getPerson() { return person; } public String getOrganization() { return organization; } public void setOrganization(String organization) { this.organization = organization; } public String getKeyword1() { return keyword1; } public void setKeyword1(String keyword1) { if(keyword1 != null && keyword1.length() > MAX_KEYWORD_LENGTH){ keyword1 = keyword1.substring(0, MAX_KEYWORD_LENGTH); } this.keyword1 = keyword1; } public String getKeyword2() { return keyword2; } public void setKeyword2(String keyword2) { if(keyword2 != null && keyword2.length() > MAX_KEYWORD_LENGTH){ keyword2 = keyword2.substring(0, MAX_KEYWORD_LENGTH); } this.keyword2 = keyword2; } public String getKeyword3() { return keyword3; } public void setKeyword3(String keyword3) { if(keyword3 != null && keyword3.length() > MAX_KEYWORD_LENGTH){ keyword3 = keyword3.substring(0, MAX_KEYWORD_LENGTH); } this.keyword3 = keyword3; } public Date getStartDate() { return startDate; } public void setStartDate(Date startDate) { this.startDate = startDate; } public void setProduceDate(Date produceDate) { this.produceDate = produceDate; } public Date getProduceDate() { return produceDate; } public void setExtractDate(Date extractDate) { this.extractDate = extractDate; } public Date getExtractDate() { return extractDate; } public Date getEndDate() { return endDate; } public void setEndDate(Date endDate) { this.endDate = endDate; } public int getDeleteFlag() { return deleteFlag; } public void setDeleteFlag(int deleteFlag) { this.deleteFlag = deleteFlag; } public String getSubjectId() { return subjectId; } public void setSubjectId(String subjectId) { this.subjectId = subjectId; } public void setKeyword4(String keyword4) { if(keyword4 != null && keyword4.length() > MAX_KEYWORD_LENGTH){ keyword4 = keyword4.substring(0, MAX_KEYWORD_LENGTH); } this.keyword4 = keyword4; } public String getKeyword4() { return keyword4; } public void setKeyword5(String keyword5) { if(keyword5 != null && keyword5.length() > MAX_KEYWORD_LENGTH){ keyword5 = keyword5.substring(0, MAX_KEYWORD_LENGTH); } this.keyword5 = keyword5; } public String getKeyword5() { return keyword5; } public void setKeyword6(String keyword6) { if(keyword6 != null && keyword6.length() > MAX_KEYWORD_LENGTH){ keyword6 = keyword6.substring(0, MAX_KEYWORD_LENGTH); } this.keyword6 = keyword6; } public String getKeyword6() { return keyword6; } public void setKeyword7(String keyword7) { if(keyword7 != null && keyword7.length() > MAX_KEYWORD_LENGTH){ keyword7 = keyword7.substring(0, MAX_KEYWORD_LENGTH); } this.keyword7 = keyword7; } public String getKeyword7() { return keyword7; } public void setKeyword8(String keyword8) { if(keyword8 != null && keyword8.length() > MAX_KEYWORD_LENGTH){ keyword8 = keyword8.substring(0, MAX_KEYWORD_LENGTH); } this.keyword8 = keyword8; } public String getKeyword8() { return keyword8; } public void setKeyword9(String keyword9) { if(keyword9 != null && keyword9.length() > MAX_KEYWORD_LENGTH){ keyword9 = keyword9.substring(0, MAX_KEYWORD_LENGTH); } this.keyword9 = keyword9; } public String getKeyword9() { return keyword9; } public void setKeyword10(String keyword10) { if(keyword10 != null && keyword10.length() > MAX_KEYWORD_LENGTH){ keyword10 = keyword10.substring(0, MAX_KEYWORD_LENGTH); } this.keyword10 = keyword10; } public String getKeyword10() { return keyword10; } public int getRelatePageNum() { return relatePageNum; } public void setRelatePageNum(int relatePageNum) { this.relatePageNum = relatePageNum; } public String getRelateMainPageId() { return relateMainPageId; } public void setRelateMainPageId(String relateMainPageId) { this.relateMainPageId = relateMainPageId; } public static class FocusProduceDateComparator implements Comparator{ @Override public int compare(Focus o1, Focus o2) { Date pd1 = o1.getProduceDate(); Date pd2 = o2.getProduceDate(); if(pd2 == null){ if(pd1 == null){ return 0; }else{ return -1; } }else{ if(pd1 == null){ return 1; }else{ long t1 = pd1.getTime(); long t2 = pd2.getTime(); return t2 == t1 ? 0 : (t2 > t1 ? 1:-1); } } } } public static class FocusPageNumComparator implements Comparator{ @Override public int compare(Focus o1, Focus o2) { int count1 = o1.getRelatePageNum(); int count2 = o2.getRelatePageNum(); return count2 == count1 ? 0 : (count2 > count1 ? 1:-1); } } }