/*
 * blancoStruts 内で利用されるバリデーション例外の基底クラス。
 * ※このクラスはblancoStrutsの自動生成の対象ではありません。
 * @since 2005/04/08
 */
package blanco.struts.exception;

import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;

/**
 * blancoStruts <br>
 * blancoStruts内で発生するバリデーション例外の基底クラス。 <br>
 * ※このクラスはblancoStrutsの自動生成の対象ではありません。
 * 
 * @since 2005/04/08
 * @author HiromuUchibayashi
 */
public class ValidateException extends Exception {

    /**
     * Struts ActionErrorsを内部的に保持します。
     */
    private ActionErrors _errors = new ActionErrors();

    /**
     * バリデーション例外の基底クラス インスタンスが保持する ActionErrorsを取得します。
     * 
     * @return ActionErrorsを戻します。
     */
    public ActionErrors getActionErrors() {
        return _errors;
    }

    /**
     * バリデーション例外の基底クラス インスタンスを生成します。
     * 
     * @param message
     *            メッセージ
     * @param errors
     *            ActionErrorsを指定
     */
    public ValidateException(String message, ActionErrors errors) {
        super(message);
        _errors = errors;
    }

    /**
     * バリデーション例外の基底クラス インスタンスを生成します。
     * 
     * @param errors
     *            ActionErrorsを指定
     */
    public ValidateException(ActionErrors errors) {
        _errors = errors;
    }

    /**
     * バリデーション例外の基底クラス インスタンスを生成します。
     * 
     * @param error
     *            ActionErrorを指定
     */
    public ValidateException(ActionError error) {
        ActionErrors errors = new ActionErrors();
        errors.add("", error);
        _errors = errors;
    }

    /**
     * バリデーション例外の基底クラス インスタンスを生成します。
     * 
     * @param messageId
     *            エラーのメッセージIDを指定します。
     */
    public ValidateException(String messageId) {
        ActionErrors errors = new ActionErrors();
        errors.add("", new ActionError(messageId));
        _errors = errors;
    }
}
