/**
 * Copyright (c) 2003-2004 System Integrator Corporation.
 *                 All Rights Reserved.
 */
package jp.co.sint.tools;

import java.util.*;
import org.apache.log4j.Category;
import jp.co.sint.basic.*;
import jp.co.sint.config.*;

/**
 * @version $Id: SIFlagUtil.java,v 1.0 2003/08/06 Exp $
 * @author     : Jinwang Chen
 * <br>Description: 全ての画面のラジオボタン用の設定情報がこのクラスに収められる。
 *               つまり、データベースの全てのフラグ用のデータ及び画面の表示ラベルは、
 *               ここにクラス化します。
 * <p>History</p>
 * <p>Author&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Date&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reason</p>
 * ============&nbsp;&nbsp;&nbsp;==========&nbsp;&nbsp;===========================<br>
 * J.W.Chen       2003/08/06  Original
 */

public class SIFlagUtil {
  //ログ用のインスタンスの生成
  private static Category log=Category.getInstance(SIConfig.SILOG4J_WEBSHOP_CATEGORY_NAME);

  public SIFlagUtil() {}

  /**
   * <b>getFlagColl</b>
   * 全ての画面に使われるフラグのコネクションをここに出力します。
   * @param lFlagInx フラグのindex
   * @return フラグのデータの集合
   * @throws なし
   */
  public static Collection getFlagColl(int lFlagInx){
    Collection lFlagColl=new ArrayList();
    for (int ii=0;ii<SIFlagConf.SIFLAG_NAME[lFlagInx].length ;ii++){
      lFlagColl.add(new SINameValue(SIFlagConf.SIFLAG_NAME[lFlagInx][ii][0],SIFlagConf.SIFLAG_NAME[lFlagInx][ii][1]));
    }
    return lFlagColl;
  }

  /**
   * <b>getFlagName</b>
   * フラグの値を基づいて、表示名を取得します。
   * @param lFlagInx フラグの集合を指すindex
   * @param lValue フラグの値
   * @return フラグの表示名
   * @throws なし
   */
  public static String getFlagName(int lFlagInx,String lValue){
    return SIUtil.getNameFromColl(getFlagColl(lFlagInx),lValue);
  }

  public static String getFlagName(int lFlagInx,int lValue){
    return getFlagName(lFlagInx,String.valueOf(lValue));
  }
  public static SINameValue getBlank(){
    return new SINameValue("選択してください","");
  }
  public static SINameValue getFullBlank(){
    return new SINameValue("","");
  }//7.3.0 PI-NES0501 追加

  public static String getFlagValueList(int lInx){
    StringBuffer lResBuf = new StringBuffer();
    String[][] lFlagList = SIFlagConf.SIFLAG_NAME[lInx];
    for(int ii=0;ii<lFlagList.length;ii++){
      lResBuf.append("「"+lFlagList[ii][1]+"」");
    }
    return lResBuf.toString();
  }

}