/**
 * @(#)ZCommand.java
 *
 * Copyright 2000 by Intelligent Technology Inc. All rights reserved.
 *
 * コマンド実行
 */
package jp.co.iti.fagot.util;

import java.io.File;

import java.util.Vector;
/**
 * ZCommandクラスはプロセス実行環境です。
 * @author  福島康治
 * @version 1.01 2000/10/12
 */
public class ZCommand {
	/**
	 * 唯一のコンストラクタです。
	 * @param szCommand コマンドライン
	 * @param szComment コメント
	 * @param szDir     作業ディレクトリ
	 */
	public ZCommand(String szCommand,String szComment,String szDir) {
	mCommand = szCommand;
	mComment = szComment;
	mEnvs    = new Vector();
	mDir     = szDir;
	}

	/**
	 * 環境変数を設定します
	 * @param szEnv   環境変数
	 * @param szValue 値
	 */
	public void addEnv( String szEnv, String szValue ) {
	mEnvs.add( szEnv + "=" + szValue );
	}

	/**
	 * コマンドラインを取得します
	 */
	public String getCommand() {
	return mCommand ;
	}

	/**
	 * 環境変数を取得します
	 */
	public String[] getEnv() {
	if ( mEnvs.size() == 0 ) {
		return ( null ) ;
	}
	String[] szEnvs = new String[mEnvs.size()];
	for ( int nIndex = 0 ; nIndex < mEnvs.size() ; nIndex ++ ) {
		szEnvs[nIndex] = (String) mEnvs.elementAt(nIndex);
	}
	return szEnvs ;
	}

	/**
	 * コメントを取得します
	 */
	public String getComment() {
	return mComment ;
	}

	/**
	 * 作業ディレクトリを取得します
	 */
	public File getDir() {
	if ( mDir == null ) {
		return null ;
	}
	return new File(mDir) ;
	}

	//## アトリビュート ###############################################
	/*
	 * コマンド
	 */
	private String mCommand;

	/*
	 * コメント
	 */
	private String mComment;

	/*
	 * 作業ディレクトリ
	 */
	private String mDir;

	/*
	 * 環境変数
	 */
	private Vector mEnvs;
}
