    001/*
    002 * Copyright (c) 2009 The openGion Project.
    003 *
    004 * Licensed under the Apache License, Version 2.0 (the "License");
    005 * you may not use this file except in compliance with the License.
    006 * You may obtain a copy of the License at
    007 *
    008 *     http://www.apache.org/licenses/LICENSE-2.0
    009 *
    010 * Unless required by applicable law or agreed to in writing, software
    011 * distributed under the License is distributed on an "AS IS" BASIS,
    012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
    013 * either express or implied. See the License for the specific language
    014 * governing permissions and limitations under the License.
    015 */
    016package org.opengion.hayabusa.report2;
    017
    018/**
    019 * 帳票処理のキューの処理方法を定義するインターフェースです。
    020 *
    021 * 帳票処理のオブジェクトから、このインターフェースを通じて、キューの生成方法及び終了
    022 * を操作することで、各振る舞いをこのインターフェースの実装クラスで定義することが可能になります。
    023 *
    024 * @og.group 帳票システム
    025 *
    026 * @version  4.0
    027 * @author   Hiroki.Nakamura
    028 * @since    JDK1.6
    029 */
    030public interface QueueManager {
    031
    032        /**
    033         * キューを作成します。
    034         * 作成したキューはOOoExecThread#stackQueueによりスタックして下さい。
    035         */
    036        void create();
    037
    038        /**
    039         * キューに帳票データをセットします。
    040         *
    041         * @param       queue   ExecQueueオブジェクト
    042         */
    043        void set( final ExecQueue queue );
    044
    045        /**
    046         * キューを実行中の状態に更新します。
    047         *
    048         * @param       queue   ExecQueueオブジェクト
    049         */
    050        void execute( final ExecQueue queue );
    051
    052        /**
    053         * キューを完了済の状態に更新します。
    054         *
    055         * @param       queue   ExecQueueオブジェクト
    056         */
    057        void complete( final ExecQueue queue );
    058
    059        /**
    060         * キューをエラーの状態に更新します。
    061         *
    062         * @param       queue   ExecQueueオブジェクト
    063         */
    064        void error( final ExecQueue queue );
    065}