package jp.ehobby.ui.gui.graph.model;

import java.awt.Color;


/**
 * デフォルト棒グラフモデル.
 * @author kei-n
 */
public class DefaultBarGraphModel implements BarGraphModelIf {

	/** データ名.		*/
	private final String dataName;

	/** データ.			*/
	private double[] allData;

	/** データラベル.	*/
	private String[] dataLabel;

	/** グラフの色.		*/
	private Color graphColor;


	/**
	 * 指定されたデータのモデルを構築します.
	 *
	 * @param name データ名
	 */
	public DefaultBarGraphModel(final String name) {
		this.dataName   = name;
		this.graphColor = null;
	}

	/**
	 * データを設定します.
	 *
	 * @param data データ
	 */
	public void setData(final double[] data) {
		this.allData = data;
	}


	/**
	 * データラベルを設定します.
	 *
	 * @param label ラベル
	 */
	public void setDataLabel(final String[] label) {
		this.dataLabel = label;
	}


	/**
	 * グラフの色を設定します.
	 *
	 * @param color 色
	 */
	public void setColor(final Color color) {
		this.graphColor = color;
	}


	@Override
	public String getDataName() {
		return this.dataName;
	}

	@Override
	public double getData(int index) {
		return this.allData[index];
	}

	@Override
	public String getDataLabel(int index) {
		if ((this.dataLabel != null) && (this.dataLabel[index] != null)) {
			return this.dataLabel[index];
		}
		return "";		//$NON-NLS-1$
	}

	@Override
	public int size() {
		return this.allData.length;
	}

	@Override
	public Color getColor() {
		return this.graphColor;
	}
}
