Scheduler.java 3.51 KB
package com.sitech.schedule;

import java.util.Date;
import java.util.HashMap;

import com.sitech.ismp.messageObject.AgentSyncObject;

public class Scheduler {
	private String agentId;

	private String mbeanId;

	private String objectName;

	private String className;

	private String scheduleId;

	private String function;

	private Date beginTime;

	private Date endTime;

	private int repeatCount;

	private long interval;

	private String crontab;

	private HashMap<String, String> params;

	public Scheduler(AgentSyncObject obj) {
		this.agentId = obj.getAgentId();
		this.mbeanId = obj.getMbeanId();
		this.objectName = obj.getObjectName();
		this.className = obj.getClassName();
		this.scheduleId = obj.getScheduleId();
		this.function = obj.getFunction();
		this.beginTime = obj.getBeginTime();
		this.endTime = obj.getEndTime();
		this.repeatCount = obj.getRepeatCount();
		this.interval = obj.getInterval();
		this.crontab = obj.getCrontab();
		this.params = obj.getParams();
	}

	public String toString() {
		return "OBJECT_NAME={" + objectName + "},CLASS_NAME={" + className
				+ "},SCHEDULE_ID={" + scheduleId + "},FUNCTION={" + function
				+ "},INTERVAL{" + interval + "},CRONTAB={" + crontab
				+ "},PARAMS=" + params.toString();
	}

	public Scheduler() {
	}

	public boolean equals(Scheduler scheduler) {
		if (scheduler == null) {
			return false;
		}

		try {
			if (!scheduler.getObjectName().equals(this.objectName)) {
				return false;
			}

			if (!scheduler.getClassName().equals(this.className)) {
				return false;
			}

			if (!scheduler.getFunction().equals(this.function)) {
				return false;
			}

			if (scheduler.getInterval() != this.interval) {
				return false;
			}

			for (String key : scheduler.getParams().keySet()) {
				if (this.params.get(key) == null
						|| !this.params.get(key).equals(
								scheduler.getParams().get(key))) {
					return false;
				}
			}

			return true;
		} catch (Exception e) {
			return false;
		}
	}

	public String getAgentId() {
		return agentId;
	}

	public void setAgentId(String agentId) {
		this.agentId = agentId;
	}

	public String getMbeanId() {
		return mbeanId;
	}

	public void setMbeanId(String mbeanId) {
		this.mbeanId = mbeanId;
	}

	public String getObjectName() {
		return objectName;
	}

	public void setObjectName(String objectName) {
		this.objectName = objectName;
	}

	public String getClassName() {
		return className;
	}

	public void setClassName(String className) {
		this.className = className;
	}

	public String getScheduleId() {
		return scheduleId;
	}

	public void setScheduleId(String scheduleId) {
		this.scheduleId = scheduleId;
	}

	public String getFunction() {
		return function;
	}

	public void setFunction(String function) {
		this.function = function;
	}

	public Date getBeginTime() {
		return beginTime;
	}

	public void setBeginTime(Date beginTime) {
		this.beginTime = beginTime;
	}

	public Date getEndTime() {
		return endTime;
	}

	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}

	public int getRepeatCount() {
		return repeatCount;
	}

	public void setRepeatCount(int repeatCount) {
		this.repeatCount = repeatCount;
	}

	public long getInterval() {
		return interval;
	}

	public void setInterval(long interval) {
		this.interval = interval;
	}

	public String getCrontab() {
		return crontab == null ? "" : crontab;
	}

	public void setCrontab(String crontab) {
		this.crontab = crontab;
	}

	public HashMap<String, String> getParams() {
		return params;
	}

	public void setParams(HashMap<String, String> params) {
		this.params = params;
	}

}