⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eventdata.java

📁 用JAVA实现排序等简单算法的演示
💻 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 + -