package message.event.module; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.Serializable; import java.util.Date; import java.util.EventObject; import java.util.Map; /** * 事件的基类. * * @author sunhao(sunhao.java@gmail.com) * @version V1.0 * @createTime 13-4-27 上午5:00 */ public class BaseEvent extends EventObject implements Serializable { /** * Logger. */ protected static final Logger logger = LoggerFactory.getLogger(BaseEvent.class); /** * 常量,在map中key值 */ public static final String CLIENT_IP = "client_ip"; public static final String DESCRIPTION = "description"; /** * 触发事件的操作者,可选. */ protected Long operatorId; /** * 事件的直接关系人,可选. */ protected Long ownerId; /** * 资源类型 */ protected Integer resourceType; /** * 资源id */ protected Long resourceId; /** * 事件的值栈 */ protected Map params; /** * 事件发布时间. */ protected Date publishTime = new Date(); /** * Constructs a prototypical Event. * * @param source The object on which the Event initially occurred. * @throws IllegalArgumentException if source is null. */ public BaseEvent(Object source) { super(source); } public BaseEvent(Object source, Long operatorId, Long ownerId, Integer resourceType, Long resourceId) { super(source); this.operatorId = operatorId; this.ownerId = ownerId; this.resourceType = resourceType; this.resourceId = resourceId; } public BaseEvent(Object source, Long operatorId, Long ownerId, Integer resourceType, Long resourceId, Map params) { super(source); this.operatorId = operatorId; this.ownerId = ownerId; this.resourceType = resourceType; this.resourceId = resourceId; this.params = params; } public Long getOwnerId() { return ownerId; } public void setOwnerId(Long ownerId) { this.ownerId = ownerId; } public Integer getResourceType() { return resourceType; } public void setResourceType(Integer resourceType) { this.resourceType = resourceType; } public Long getResourceId() { return resourceId; } public void setResourceId(Long resourceId) { this.resourceId = resourceId; } public Map getParams() { return params; } public void setParams(Map params) { this.params = params; } public Long getOperatorId() { return operatorId; } public void setOperatorId(Long operatorId) { this.operatorId = operatorId; } public Date getPublishTime() { return publishTime; } public void setPublishTime(Date publishTime) { this.publishTime = publishTime; } }