/*
 * このソースコードは blanco Frameworkによって自動生成されています。
 * blancoMailCore ライブラリのPOJOクラスです。
 */
package blanco.mail.core.valueobject;

/**
 * メールの統計統計をあらわすバリューオブジェクト。
 */
public class BlancoMailStatistics {
    /**
     * フィールド [SEND_COUNT]
     *
     * 項目の型 [int]<br>
     * 規定値   [0]<br>
     * 送信件数。(送信エラーを除く)
     */
    private int fSendCount = 0;

    /**
     * フィールド [RECEIVE_COUNT]
     *
     * 項目の型 [int]<br>
     * 規定値   [0]<br>
     * 受信件数。受信対象となるメールを受信し、メールサーバからメールが削除されたものの件数。(受信エラーを除く)
     */
    private int fReceiveCount = 0;

    /**
     * フィールド [RECEIVE_WITHOUT_PROCESS_COUNT]
     *
     * 項目の型 [int]<br>
     * 規定値   [0]<br>
     * 処理を伴わない受信件数。(メールが1件も無い場合や、Subjectマッチング外やサイズオーバーなどで処理対象外で 1件も受信処理が発生しなかった場合など。受信エラーも除く)
     */
    private int fReceiveWithoutProcessCount = 0;

    /**
     * フィールド [SEND_ERROR_COUNT]
     *
     * 項目の型 [int]<br>
     * 規定値   [0]<br>
     * 送信エラーの件数。(通信を伴ったエラーのみ。入力チェックエラーは除く)
     */
    private int fSendErrorCount = 0;

    /**
     * フィールド [RECEIVE_ERROR_COUNT]
     *
     * 項目の型 [int]<br>
     * 規定値   [0]<br>
     * 受信エラーの件数。(通信を伴ったエラーのみ。入力チェックエラーは除く)
     */
    private int fReceiveErrorCount = 0;

    /**
     * フィールド [SEND_TIME]
     *
     * 項目の型 [long]<br>
     * 規定値   [0]<br>
     * 送信時間 (ミリ秒) (サーバとの間の通信を伴った時間。正常系、異常系の両方を含む)
     */
    private long fSendTime = 0;

    /**
     * フィールド [RECEIVE_TIME]
     *
     * 項目の型 [long]<br>
     * 規定値   [0]<br>
     * 受信時間 (ミリ秒) (サーバとの間の通信を伴った時間。正常系、異常系の両方を含む)
     */
    private long fReceiveTime = 0;

    /**
     * フィールド [SEND_SIZE]
     *
     * 項目の型 [long]<br>
     * 規定値   [0]<br>
     * 送信サイズ (本文＋添付ファイルのバイト数) ※実際のメールサイズではありません。
     */
    private long fSendSize = 0;

    /**
     * フィールド [RECEIVE_SIZE]
     *
     * 項目の型 [long]<br>
     * 規定値   [0]<br>
     * 受信サイズ (sizeメソッドで取得できるサイズ)
     */
    private long fReceiveSize = 0;

    /**
     * フィールド [SEND_COUNT]のセッターメソッド
     *
     * 項目の型 [int]<br>
     * 送信件数。(送信エラーを除く)
     *
     * @param argSendCount フィールド[SEND_COUNT]に格納したい値
     */
    public void setSendCount(final int argSendCount) {
        fSendCount = argSendCount;
    }

    /**
     * フィールド[SEND_COUNT]のゲッターメソッド
     *
     * 項目の型 [int]<br>
     * 規定値   [0]<br>
     * 送信件数。(送信エラーを除く)
     *
     * @return フィールド[SEND_COUNT]に格納されている値
     */
    public int getSendCount() {
        return fSendCount;
    }

    /**
     * フィールド [RECEIVE_COUNT]のセッターメソッド
     *
     * 項目の型 [int]<br>
     * 受信件数。受信対象となるメールを受信し、メールサーバからメールが削除されたものの件数。(受信エラーを除く)
     *
     * @param argReceiveCount フィールド[RECEIVE_COUNT]に格納したい値
     */
    public void setReceiveCount(final int argReceiveCount) {
        fReceiveCount = argReceiveCount;
    }

    /**
     * フィールド[RECEIVE_COUNT]のゲッターメソッド
     *
     * 項目の型 [int]<br>
     * 規定値   [0]<br>
     * 受信件数。受信対象となるメールを受信し、メールサーバからメールが削除されたものの件数。(受信エラーを除く)
     *
     * @return フィールド[RECEIVE_COUNT]に格納されている値
     */
    public int getReceiveCount() {
        return fReceiveCount;
    }

    /**
     * フィールド [RECEIVE_WITHOUT_PROCESS_COUNT]のセッターメソッド
     *
     * 項目の型 [int]<br>
     * 処理を伴わない受信件数。(メールが1件も無い場合や、Subjectマッチング外やサイズオーバーなどで処理対象外で 1件も受信処理が発生しなかった場合など。受信エラーも除く)
     *
     * @param argReceiveWithoutProcessCount フィールド[RECEIVE_WITHOUT_PROCESS_COUNT]に格納したい値
     */
    public void setReceiveWithoutProcessCount(final int argReceiveWithoutProcessCount) {
        fReceiveWithoutProcessCount = argReceiveWithoutProcessCount;
    }

    /**
     * フィールド[RECEIVE_WITHOUT_PROCESS_COUNT]のゲッターメソッド
     *
     * 項目の型 [int]<br>
     * 規定値   [0]<br>
     * 処理を伴わない受信件数。(メールが1件も無い場合や、Subjectマッチング外やサイズオーバーなどで処理対象外で 1件も受信処理が発生しなかった場合など。受信エラーも除く)
     *
     * @return フィールド[RECEIVE_WITHOUT_PROCESS_COUNT]に格納されている値
     */
    public int getReceiveWithoutProcessCount() {
        return fReceiveWithoutProcessCount;
    }

    /**
     * フィールド [SEND_ERROR_COUNT]のセッターメソッド
     *
     * 項目の型 [int]<br>
     * 送信エラーの件数。(通信を伴ったエラーのみ。入力チェックエラーは除く)
     *
     * @param argSendErrorCount フィールド[SEND_ERROR_COUNT]に格納したい値
     */
    public void setSendErrorCount(final int argSendErrorCount) {
        fSendErrorCount = argSendErrorCount;
    }

    /**
     * フィールド[SEND_ERROR_COUNT]のゲッターメソッド
     *
     * 項目の型 [int]<br>
     * 規定値   [0]<br>
     * 送信エラーの件数。(通信を伴ったエラーのみ。入力チェックエラーは除く)
     *
     * @return フィールド[SEND_ERROR_COUNT]に格納されている値
     */
    public int getSendErrorCount() {
        return fSendErrorCount;
    }

    /**
     * フィールド [RECEIVE_ERROR_COUNT]のセッターメソッド
     *
     * 項目の型 [int]<br>
     * 受信エラーの件数。(通信を伴ったエラーのみ。入力チェックエラーは除く)
     *
     * @param argReceiveErrorCount フィールド[RECEIVE_ERROR_COUNT]に格納したい値
     */
    public void setReceiveErrorCount(final int argReceiveErrorCount) {
        fReceiveErrorCount = argReceiveErrorCount;
    }

    /**
     * フィールド[RECEIVE_ERROR_COUNT]のゲッターメソッド
     *
     * 項目の型 [int]<br>
     * 規定値   [0]<br>
     * 受信エラーの件数。(通信を伴ったエラーのみ。入力チェックエラーは除く)
     *
     * @return フィールド[RECEIVE_ERROR_COUNT]に格納されている値
     */
    public int getReceiveErrorCount() {
        return fReceiveErrorCount;
    }

    /**
     * フィールド [SEND_TIME]のセッターメソッド
     *
     * 項目の型 [long]<br>
     * 送信時間 (ミリ秒) (サーバとの間の通信を伴った時間。正常系、異常系の両方を含む)
     *
     * @param argSendTime フィールド[SEND_TIME]に格納したい値
     */
    public void setSendTime(final long argSendTime) {
        fSendTime = argSendTime;
    }

    /**
     * フィールド[SEND_TIME]のゲッターメソッド
     *
     * 項目の型 [long]<br>
     * 規定値   [0]<br>
     * 送信時間 (ミリ秒) (サーバとの間の通信を伴った時間。正常系、異常系の両方を含む)
     *
     * @return フィールド[SEND_TIME]に格納されている値
     */
    public long getSendTime() {
        return fSendTime;
    }

    /**
     * フィールド [RECEIVE_TIME]のセッターメソッド
     *
     * 項目の型 [long]<br>
     * 受信時間 (ミリ秒) (サーバとの間の通信を伴った時間。正常系、異常系の両方を含む)
     *
     * @param argReceiveTime フィールド[RECEIVE_TIME]に格納したい値
     */
    public void setReceiveTime(final long argReceiveTime) {
        fReceiveTime = argReceiveTime;
    }

    /**
     * フィールド[RECEIVE_TIME]のゲッターメソッド
     *
     * 項目の型 [long]<br>
     * 規定値   [0]<br>
     * 受信時間 (ミリ秒) (サーバとの間の通信を伴った時間。正常系、異常系の両方を含む)
     *
     * @return フィールド[RECEIVE_TIME]に格納されている値
     */
    public long getReceiveTime() {
        return fReceiveTime;
    }

    /**
     * フィールド [SEND_SIZE]のセッターメソッド
     *
     * 項目の型 [long]<br>
     * 送信サイズ (本文＋添付ファイルのバイト数) ※実際のメールサイズではありません。
     *
     * @param argSendSize フィールド[SEND_SIZE]に格納したい値
     */
    public void setSendSize(final long argSendSize) {
        fSendSize = argSendSize;
    }

    /**
     * フィールド[SEND_SIZE]のゲッターメソッド
     *
     * 項目の型 [long]<br>
     * 規定値   [0]<br>
     * 送信サイズ (本文＋添付ファイルのバイト数) ※実際のメールサイズではありません。
     *
     * @return フィールド[SEND_SIZE]に格納されている値
     */
    public long getSendSize() {
        return fSendSize;
    }

    /**
     * フィールド [RECEIVE_SIZE]のセッターメソッド
     *
     * 項目の型 [long]<br>
     * 受信サイズ (sizeメソッドで取得できるサイズ)
     *
     * @param argReceiveSize フィールド[RECEIVE_SIZE]に格納したい値
     */
    public void setReceiveSize(final long argReceiveSize) {
        fReceiveSize = argReceiveSize;
    }

    /**
     * フィールド[RECEIVE_SIZE]のゲッターメソッド
     *
     * 項目の型 [long]<br>
     * 規定値   [0]<br>
     * 受信サイズ (sizeメソッドで取得できるサイズ)
     *
     * @return フィールド[RECEIVE_SIZE]に格納されている値
     */
    public long getReceiveSize() {
        return fReceiveSize;
    }

    /**
     * このバリューオブジェクトの文字列表現を取得します。
     *
     * オブジェクトのシャロー範囲でしかtoStringされない点に注意して利用してください。
     *
     * @return バリューオブジェクトの文字列表現。
     */
    public String toString() {
        final StringBuffer buf = new StringBuffer();
        buf.append("blanco.mail.core.valueobject.BlancoMailStatistics[");
        buf.append("SEND_COUNT=" + fSendCount);
        buf.append(",RECEIVE_COUNT=" + fReceiveCount);
        buf.append(",RECEIVE_WITHOUT_PROCESS_COUNT=" + fReceiveWithoutProcessCount);
        buf.append(",SEND_ERROR_COUNT=" + fSendErrorCount);
        buf.append(",RECEIVE_ERROR_COUNT=" + fReceiveErrorCount);
        buf.append(",SEND_TIME=" + fSendTime);
        buf.append(",RECEIVE_TIME=" + fReceiveTime);
        buf.append(",SEND_SIZE=" + fSendSize);
        buf.append(",RECEIVE_SIZE=" + fReceiveSize);
        buf.append("]");
        return buf.toString();
    }
}
