/*
 * 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.sample.jsf.util;

/**
 * ダウンロード情報クラス。
 */
public class BlancoJsfDownloadInfo {
    /**
     * フィールド: [ContentType]。
     * デフォルト: [application/octet-stream]。
     */
    private String fContentType = "application/octet-stream";

    /**
     * フィールド: [filename]。
     */
    private String fFilename;

    /**
     * フィールド: [attachment]。
     * デフォルト: [false]。
     */
    private boolean fAttachment = false;

    /**
     * フィールド [ContentType] の値を設定します。
     *
     * @param argContentType フィールド[ContentType]に設定する値。
     */
    public void setContentType(final String argContentType) {
        fContentType = argContentType;
    }

    /**
     * フィールド [ContentType] の値を取得します。
     *
     * デフォルト: [application/octet-stream]。
     *
     * @return フィールド[ContentType]から取得した値。
     */
    public String getContentType() {
        return fContentType;
    }

    /**
     * フィールド [filename] の値を設定します。
     *
     * @param argFilename フィールド[filename]に設定する値。
     */
    public void setFilename(final String argFilename) {
        fFilename = argFilename;
    }

    /**
     * フィールド [filename] の値を取得します。
     *
     * @return フィールド[filename]から取得した値。
     */
    public String getFilename() {
        return fFilename;
    }

    /**
     * フィールド [attachment] の値を設定します。
     *
     * @param argAttachment フィールド[attachment]に設定する値。
     */
    public void setAttachment(final boolean argAttachment) {
        fAttachment = argAttachment;
    }

    /**
     * フィールド [attachment] の値を取得します。
     *
     * デフォルト: [false]。
     *
     * @return フィールド[attachment]から取得した値。
     */
    public boolean getAttachment() {
        return fAttachment;
    }

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