/**
 * 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: SIManSortUtil.java,v 1.0 2003/07/25 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/07/25  Original
 */

public class SIManSortUtil {

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

  /**
   * <b>SIManSortUtil</b>
   * コンストラクタ
   * @param なし
   * @return なし
   * @throws なし
   */
  public SIManSortUtil(){}

  /**
   * <b>getSortColl</b>
   * 管理画面に並び順のスクリプトを出力する前に、データリストの並び順の項目を
   * コネンクションに入れて、タグにわたります。
   * @param lSortInx ソース順の集合を指すindexの値
   * @return 並び順のコネクション(comboxに使う表示名とデータのpair)
   * @throws なし
   */
  public static Collection getSortColl(int lSortInx){
    Collection lSortColl=new ArrayList();
    for (int ii=0;ii<SISortConf.SIMAN_SORT_NAME[lSortInx].length ;ii++){
      lSortColl.add(new SINameValue(SISortConf.SIMAN_SORT_NAME[lSortInx][ii][0],SISortConf.SIMAN_SORT_NAME[lSortInx][ii][1]));
    }
    return lSortColl;
  }

  /**
   * <b>getSortName</b>
   * ソート順のコネンクションから、選択した値を元に、画面の表示のラベルの文字を求めて、返し
   * @param lSortInx ソートの集合を指すindexの値
   * @param lValue ソート順の項目名
   * @return ソート項目名の表示名
   * @throws なし
   */
  public static String getSortName(int lSortInx,String lValue){
    return SIUtil.getNameFromColl(getSortColl(lSortInx),lValue);
  }

  public static String getSortName(int lSortInx,int lValue){
    return getSortName(lSortInx,String.valueOf(lValue));
  }

  /**
   * <b>getFrontSortItem</b>
   * 画面から選択した表示順の番号により、表示順のSQL文を作成する
   * @param orderNo 表示順の番号
   * @return 表示順のSQL文
   * @throws なし
   */
  public static String getFrontSortCmdtyItem(String lIndex){
    return SISortConf.SIFRONT_SORT_CMDTY_ITEM_FLAG[Integer.parseInt(lIndex)][0];
  }

  /**
   * <b>getFrontSortItem</b>
   * 画面から選択した表示順の番号により、表示順のSQL文を作成する
   * @param orderNo 表示順の番号
   * @return 表示順のSQL文
   * @throws なし
   */
  public static String getFrontSortCmdtyFlag(String lIndex){
    return SISortConf.SIFRONT_SORT_CMDTY_ITEM_FLAG[Integer.parseInt(lIndex)][1];
  }
}