📄 eventdata.java
字号:
package contextsModelManager;
import java.util.*;
import contextsPoolManager.ContextData;
/**
* 保存事件信息的类
* @author carlven
*
*/
public class EventData {
public static final int DATA_EVENT = 0; // 与数据有关的事件
public static final int ACTION_EVENT = 1; // 与动作有关的事件
private int eventType = ACTION_EVENT; // 事件的类型
private String eventName = null; // 事件名
private String sourceClassName = null; // 触发事件的类名
private String sourceFieldName = null; // 触发事件的域名(方法名或属性名)
private String eventTime = null; // 触发事件的时间
private String eventRefer = null; // 触发事件时间的参照
private ArrayList<ContextData> metaContextList = null; // 与事件有关的上下文信息
public EventData() {
metaContextList = new ArrayList<ContextData>(4);
}
/**
* 返回事件名
*/
public String getEventName() {
return eventName;
}
/**
* 设置事件名
*/
public void setEventName(String eventName) {
this.eventName = eventName;
}
/**
* 返回触发事件时间的参照
*/
public String getEventRefer() {
return eventRefer;
}
/**
* 设置触发事件时间的参照
*/
public void setEventRefer(String eventRefer) {
this.eventRefer = eventRefer;
}
/**
* 返回触发事件的时间
*/
public String getEventTime() {
return eventTime;
}
/**
* 设置触发事件的时间
*/
public void setEventTime(String eventTime) {
this.eventTime = eventTime;
}
/**
* 返回事件的类型
*/
public int getEventType() {
return eventType;
}
/**
* 设置事件的类型
*/
public void setEventType(int eventType) {
this.eventType = eventType;
}
/**
* 返回触发事件的类名
*/
public String getSourceClassName() {
return sourceClassName;
}
/**
* 设置触发事件的类名
*/
public void setSourceClassName(String sourceClassName) {
this.sourceClassName = sourceClassName;
}
/**
* 返回触发事件的域名
*/
public String getSourceFieldName() {
return sourceFieldName;
}
/**
* 设置触发事件的域名
*/
public void setSourceFieldName(String sourceFieldName) {
this.sourceFieldName = sourceFieldName;
}
/**
* 返回与事件相关的上下文信息对个数
*/
public int getMetaContextNum() {
return metaContextList.size();
}
/**
* 返回与事件相关的上下文中下标为 index 的信息对,这可遍历所有的信息对
*/
public ContextData getMetaContextData(int index) {
return metaContextList.get(index);
}
/**
* 添加与事件相关的上下文信息对,包括名字与类型
* @throws ContextModelException 信息名为空时抛出该类型的异常
*/
public void addMetaContextData(String name, String type) throws ContextModelException {
if (name == null) throw new ContextModelException("Incorrect Meta Context Infomation!");
metaContextList.add(new ContextData(name, type));
}
/**
* 转换为字符串,方便调试和测试
*/
public String toString() {
StringBuffer result = new StringBuffer("Event: " + eventName + ", class: " + sourceClassName + ", field: " + sourceFieldName);
if (eventType == DATA_EVENT) result.append(" is a data event: \n");
else result.append(" is a action event: \n");
if (metaContextList.size() > 0) result.append(" context data: [");
for (int index = 0; index < metaContextList.size(); index++) {
ContextData contextData = metaContextList.get(index);
result.append("(" + contextData.getName() + ", " + contextData.getType() + ") ");
}
if (metaContextList.size() > 0) result.append("]\n");
else result.append(" No context data!\n");
return result.toString();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -