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

import java.util.*;

/**
 * @version $Id: SICustomError.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 SICustomError {
  //エラーメッセージにパラメータのリスト
  private List paramList;
  //エラーのキー
  private String errorKey;

  /**
   * <b>SICustomError</b>
   * コンストラクタ
   * @param  lErrorKey エラーのキー
   * @return なし
   * @throws なし
   */
  public SICustomError(String lErrorKey) {
    this(lErrorKey,(List)null);
  }

  /**
   * <b>SICustomError</b>
   * コンストラクタ
   * @param  lErrorKey エラーのキー
   * @return lParamList エラーのパラメータのデータリスト
   * @throws なし
   */
  public SICustomError(String lErrorKey, List lParamList) {
    this.errorKey = lErrorKey;
    this.paramList = lParamList;
  }

  /**
   * <b>SICustomError</b>
   * コンストラクタ
   * @param  lErrorKey エラーのキー
   * @return lParam1 エラーの一番目のパラメータデータ
   * @throws なし
   */
  public SICustomError(String lErrorKey, String lParam1) {
    this(lErrorKey,lParam1,null);
  }

  /**
   * <b>SICustomError</b>
   * コンストラクタ
   * @param  lErrorKey エラーのキー
   * @return lParam1 エラーの一番目のパラメータデータ
   * @return lParam2 エラーの二番目のパラメータデータ
   * @throws なし
   */
  public SICustomError(String lErrorKey, String lParam1,String lParam2) {
    this(lErrorKey,lParam1,lParam2,null);
  }

  /**
   * <b>SICustomError</b>
   * コンストラクタ
   * @param  lErrorKey エラーのキー
   * @return lParam1 エラーの一番目のパラメータデータ
   * @return lParam2 エラーの二番目のパラメータデータ
   * @return lParam3 エラーの二番目のパラメータデータ
   * @throws なし
   */
  public SICustomError(String lErrorKey, String lParam1,String lParam2,String lParam3) {
    this(lErrorKey,lParam1,lParam2,lParam3,null);
  }

  /**
   * <b>SICustomError</b>
   * コンストラクタ
   * @param  lErrorKey エラーのキー
   * @return lParam1 エラーの一番目のパラメータデータ
   * @return lParam2 エラーの二番目のパラメータデータ
   * @return lParam3 エラーの二番目のパラメータデータ
   * @return lParam4 エラーの二番目のパラメータデータ
   * @throws なし
   */
  public SICustomError(String lErrorKey, String lParam1,String lParam2,String lParam3,String lParam4) {
    this.errorKey = lErrorKey;
    List lParamList=new ArrayList();
    lParamList.add(lParam1);
    lParamList.add(lParam2);
    lParamList.add(lParam3);
    lParamList.add(lParam4);
    this.paramList = lParamList;
  }

  /**
   * <b>getErrorKey</b>
   * エラーキーのデータを取得します。
   * @param  なし
   * @return エラーのキーのデータ
   * @throws なし
   */
  public String getErrorKey() {
    return errorKey;
  }

  /**
   * <b>getParamList</b>
   * このエラーのキーに対するパラメータのデータリストを取得します。
   * @param  なし
   * @return パラメータのデータリスト
   * @throws なし
   */
  public List getParamList() {
    return paramList;
  }
}
