/*
 * blanco Framework
 * Copyright (C) 2004-2009 IGA Tosiki
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 */
package blanco.jsf.valueobject;

import java.util.List;

/**
 * blancoJsf が自動生成するバッチ処理クラスの各種情報をあらわします。
 */
public class BlancoJsfProcessStructure {
    /**
     * JSFの基底IDを指定します。必須項目です。通常は画面IDとなります。
     *
     * フィールド: [name]。
     */
    private String fName;

    /**
     * initialize, view, action のいずれか。様式からは渡ってこない。プログラム的に決定している。
     *
     * フィールド: [type]。
     */
    private String fType;

    /**
     * メソッド名。
     *
     * フィールド: [method]。
     */
    private String fMethod;

    /**
     * メッセージ定義の説明を記載します。
     *
     * フィールド: [description]。
     */
    private String fDescription;

    /**
     * 画面フォワードの有無。
     *
     * フィールド: [forward]。
     * デフォルト: [false]。
     */
    private boolean fForward = false;

    /**
     * ダウンロードで利用。コンテンツ・タイプ。
     *
     * フィールド: [contentType]。
     */
    private String fContentType;

    /**
     * ActionEvent 利用の有無。
     *
     * フィールド: [actionEvent]。
     * デフォルト: [false]。
     */
    private boolean fActionEvent = false;

    /**
     * FacesMessage 利用の有無。
     *
     * フィールド: [facesMessage]。
     * デフォルト: [false]。
     */
    private boolean fFacesMessage = false;

    /**
     * FacesContext 利用の有無。
     *
     * フィールド: [facesContext]。
     * デフォルト: [false]。
     */
    private boolean fFacesContext = false;

    /**
     * bean一覧のリスト。
     *
     * フィールド: [beanList]。
     * デフォルト: [new java.util.ArrayList<blanco.jsf.valueobject.BlancoJsfProcessBeanItemStructure>()]。
     */
    private List<blanco.jsf.valueobject.BlancoJsfProcessBeanItemStructure> fBeanList = new java.util.ArrayList<blanco.jsf.valueobject.BlancoJsfProcessBeanItemStructure>();

    /**
     * SQL定義ID一覧のリスト。
     *
     * フィールド: [sqlList]。
     * デフォルト: [new java.util.ArrayList<blanco.jsf.valueobject.BlancoJsfProcessSqlItemStructure>();]。
     */
    private List<blanco.jsf.valueobject.BlancoJsfProcessSqlItemStructure> fSqlList = new java.util.ArrayList<blanco.jsf.valueobject.BlancoJsfProcessSqlItemStructure>();;

    /**
     * フィールド [name] の値を設定します。
     *
     * フィールドの説明: [JSFの基底IDを指定します。必須項目です。通常は画面IDとなります。]。
     *
     * @param argName フィールド[name]に設定する値。
     */
    public void setName(final String argName) {
        fName = argName;
    }

    /**
     * フィールド [name] の値を取得します。
     *
     * フィールドの説明: [JSFの基底IDを指定します。必須項目です。通常は画面IDとなります。]。
     *
     * @return フィールド[name]から取得した値。
     */
    public String getName() {
        return fName;
    }

    /**
     * フィールド [type] の値を設定します。
     *
     * フィールドの説明: [initialize, view, action のいずれか。様式からは渡ってこない。プログラム的に決定している。]。
     *
     * @param argType フィールド[type]に設定する値。
     */
    public void setType(final String argType) {
        fType = argType;
    }

    /**
     * フィールド [type] の値を取得します。
     *
     * フィールドの説明: [initialize, view, action のいずれか。様式からは渡ってこない。プログラム的に決定している。]。
     *
     * @return フィールド[type]から取得した値。
     */
    public String getType() {
        return fType;
    }

    /**
     * フィールド [method] の値を設定します。
     *
     * フィールドの説明: [メソッド名。]。
     *
     * @param argMethod フィールド[method]に設定する値。
     */
    public void setMethod(final String argMethod) {
        fMethod = argMethod;
    }

    /**
     * フィールド [method] の値を取得します。
     *
     * フィールドの説明: [メソッド名。]。
     *
     * @return フィールド[method]から取得した値。
     */
    public String getMethod() {
        return fMethod;
    }

    /**
     * フィールド [description] の値を設定します。
     *
     * フィールドの説明: [メッセージ定義の説明を記載します。]。
     *
     * @param argDescription フィールド[description]に設定する値。
     */
    public void setDescription(final String argDescription) {
        fDescription = argDescription;
    }

    /**
     * フィールド [description] の値を取得します。
     *
     * フィールドの説明: [メッセージ定義の説明を記載します。]。
     *
     * @return フィールド[description]から取得した値。
     */
    public String getDescription() {
        return fDescription;
    }

    /**
     * フィールド [forward] の値を設定します。
     *
     * フィールドの説明: [画面フォワードの有無。]。
     *
     * @param argForward フィールド[forward]に設定する値。
     */
    public void setForward(final boolean argForward) {
        fForward = argForward;
    }

    /**
     * フィールド [forward] の値を取得します。
     *
     * フィールドの説明: [画面フォワードの有無。]。
     * デフォルト: [false]。
     *
     * @return フィールド[forward]から取得した値。
     */
    public boolean getForward() {
        return fForward;
    }

    /**
     * フィールド [contentType] の値を設定します。
     *
     * フィールドの説明: [ダウンロードで利用。コンテンツ・タイプ。]。
     *
     * @param argContentType フィールド[contentType]に設定する値。
     */
    public void setContentType(final String argContentType) {
        fContentType = argContentType;
    }

    /**
     * フィールド [contentType] の値を取得します。
     *
     * フィールドの説明: [ダウンロードで利用。コンテンツ・タイプ。]。
     *
     * @return フィールド[contentType]から取得した値。
     */
    public String getContentType() {
        return fContentType;
    }

    /**
     * フィールド [actionEvent] の値を設定します。
     *
     * フィールドの説明: [ActionEvent 利用の有無。]。
     *
     * @param argActionEvent フィールド[actionEvent]に設定する値。
     */
    public void setActionEvent(final boolean argActionEvent) {
        fActionEvent = argActionEvent;
    }

    /**
     * フィールド [actionEvent] の値を取得します。
     *
     * フィールドの説明: [ActionEvent 利用の有無。]。
     * デフォルト: [false]。
     *
     * @return フィールド[actionEvent]から取得した値。
     */
    public boolean getActionEvent() {
        return fActionEvent;
    }

    /**
     * フィールド [facesMessage] の値を設定します。
     *
     * フィールドの説明: [FacesMessage 利用の有無。]。
     *
     * @param argFacesMessage フィールド[facesMessage]に設定する値。
     */
    public void setFacesMessage(final boolean argFacesMessage) {
        fFacesMessage = argFacesMessage;
    }

    /**
     * フィールド [facesMessage] の値を取得します。
     *
     * フィールドの説明: [FacesMessage 利用の有無。]。
     * デフォルト: [false]。
     *
     * @return フィールド[facesMessage]から取得した値。
     */
    public boolean getFacesMessage() {
        return fFacesMessage;
    }

    /**
     * フィールド [facesContext] の値を設定します。
     *
     * フィールドの説明: [FacesContext 利用の有無。]。
     *
     * @param argFacesContext フィールド[facesContext]に設定する値。
     */
    public void setFacesContext(final boolean argFacesContext) {
        fFacesContext = argFacesContext;
    }

    /**
     * フィールド [facesContext] の値を取得します。
     *
     * フィールドの説明: [FacesContext 利用の有無。]。
     * デフォルト: [false]。
     *
     * @return フィールド[facesContext]から取得した値。
     */
    public boolean getFacesContext() {
        return fFacesContext;
    }

    /**
     * フィールド [beanList] の値を設定します。
     *
     * フィールドの説明: [bean一覧のリスト。]。
     *
     * @param argBeanList フィールド[beanList]に設定する値。
     */
    public void setBeanList(final List<blanco.jsf.valueobject.BlancoJsfProcessBeanItemStructure> argBeanList) {
        fBeanList = argBeanList;
    }

    /**
     * フィールド [beanList] の値を取得します。
     *
     * フィールドの説明: [bean一覧のリスト。]。
     * デフォルト: [new java.util.ArrayList<blanco.jsf.valueobject.BlancoJsfProcessBeanItemStructure>()]。
     *
     * @return フィールド[beanList]から取得した値。
     */
    public List<blanco.jsf.valueobject.BlancoJsfProcessBeanItemStructure> getBeanList() {
        return fBeanList;
    }

    /**
     * フィールド [sqlList] の値を設定します。
     *
     * フィールドの説明: [SQL定義ID一覧のリスト。]。
     *
     * @param argSqlList フィールド[sqlList]に設定する値。
     */
    public void setSqlList(final List<blanco.jsf.valueobject.BlancoJsfProcessSqlItemStructure> argSqlList) {
        fSqlList = argSqlList;
    }

    /**
     * フィールド [sqlList] の値を取得します。
     *
     * フィールドの説明: [SQL定義ID一覧のリスト。]。
     * デフォルト: [new java.util.ArrayList<blanco.jsf.valueobject.BlancoJsfProcessSqlItemStructure>();]。
     *
     * @return フィールド[sqlList]から取得した値。
     */
    public List<blanco.jsf.valueobject.BlancoJsfProcessSqlItemStructure> getSqlList() {
        return fSqlList;
    }

    /**
     * このバリューオブジェクトの文字列表現を取得します。
     *
     * <P>使用上の注意</P>
     * <UL>
     * <LI>オブジェクトのシャロー範囲のみ文字列化の処理対象となります。
     * <LI>オブジェクトが循環参照している場合には、このメソッドは使わないでください。
     * </UL>
     *
     * @return バリューオブジェクトの文字列表現。
     */
    @Override
    public String toString() {
        final StringBuffer buf = new StringBuffer();
        buf.append("blanco.jsf.valueobject.BlancoJsfProcessStructure[");
        buf.append("name=" + fName);
        buf.append(",type=" + fType);
        buf.append(",method=" + fMethod);
        buf.append(",description=" + fDescription);
        buf.append(",forward=" + fForward);
        buf.append(",contentType=" + fContentType);
        buf.append(",actionEvent=" + fActionEvent);
        buf.append(",facesMessage=" + fFacesMessage);
        buf.append(",facesContext=" + fFacesContext);
        buf.append(",beanList=" + fBeanList);
        buf.append(",sqlList=" + fSqlList);
        buf.append("]");
        return buf.toString();
    }
}
