/*
 * このソースコードは blanco Frameworkにより自動生成されました。
 */
package blanco.html.normalizer.parser.valueobject;

import java.util.List;

/**
 * HTMLの要素開始イベントをあらわすバリューオブジェクトです。
 */
public class BlancoHtmlEventStartElement extends BlancoHtmlEvent {
    /**
     * 名前。
     *
     * フィールド: [name]。
     */
    private String fName;

    /**
     * 属性。
     *
     * フィールド: [attrs]。
     * デフォルト: [new java.util.ArrayList<blanco.html.parser.valueobject.BlancoHtmlAttribute>()]。
     */
    private List<blanco.html.parser.valueobject.BlancoHtmlAttribute> fAttrs = new java.util.ArrayList<blanco.html.parser.valueobject.BlancoHtmlAttribute>();

    /**
     * この要素が空かどうか。
     *
     * フィールド: [isEmpty]。
     * デフォルト: [false]。
     */
    private boolean fIsEmpty = false;

    /**
     * この開始タグは終了タグとペアになっているかどうか。
     *
     * フィールド: [isPaired]。
     * デフォルト: [false]。
     */
    private boolean fIsPaired = false;

    /**
     * フィールド [name] の値を設定します。
     *
     * フィールドの説明: [名前。]。
     *
     * @param argName フィールド[name]に設定する値。
     */
    public void setName(final String argName) {
        fName = argName;
    }

    /**
     * フィールド [name] の値を取得します。
     *
     * フィールドの説明: [名前。]。
     *
     * @return フィールド[name]から取得した値。
     */
    public String getName() {
        return fName;
    }

    /**
     * フィールド [attrs] の値を設定します。
     *
     * フィールドの説明: [属性。]。
     *
     * @param argAttrs フィールド[attrs]に設定する値。
     */
    public void setAttrs(final List<blanco.html.parser.valueobject.BlancoHtmlAttribute> argAttrs) {
        fAttrs = argAttrs;
    }

    /**
     * フィールド [attrs] の値を取得します。
     *
     * フィールドの説明: [属性。]。
     * デフォルト: [new java.util.ArrayList<blanco.html.parser.valueobject.BlancoHtmlAttribute>()]。
     *
     * @return フィールド[attrs]から取得した値。
     */
    public List<blanco.html.parser.valueobject.BlancoHtmlAttribute> getAttrs() {
        return fAttrs;
    }

    /**
     * フィールド [isEmpty] の値を設定します。
     *
     * フィールドの説明: [この要素が空かどうか。]。
     *
     * @param argIsEmpty フィールド[isEmpty]に設定する値。
     */
    public void setIsEmpty(final boolean argIsEmpty) {
        fIsEmpty = argIsEmpty;
    }

    /**
     * フィールド [isEmpty] の値を取得します。
     *
     * フィールドの説明: [この要素が空かどうか。]。
     * デフォルト: [false]。
     *
     * @return フィールド[isEmpty]から取得した値。
     */
    public boolean getIsEmpty() {
        return fIsEmpty;
    }

    /**
     * フィールド [isPaired] の値を設定します。
     *
     * フィールドの説明: [この開始タグは終了タグとペアになっているかどうか。]。
     *
     * @param argIsPaired フィールド[isPaired]に設定する値。
     */
    public void setIsPaired(final boolean argIsPaired) {
        fIsPaired = argIsPaired;
    }

    /**
     * フィールド [isPaired] の値を取得します。
     *
     * フィールドの説明: [この開始タグは終了タグとペアになっているかどうか。]。
     * デフォルト: [false]。
     *
     * @return フィールド[isPaired]から取得した値。
     */
    public boolean getIsPaired() {
        return fIsPaired;
    }

    /**
     * このバリューオブジェクトの文字列表現を取得します。
     *
     * <P>使用上の注意</P>
     * <UL>
     * <LI>オブジェクトのシャロー範囲のみ文字列化の処理対象となります。
     * <LI>オブジェクトが循環参照している場合には、このメソッドは使わないでください。
     * </UL>
     *
     * @return バリューオブジェクトの文字列表現。
     */
    @Override
    public String toString() {
        final StringBuffer buf = new StringBuffer();
        buf.append("blanco.html.normalizer.parser.valueobject.BlancoHtmlEventStartElement[");
        buf.append("name=" + fName);
        buf.append(",attrs=" + fAttrs);
        buf.append(",isEmpty=" + fIsEmpty);
        buf.append(",isPaired=" + fIsPaired);
        buf.append("]");
        return buf.toString();
    }
}
