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 */
016 package org.opengion.fukurou.transfer;
017
018 import org.opengion.fukurou.db.Transaction;
019 import org.opengion.fukurou.util.ApplicationInfo;
020
021 /**
022 * 伝é?要求に対するの読取方法を定義するインターフェースですã?
023 *
024 * å�?®Ÿè£?‚¯ラスでは、読取å?ç�?@link #read(TransferConfig, Transaction)}
025 * 、完äº??ç�?@link #complete(TransferConfig, Transaction)}、エラー処ç�?@link #error(TransferConfig, ApplicationInfo)}を実è£?�™るå¿?¦�がありますã?
026 * サブクラスå†?ƒ¨で、DB関連の処ç�?‚’行う場合ã?、引数のTransactionオブジェクトを利用して下さã�??
027 * またã?接続に対するCommit/Rollbackは、呼び出しå?で行いますã?で、実行å?ç�??中では行わなã�?�§下さã�??
028 *
029 * またã?HTTP経由での実行などで、読取å?ç�?�¨そã?後ã?完äº?エラー処ç�?�§オブジェクトが同ä¸??なã�??合にã€?
030 * 外部から読取キーの取得及び設定を行うことができますã?
031 * 具体的には、{@link #read(TransferConfig, Transaction)}を実行後ã?{@link #getKeys()}を呼び出しすることで
032 * 終äº??ç�?�§処ç�?¯¾象となるキーæƒ??を取得することができますã?
033 * こã?キーæƒ??を保持しã?{@link #setKeys(String[])}で別オブジェクトに対してキーを設定することでã€?
034 * 完äº??ç�?@link #complete(TransferConfig, Transaction)}、エラー処ç�?@link #error(TransferConfig, ApplicationInfo)}
035 * を呼び出しすることができますã?
036 *
037 * @og.group 伝é?シスãƒ?ƒ
038 *
039 * @version 5.0
040 * @author Hiroki.Nakamura
041 * @since JDK1.6
042 */
043 public interface TransferRead {
044
045 /**
046 * 読取å?ç�?‚’実行し、結果をテキストデータの配å?として返しますã?
047 *
048 * @param config 伝é?設定オブジェクãƒ?
049 * @param tran トランザクションオブジェクãƒ?
050 *
051 * @return 読み取りしたãƒ??タ(配å?)
052 */
053 public String[] read( final TransferConfig config, final Transaction tran );
054
055 /**
056 * 更新キー(配å?)を返しますã?
057 *
058 * @return 更新キー(配å?)
059 */
060 public String[] getKeys();
061
062 /**
063 * 更新キー(配å?)をセãƒ?ƒˆしますã?
064 *
065 * @param keys 更新キー(配å?)
066 */
067 public void setKeys( final String[] keys );
068
069 /**
070 * 完äº??ç�?‚’実行しますã?
071 * こã?処ç�??実行方法で定義された実行å?ç�?�Œ正常終äº?�—たå?合に呼び出しされますã?
072 * 更新対象のキーにつã�?�¦は、{@link #setKeys(String[])}で外部からセãƒ?ƒˆすることもできますã?
073 *
074 * @param config 伝é?設定オブジェクãƒ?
075 * @param tran トランザクションオブジェクãƒ?
076 */
077 public void complete( final TransferConfig config, final Transaction tran );
078
079 /**
080 * エラー処ç�?‚’実行しますã?
081 * こã?処ç�??実行方法で定義された実行å?ç�?�Œ以上終äº?�—たå?合に呼び出しされますã?
082 * 更新対象のキーにつã�?�¦は、{@link #setKeys(String[])}で外部からセãƒ?ƒˆすることもできますã?
083 *
084 * @param config 伝é?設定オブジェクãƒ?
085 * @param appInfo DB接続情報
086 */
087 public void error( final TransferConfig config, final ApplicationInfo appInfo );
088 }