RuntimeStatusEvent.java 1.36 KB
package com.zhaoonline.support.gateway.listener;

import java.util.HashMap;
import java.util.Map;

public class RuntimeStatusEvent implements GWEvent {

	
	public static final String KEY_END_TIMESTAMP = "END_TIMESTAMP";
	public static final String KEY_START_TIMESTAMP = "START_TIMESTAMP";
	public static final String KEY_STATUS_CODE = "STATUS_CODE";
	private  Map<String, Object> info =new HashMap<String, Object>();
	
	@Override
	public String getTag() {
		return GWEventConstants.EVENTNAME_RUNTIME_STATUS;
	}

	@Override
	public String getGroup() {
		return GWEventConstants.EVENT_TYPE_STAT;
	}

	@Override
	public Map<String, Object> getEventSource() {
		return info;
	}
	
	public void addEventSource(Map<String, Object> info){
		info.putAll(info);
	}
	
	public static RuntimeStatusEvent build(){
		return new RuntimeStatusEvent();
	}

	
	public RuntimeStatusEvent setStatusCode(String code){
		info.put(KEY_STATUS_CODE, code);
		return this;
	}
	
	public RuntimeStatusEvent setStartTimestamp(Long start){
		info.put(KEY_START_TIMESTAMP, start);
		return this;
	}
	
	public RuntimeStatusEvent setEndTimestamp(Long  end){
		info.put(KEY_END_TIMESTAMP, end);
		return this;
	}

	public RuntimeStatusEvent start() {
		setStartTimestamp(System.currentTimeMillis());
		return this;
	}
	
	public RuntimeStatusEvent end(){
		setEndTimestamp(System.currentTimeMillis());
		return this;
	}
	
	
	
}