openGionopenGion
5.8.3.0

org.opengion.fukurou.util
クラス AbstractConnect

java.lang.Object
  上位を拡張 org.opengion.fukurou.util.AbstractConnect
すべての実装されたインタフェース:
ConnectIF
直系の既知のサブクラス:
FTPConnect, SFTPConnect, SMBConnect

public abstract class AbstractConnect
extends Object
implements ConnectIF

AbstractConnect.java は、共通的に使用される ファイル伝送関連の基本機能を実装した、Abstractクラスです。 -host=サーバー -user=ユーザー -passwd=パスワード -remoteFile=接続先のファイル名 を必須設定します。 -localFile=ローカルのファイル名は、必須ではありませんが、-command=DEL の場合にのみ不要であり、 それ以外の command の場合は、必要です。 -command=[GET/PUT/DEL/GETDIR/PUTDIR/DELDIR] は、サーバーに対しての処理の方法を指定します。 GET:サーバーからローカルにファイル転送します(初期値) PUT:ローカルファイルをサーバーに PUT(STORE、SAVE、UPLOAD、などと同意語)します。 DEL:サーバーの指定のファイルを削除します。この場合のみ、-localFile 属性の指定は不要です。 GETDIR,PUTDIR,DELDIR:指定のフォルダ以下のファイルを処理します。 -mkdirs=[true/false] は、受け側のファイル(GET時:LOCAL、PUT時:サーバー)に取り込むファイルのディレクトリが 存在しない場合に、作成するかどうかを指定します(初期値:true) 通常、サーバーに、フォルダ階層を作成してPUTする場合、動的にフォルダ階層を作成したいケースで便利です。 逆に、フォルダは確定しており、指定フォルダ以外に PUT するのはバグっていると事が分かっている場合には false に設定して、存在しないフォルダにPUT しようとすると、エラーになるようにします。 引数文字列中に空白を含む場合は、ダブルコーテーション("") で括って下さい。 引数文字列の 『=』の前後には、空白は挟めません。必ず、-key=value の様に 繋げてください。

形式サンプル:
 XXXConnect -host=サーバー -user=ユーザー -passwd=パスワード -remoteFile=接続先のファイル名 [-localFile=ローカルのファイル名]
                   [-command=[GET/PUT/DEL/GETDIR/PUTDIR/DELDIR] ] [-display=[true/false] ] ・・・・

    -host=サーバー                    :接続先のサーバーのアドレスまたは、サーバー名
    -user=ユーザー                    :接続するユーザー名
    -passwd=パスワード                :接続するユーザーのパスワード
    -remoteFile=接続先のファイル名    :接続先のサーバー側のファイル名。PUT,GET 関係なくFTP側として指定します。
   [-localFile=ローカルのファイル名]  :ローカルのファイル名。PUT,GET 関係なくローカルファイルを指定します。
   [-port=ポート ]                    :接続するサーバーのポートを指定します。
   [-command=[GET/PUT/DEL] ]          :サーバー側での処理の方法を指定します。
             [GETDIR/PUTDIR/DELDIR]]          GET:FTP⇒LOCAL、PUT:LOCAL⇒FTP への転送です(初期値:GET)
                                              DEL:FTPファイルを削除します。
                                              GETDIR,PUTDIR,DELDIR 指定のフォルダ以下のファイルを処理します。
   [-mkdirs=[true/false]  ]           :受け側ファイル(GET時:LOCAL、PUT時:サーバー)にディレクトリを作成するかどうか(初期値:true)
                                              (false:ディレクトリが無ければ、エラーにします。)
   [-encode=エンコード名 ]            :日本語ファイル名などのエンコード名を指定します(初期値:Windows-31J)
   [-timeout=タイムアウト[秒] ]       :Dataタイムアウト(初期値:600 [秒])
   [-display=[false/true] ]           :trueは、検索状況を表示します(初期値:false)
   [-debug=[false|true]   ]           :デバッグ情報を標準出力に表示する(true)かしない(false)か(初期値:false[表示しない])
変更履歴:
5.1.6.0 (2010/05/01) 新規追加
バージョン
5.0
作成者
Kazuhiko Hasegawa
導入されたバージョン:
JDK5.0,

フィールドの概要
static String CR
           
static boolean FLAG_NG
          異常フラグ false
static boolean FLAG_OK
          正常フラグ true
protected  String host
          サーバー
protected  boolean isDebug
          デバッグ情報を表示するかどうか
protected  boolean isDisplay
          検索状況を表示するかどうか
protected  boolean isMkdirs
          ディレクトリを作成するかどうか
protected  String passwd
          パスワード
protected  String port
          ポート
protected  int timeout
          Dataタイムアウト
static int TIMEOUT
          Dataタイムアウト(初期値:600 [秒])
protected  String user
          ユーザー
 
コンストラクタの概要
AbstractConnect()
           
 
メソッドの概要
 void action(String command, String localFile, String remoteFile)
          command , localFile , remoteFile を元に、FTP処理を行います。
protected abstract  void actionDEL(String remoteFile)
          command="DEL" が指定されたときの処理を行います。
protected abstract  void actionDELdir(String remoteDir)
          command="DELDIR" が指定されたときの処理を行います。
protected abstract  void actionGET(String localFile, String remoteFile)
          command="GET" が指定されたときの処理を行います。
protected abstract  void actionGETdir(String localDir, String remoteDir)
          command="GETDIR" が指定されたときの処理を行います。
protected abstract  void actionPUT(String localFile, String remoteFile)
          command="PUT" が指定されたときの処理を行います。
protected  void actionPUTdir(String localDir, String remoteDir)
          command="PUTDIR" が指定されたときの処理を行います。
protected  String addFile(String dir, String file)
          ディレクトリとファイル名を合成します。
abstract  void connect()
          サーバーへの接続、ログインを行います。
abstract  void disconnect()
          サーバーとの接続をクローズします。
protected  void errAppend(Object... msgs)
          処理中に発生したエラーメッセージをセットします。
protected  void errAppend(Object msg)
          処理中に発生したエラーメッセージをセットします。
 String getErrMsg()
          処理中に発生したエラーメッセージを取り出します。
protected  String getPort()
          ポートを取得します。
protected  int getPort(int defPort)
          ポートを取得します。
protected  void makeLocalDir(String localFile)
          ローカルファイルのディレクトリを作成します。
 void setDebug(boolean isDebug)
          デバッグ情報の表示可否 を設定します(初期値:false:表示しない)。
 void setDisplay(boolean isDisplay)
          実行状況の表示可否 を設定します(初期値:false:表示しない)。
 void setHostUserPass(String host, String user, String passwd)
          サーバーの、ホスト、ユーザー、パスワードを設定します。
 void setMkdirs(boolean isMkdirs)
          それぞれの受け側ファイルにディレクトリを作成するかどうか(初期値:true:作成する)。
 void setPort(String port)
          接続に利用するポート番号を設定します。
 void setTimeout(int timeout)
          タイムアウトを秒で指定します(初期値:600 [秒])。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

CR

public static final String CR

FLAG_OK

public static final boolean FLAG_OK
正常フラグ true

関連項目:
定数フィールド値

FLAG_NG

public static final boolean FLAG_NG
異常フラグ false

関連項目:
定数フィールド値

TIMEOUT

public static final int TIMEOUT
Dataタイムアウト(初期値:600 [秒])

関連項目:
定数フィールド値

host

protected String host
サーバー


user

protected String user
ユーザー


passwd

protected String passwd
パスワード


port

protected String port
ポート


isMkdirs

protected boolean isMkdirs
ディレクトリを作成するかどうか


timeout

protected int timeout
Dataタイムアウト


isDisplay

protected boolean isDisplay
検索状況を表示するかどうか


isDebug

protected boolean isDebug
デバッグ情報を表示するかどうか

コンストラクタの詳細

AbstractConnect

public AbstractConnect()
メソッドの詳細

connect

public abstract void connect()
サーバーへの接続、ログインを行います。

定義:
インタフェース ConnectIF 内の connect

action

public void action(String command,
                   String localFile,
                   String remoteFile)
command , localFile , remoteFile を元に、FTP処理を行います。 このメソッドは、connect( String , String , String )メソッド、および、 paramInit() 実行後に、呼び出す必要があります。 ※ 内部で、command に指定できない値をセットしたか、何らかのエラーが発生した場合。

定義:
インタフェース ConnectIF 内の action
パラメータ:
command - GET:HOST⇒LOCAL 、PUT:LOCAL⇒HOST 、DEL:HOSTファイルを削除
localFile - ローカルのファイル名
remoteFile - HOST接続先のファイル名

disconnect

public abstract void disconnect()
サーバーとの接続をクローズします。 ログインされている場合は、ログアウトも行います。 コネクトされている場合は、ディスコネクトします。

定義:
インタフェース ConnectIF 内の disconnect

actionGET

protected abstract void actionGET(String localFile,
                                  String remoteFile)
                           throws Exception
command="GET" が指定されたときの処理を行います。 接続先のサーバー側のファイル名をローカルにダウンロードします。

パラメータ:
localFile - ローカルのファイル名
remoteFile - 接続先のファイル名
例外:
Exception - 何らかのエラーが発生した場合。

actionGETdir

protected abstract void actionGETdir(String localDir,
                                     String remoteDir)
                              throws Exception
command="GETDIR" が指定されたときの処理を行います。 接続先のサーバー側のディレクトリ以下をローカルディレクトリに階層構造のままダウンロードします。

パラメータ:
localDir - ローカルのディレクトリ名
remoteDir - 接続先のディレクトリ名
例外:
Exception - 何らかのエラーが発生した場合。

actionPUT

protected abstract void actionPUT(String localFile,
                                  String remoteFile)
                           throws Exception
command="PUT" が指定されたときの処理を行います。 ローカルファイルを、接続先のサーバー側にアップロードします。

パラメータ:
localFile - ローカルのファイル名
remoteFile - 接続先のファイル名
例外:
Exception - 何らかのエラーが発生した場合。

actionPUTdir

protected void actionPUTdir(String localDir,
                            String remoteDir)
                     throws Exception
command="PUTDIR" が指定されたときの処理を行います。 ローカルファイルのディレクトリ以下を、接続先のサーバー側のディレクトリに階層構造のままアップロードします。

パラメータ:
localDir - ローカルのディレクトリ名
remoteDir - 接続先のディレクトリ名
例外:
Exception - 何らかのエラーが発生した場合。
変更履歴:
5.3.7.0 (2011/07/01) フォルダにアクセスできない場合は、エラーを返します。

actionDEL

protected abstract void actionDEL(String remoteFile)
                           throws Exception
command="DEL" が指定されたときの処理を行います。 接続先のサーバー側のファイル名を削除します。

パラメータ:
remoteFile - 接続先のファイル名
例外:
Exception - 何らかのエラーが発生した場合。

actionDELdir

protected abstract void actionDELdir(String remoteDir)
                              throws Exception
command="DELDIR" が指定されたときの処理を行います。 接続先のサーバー側のディレクトリ名を削除します。

パラメータ:
remoteDir - 接続先のディレクトリ名
例外:
Exception - 何らかのエラーが発生した場合。

makeLocalDir

protected void makeLocalDir(String localFile)
                     throws IOException
ローカルファイルのディレクトリを作成します。 引数のファイル名は、ファイル名です。作成するディレクトリは、そのファイルオブジェクトの getParentFile() で取得されるディレクトリまでを作成します。 ※ ローカルファイルのディレクトリの作成に失敗した場合は、RuntimeException が throw されます。

パラメータ:
localFile - ローカルのファイル名
例外:
IOException - File#getCanonicalFile() で発生する入出力エラー

addFile

protected String addFile(String dir,
                         String file)
ディレクトリとファイル名を合成します。 単純に、ディレクトリの最後と、ファイルの最初の、"/" をチェックし、 存在すれば、そのまま、結合し、存在しなければ、"/" を追加します。 両方に存在する場合は、片方をはずします。

パラメータ:
dir - ディレクトリ名
file - ファイル名
戻り値:
合成されたファイル名

setHostUserPass

public void setHostUserPass(String host,
                            String user,
                            String passwd)
サーバーの、ホスト、ユーザー、パスワードを設定します。

定義:
インタフェース ConnectIF 内の setHostUserPass
パラメータ:
host - サーバー
user - ユーザー
passwd - パスワード

setPort

public void setPort(String port)
接続に利用するポート番号を設定します。

定義:
インタフェース ConnectIF 内の setPort
パラメータ:
port - 接続に利用するポート番号

getPort

protected String getPort()
ポートを取得します。 設定されている生のport属性(nullもありうる)を返します。

戻り値:
ポート

getPort

protected int getPort(int defPort)
ポートを取得します。 設定されているport属性が、nullの場合は、defPortを返します。

パラメータ:
defPort - port が null の場合の初期値
戻り値:
ポート

setMkdirs

public void setMkdirs(boolean isMkdirs)
それぞれの受け側ファイルにディレクトリを作成するかどうか(初期値:true:作成する)。 -mkdirs=[true/false] は、受け側のファイル(GET時:LOCAL、PUT時:サーバー)に取り込むファイルのディレクトリが 存在しない場合に、作成するかどうかを指定します(初期値:true) 通常、サーバーに、フォルダ階層を作成してPUTする場合、動的にフォルダ階層を作成したいケースで便利です。 逆に、フォルダは確定しており、指定フォルダ以外に PUT するのはバグっていると事が分かっている場合には false に設定して、存在しないフォルダにPUT しようとすると、エラーになるようにします。

定義:
インタフェース ConnectIF 内の setMkdirs
パラメータ:
isMkdirs - 受け側ファイルにディレクトリを作成するかどうか。true:作成する

setTimeout

public void setTimeout(int timeout)
タイムアウトを秒で指定します(初期値:600 [秒])。 オリジナルの FTPClient#setDataTimeout( int ) は、ミリ秒でセット しますが、ここのメソッドでは、秒でセットします。

定義:
インタフェース ConnectIF 内の setTimeout
パラメータ:
timeout - タイムアウト[秒]
例外:
RuntimeException - タイムアウトの指定が大きすぎた場合

setDisplay

public void setDisplay(boolean isDisplay)
実行状況の表示可否 を設定します(初期値:false:表示しない)。

定義:
インタフェース ConnectIF 内の setDisplay
パラメータ:
isDisplay - 実行状況の表示可否

setDebug

public void setDebug(boolean isDebug)
デバッグ情報の表示可否 を設定します(初期値:false:表示しない)。

定義:
インタフェース ConnectIF 内の setDebug
パラメータ:
isDebug - デバッグ情報の表示可否

errAppend

protected void errAppend(Object msg)
処理中に発生したエラーメッセージをセットします。

パラメータ:
msg - メッセージ化したいオブジェクト

errAppend

protected void errAppend(Object... msgs)
処理中に発生したエラーメッセージをセットします。

パラメータ:
msgs - Object...

getErrMsg

public String getErrMsg()
処理中に発生したエラーメッセージを取り出します。

定義:
インタフェース ConnectIF 内の getErrMsg
戻り値:
エラーメッセージ

openGion 5.8.3.0

Webアプリケーションフレームワーク openGion
SourceForge.JPCopyright (c) 2009 The openGion Project.