/*
 * =============================================================================
 * Projrct F-11 - Web SCADA for Java
 * Copyright (C) 2002-2010 Freedom, Inc. All Rights Reserved.
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 *
 */

package org.F11.scada.tool.attribute;

import java.io.Serializable;

/**
 * 属性テーブルのDtoです
 *
 * @author maekawa
 *
 */
public class Attribute implements Serializable {
	private static final long serialVersionUID = 2244832671549651026L;

	public static final String TABLE = "attribute_table";

	/** 属性ID */
	private Integer attribute;
	/** 属性名 */
	private String name;
	/** ON時アラーム色 */
	private String onAlarmColor;
	/** OFF時アラーム色 */
	private String offAlarmColor;
	/** ON時サマリー色 */
	private String onSummaryColor;
	/** OFF時サマリー色 */
	private String offSummaryColor;
	/** ON時プリンタ色 */
	private String onPrinterColor;
	/** OFF時プリンタ色 */
	private String offPrinterColor;
	/** 属性警報音タイプ */
	private Integer soundType;
	/** 確認動作タイプ */
	private Boolean checkType;
	/** サマリー登録モード */
	private Integer summaryMode;
	/** ヒストリー登録モード */
	private Integer historyMode;
	/** 履歴登録モード */
	private Integer careerMode;
	/** 最新情報欄表示モード */
	private Integer newInfoMode;
	/** プリンタ印字モード */
	private Boolean printerMode;
	/** チャタリング防止タイマー */
	private Integer chateringTimer;
	/** アラームタイプ名表示モード */
	private Boolean messageMode;

	/**
	 * 属性IDを取得します。
	 *
	 * @return 属性ID
	 */
	public Integer getAttribute() {
		return attribute;
	}

	/**
	 * 属性IDを設定します。
	 *
	 * @param attribute 属性ID
	 */
	public void setAttribute(Integer attribute) {
		this.attribute = attribute;
	}

	/**
	 * 属性名を取得します。
	 *
	 * @return 属性名
	 */
	public String getName() {
		return name;
	}

	/**
	 * 属性名を設定します。
	 *
	 * @param name 属性名
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * 属性警報音タイプを取得します。
	 *
	 * @return 属性警報音タイプ
	 */
	public Integer getSoundType() {
		return soundType;
	}

	/**
	 * 属性警報音タイプを設定します。
	 *
	 * @param soundType 属性警報音タイプ
	 */
	public void setSoundType(Integer soundType) {
		this.soundType = soundType;
	}

	/**
	 * ON時アラーム色を取得します。
	 *
	 * @return ON時アラーム色
	 */
	public String getOnAlarmColor() {
		return onAlarmColor;
	}

	/**
	 * ON時アラーム色を設定します。
	 *
	 * @param onAlarmColor ON時アラーム色
	 */
	public void setOnAlarmColor(String onAlarmColor) {
		this.onAlarmColor = onAlarmColor;
	}

	/**
	 * OFF時アラーム色を取得します。
	 *
	 * @return OFF時アラーム色
	 */
	public String getOffAlarmColor() {
		return offAlarmColor;
	}

	/**
	 * OFF時アラーム色を設定します。
	 *
	 * @param offAlarmColor OFF時アラーム色
	 */
	public void setOffAlarmColor(String offAlarmColor) {
		this.offAlarmColor = offAlarmColor;
	}

	/**
	 * ON時サマリー色を取得します。
	 *
	 * @return ON時サマリー色
	 */
	public String getOnSummaryColor() {
		return onSummaryColor;
	}

	/**
	 * ON時サマリー色を設定します。
	 *
	 * @param onSummaryColor ON時サマリー色
	 */
	public void setOnSummaryColor(String onSummaryColor) {
		this.onSummaryColor = onSummaryColor;
	}

	/**
	 * OFF時サマリー色を取得します。
	 *
	 * @return OFF時サマリー色
	 */
	public String getOffSummaryColor() {
		return offSummaryColor;
	}

	/**
	 * OFF時サマリー色を設定します。
	 *
	 * @param offSummaryColor OFF時サマリー色
	 */
	public void setOffSummaryColor(String offSummaryColor) {
		this.offSummaryColor = offSummaryColor;
	}

	/**
	 * ON時プリンタ色を取得します。
	 *
	 * @return ON時プリンタ色
	 */
	public String getOnPrinterColor() {
		return onPrinterColor;
	}

	/**
	 * ON時プリンタ色を設定します。
	 *
	 * @param onPrinterColor ON時プリンタ色
	 */
	public void setOnPrinterColor(String onPrinterColor) {
		this.onPrinterColor = onPrinterColor;
	}

	/**
	 * OFF時プリンタ色を取得します。
	 *
	 * @return OFF時プリンタ色
	 */
	public String getOffPrinterColor() {
		return offPrinterColor;
	}

	/**
	 * OFF時プリンタ色を設定します。
	 *
	 * @param offPrinterColor OFF時プリンタ色
	 */
	public void setOffPrinterColor(String offPrinterColor) {
		this.offPrinterColor = offPrinterColor;
	}

	/**
	 * 確認動作タイプを取得します。
	 *
	 * @return 確認動作タイプ
	 */
	public Boolean getCheckType() {
		return checkType;
	}

	/**
	 * 確認動作タイプを設定します。
	 *
	 * @param checkType 確認動作タイプ
	 */
	public void setCheckType(Boolean checkType) {
		this.checkType = checkType;
	}

	/**
	 * サマリー登録モードを取得します。
	 *
	 * @return サマリー登録モード
	 */
	public Integer getSummaryMode() {
		return summaryMode;
	}

	/**
	 * サマリー登録モードを設定します。
	 *
	 * @param summaryMode サマリー登録モード
	 */
	public void setSummaryMode(Integer summaryMode) {
		this.summaryMode = summaryMode;
	}

	/**
	 * ヒストリー登録モードを取得します。
	 *
	 * @return ヒストリー登録モード
	 */
	public Integer getHistoryMode() {
		return historyMode;
	}

	/**
	 * ヒストリー登録モードを設定します。
	 *
	 * @param historyMode ヒストリー登録モード
	 */
	public void setHistoryMode(Integer historyMode) {
		this.historyMode = historyMode;
	}

	/**
	 * 履歴登録モードを取得します。
	 *
	 * @return 履歴登録モード
	 */
	public Integer getCareerMode() {
		return careerMode;
	}

	/**
	 * 履歴登録モードを設定します。
	 *
	 * @param careerMode 履歴登録モード
	 */
	public void setCareerMode(Integer careerMode) {
		this.careerMode = careerMode;
	}

	/**
	 * 最新情報欄表示モードを取得します。
	 *
	 * @return 最新情報欄表示モード
	 */
	public Integer getNewInfoMode() {
		return newInfoMode;
	}

	/**
	 * 最新情報欄表示モードを設定します。
	 *
	 * @param newInfoMode 最新情報欄表示モード
	 */
	public void setNewInfoMode(Integer newInfoMode) {
		this.newInfoMode = newInfoMode;
	}

	/**
	 * プリンタ印字モードを取得します。
	 *
	 * @return プリンタ印字モード
	 */
	public Boolean getPrinterMode() {
		return printerMode;
	}

	/**
	 * プリンタ印字モードを設定します。
	 *
	 * @param printerMode プリンタ印字モード
	 */
	public void setPrinterMode(Boolean printerMode) {
		this.printerMode = printerMode;
	}

	/**
	 * チャタリング防止タイマーを取得します。
	 *
	 * @return チャタリング防止タイマー
	 */
	public Integer getChateringTimer() {
		return chateringTimer;
	}

	/**
	 * チャタリング防止タイマーを設定します。
	 *
	 * @param chateringTimer チャタリング防止タイマー
	 */
	public void setChateringTimer(Integer chateringTimer) {
		this.chateringTimer = chateringTimer;
	}

	/**
	 * アラームタイプ名表示モードを取得します。
	 *
	 * @return アラームタイプ名表示モード
	 */
	public Boolean getMessageMode() {
		return messageMode;
	}

	/**
	 * アラームタイプ名表示モードを設定します。
	 *
	 * @param messageMode アラームタイプ名表示モード
	 */
	public void setMessageMode(Boolean messageMode) {
		this.messageMode = messageMode;
	}

	public String toString() {
		return attribute
			+ " "
			+ name
			+ " "
			+ onAlarmColor
			+ " "
			+ offAlarmColor
			+ " "
			+ onSummaryColor
			+ " "
			+ offSummaryColor
			+ " "
			+ onPrinterColor
			+ " "
			+ offPrinterColor
			+ " "
			+ soundType
			+ " "
			+ checkType
			+ " "
			+ summaryMode
			+ " "
			+ historyMode
			+ " "
			+ careerMode
			+ " "
			+ newInfoMode
			+ " "
			+ printerMode
			+ " "
			+ chateringTimer
			+ " "
			+ messageMode;
	}
}
