/* * Copyright 2014 The Skfiy Open Association. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.skfiy.typhon.domain; import org.apache.commons.lang3.builder.ToStringBuilder; import org.skfiy.typhon.util.DomainUtils; /** * * @author Kevin Zou <kevinz@skfiy.org> */ public class Mail extends AbstractIndexable { // 邮件状态 public static final int READ_STATE = 1; public static final int UNREAD_STATE = 2; // 邮件类型 /** * 更新通知. */ public static final int UPDATED_NOTICE_TYPE = 1; /** * 活动通知. */ public static final int ACTIVITY_NOTICE_TYPE = 2; /** * 维护通知. */ public static final int MAINTAIN_NOTICE_TYPE = 3; /** * 补偿通知. */ public static final int REPARATION_NOTICE_TYPE = 4; /** * 奖励通知. */ public static final int REWARD_NOTICE_TYPE = 5; /** * 工会boss奖励通知. */ public static final int SOCIETY_REWARD_TYPE = 6; private String title; private String content; private String appendix; private int count = 1; private int state = UNREAD_STATE; private int type; private long creationTime = System.currentTimeMillis(); private long expiredTime; public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } public String getAppendix() { return appendix; } public void setAppendix(String appendix) { this.appendix = appendix; } public int getCount() { return count; } public void setCount(int count) { this.count = count; } public int getState() { return state; } public void setState(int state) { this.state = state; DomainUtils.firePropertyChange(this, "state", this.state); } public int getType() { return type; } public void setType(int type) { this.type = type; } public long getCreationTime() { return creationTime; } public void setCreationTime(long creationTime) { this.creationTime = creationTime; } public long getExpiredTime() { return expiredTime; } public void setExpiredTime(long expiredTime) { this.expiredTime = expiredTime; } @Override public String toString() { ToStringBuilder builder = new ToStringBuilder(this); builder.append("title", title); builder.append("content", content); builder.append("appendix", appendix); builder.append("count", count); builder.append("state", state); builder.append("type", type); builder.append("creationTime", creationTime); builder.append("expiredTime", expiredTime); // FIXME builder.append("index", index()); return builder.toString(); } }