package com.interpress_project.modernshare.client.events;

import java.util.EventObject;

/**
 * イベントオブジェクトの実装 属性を持たせる場合は、immutableなオブジェクトとすること。 
 * イミュータブルオブジェクトは以下の方針で実装。
 * 
 * - 属性値はコンストラクタでのみ設定 
 * - 属性値の参照メソッドを実装 
 * - 属性値の更新メソッドは実装しない 
 * - 属性値を格納するオブジェクト変数はpublicにしない
 */
@SuppressWarnings("serial")
public class LocalViewEvent extends EventObject {
	private String message = null;
	private ViewEventType type;

	/**
	 * ViewEvent
	 * @param source
	 * @param type
	 */
	public LocalViewEvent(Object source, ViewEventType type) {
		super(source);
		
		this.type = type;
	}

	/**
	 * ViewEvent
	 * @param source
	 * @param message
	 * @param type
	 */
	public LocalViewEvent(Object source, String message, ViewEventType type) {
		super(source);
		
		this.message = message;
		this.type = type;
	}

	/**
	 * getMessage
	 * 
	 * @return
	 */
	public java.lang.String getMessage() {
		return message;
	}

	/**
	 * ViewEventType
	 * @return
	 */
	public ViewEventType getViewEventType() {
		return type;
	}
}
