/*
 * 作成日: 2003/12/29
 *
 */
package openolap.viewer;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;

/**
 */
public class Dimension extends Axis implements Serializable {

	final private boolean isTimeDimension;	// 時間ディメンションかどうか
	final private boolean hasTotal;			// メンバーに合計値を含むか
	final private String dimensionSeq;		// DimensionSeq
	final private String partSeq;				// partSeq
	private String dispMemberNameType = null;	// メンバ名の表示タイプ（long_name, short_name）
	private HashMap selectedMemberDrillStat;	// セレクタで選択されたメンバとそのドリル状態を保持


	// 定数
	final public static String DISP_LONG_NAME = "long_name";
	final public static String DISP_SHORT_NAME = "short_name";	

	// ********** コンストラクタ **********
	public Dimension(String id, String name, String comment, ArrayList axisLevelList, String defaultMemberKey, boolean isMeasure, boolean isUsedSelecter, boolean isTimeDim, boolean hasTotal, String dimensionSeq, String partSeq) {
		super(id, name, comment, axisLevelList, defaultMemberKey, isMeasure, isUsedSelecter);
		this.isTimeDimension = isTimeDim;
		this.hasTotal = hasTotal;
		this.dimensionSeq = dimensionSeq;
		this.partSeq = partSeq;

		this.dispMemberNameType = Dimension.DISP_SHORT_NAME;
		this.selectedMemberDrillStat = new HashMap();

	}

	// ********** メソッド **********



	// ********** Setter メソッド **********

	public void setDispMemberNameType(String string) {
		this.dispMemberNameType = string;
	}
	public void setSelectedMemberDrillStat(HashMap map) {
		selectedMemberDrillStat = map;
	}

	// ********** Getter メソッド **********

	public String getDispMemberNameType() {
		return dispMemberNameType;
	}
	public boolean isTimeDimension() {
		return isTimeDimension;
	}
	public boolean hasTotal() {
		return hasTotal;
	}
	public String getDimensionSeq() {
		return dimensionSeq;
	}
	public String getPartSeq() {
		return partSeq;
	}
	public HashMap getSelectedMemberDrillStat() {
		return selectedMemberDrillStat;
	}

}
