Page.java 3.56 KB
/**@author Sherlock_yb
 * Created time:2014-2-22
 */
package nlp.whu.model;

import java.io.Serializable;
import java.util.Comparator;
import java.util.Date;

/**@description:
 */
public class Page implements Serializable {
	public static final byte TYPE_UNKNOWN = 0;
    public static final byte TYPE_NEWS = 1;
    public static final byte TYPE_BBS = 2;
    public static final byte TYPE_WEIBO = 3;
    public static final byte TYPE_BLOG = 4;
    public static final byte TYPE_JOURNAL = 5;
    public static final byte TYPE_TWITTER = 6;
    private static final long serialVersionUID = -6737392177067993535L;
    //pe_t_subject_page表中,主键uuid(<subjectId,pageId>才是唯一的)
    private String id;
    private Date updateTime;
    private Date downloadDate;
    private String title;
    private String summary;
    private int type;
    private Date publishDate;
    private int extractedStatus;      //已取缔,但可以作为内存中的状态
    private int focusedStatus;        //已取缔,但可以作为内存中的状态
    private int groupCount;
    private String groupSeedId;

    public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getSummary() {
        return summary;
    }

    public void setSummary(String summary) {
        this.summary = summary;
    }

    public int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }

    public Date getPublishDate() {
        return publishDate;
    }

    public void setPublishDate(Date publishDate) {
        this.publishDate = publishDate;
    }

	public void setExtractedStatus(int extractedStatus) {
		this.extractedStatus = extractedStatus;
	}

	public int getExtractedStatus() {
		return extractedStatus;
	}

	public void setFocusedStatus(int focusedStatus) {
		this.focusedStatus = focusedStatus;
	}

	public int getFocusedStatus() {
		return focusedStatus;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	public Date getDownloadDate() {
		return downloadDate;
	}

	public void setDownloadDate(Date downloadDate) {
		this.downloadDate = downloadDate;
	}

	public int getGroupCount() {
		return groupCount;
	}

	public void setGroupCount(int groupCount) {
		this.groupCount = groupCount;
	}

	public String getGroupSeedId() {
		return groupSeedId;
	}

	public void setGroupSeedId(String groupSeedId) {
		this.groupSeedId = groupSeedId;
	}
	public static class PageGroupCountComparator implements Comparator<Page>{
		@Override
		public int compare(Page o1, Page o2) {
			int count1 = o1.getGroupCount();
			int count2 = o2.getGroupCount();
			return count2 == count1 ? 0 : (count2 > count1 ? 1:-1);
		}
	}
	public static class PagePublishDateComparator implements Comparator<Page>{
		@Override
		public int compare(Page o1, Page o2) {
			Date pd1 = o1.getPublishDate();
			Date pd2 = o2.getPublishDate();
			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);
				}
			}
		}
	}
}