通信アダプタ用 OTD の開発

バッチアダプタでの名前パターンの使用法

バッチアダプタでは、よく使用する情報を省略表現として表す特殊文字である、名前パターンを使用できます。これらの文字の組み合わせを使用して、この特定の情報のプレースホルダを指定できます。これらの文字を使用して、日付/時刻、数値、およびファイル名情報を迅速に伝達できます。

BatchFTP、Batch FTPOverSSL、BatchSFTP、BatchLocalFile、および BatchInbound の各 OTD では、特殊文字の使用、つまり名前パターンの指定が許可されています。名前パターンを使用すると、ファイル名およびディレクトリ名のパターンを指定できます。名前パターンは「出力」処理 (送信、つまり転送先) に使用するのに対し、正規表現は「取得」処理 (受信、つまり転送元) に使用します。

特殊文字は、アダプタがファイル名パターンに使用するユーティリティーです。その使用に関する全般的なルールは、次のとおりです。

たとえば、出力処理で、file%#.dat のようなパターンを使用できます。このパターンは、設定のシーケンス番号設定を使用し、出力処理のたびに、file1.datfile2.dat といった名前が付いた連続したファイルが作成されます。

正規表現については、「バッチアダプタでの正規表現の使用法」を参照してください。

名前パターンのタイプ

アダプタには、次のタイプの名前パターンが備わっています。

展開処理の順序は、前のリストと逆順です。つまり、最初にファイル名、次にシーケンス番号、最後にタイムスタンプが展開されます。

名前パターンの例をさらにいくつか示します。

名前の解決

通常、名前パターンまたは正規表現を使用した転送前/転送後名は、get() および put() メソッドの呼び出し時に解決されます。しかし、コラボレーションルールを使用するときに、アダプタが、実際の get() または put() 呼び出しの前に、解決された名前を取得しなければならない場合があります。

こうした場合、BatchFTP OTD の ResolvedNamesForGet および ResolvedNamesForPut ノードを使用して、前述のように解決された名前を取得できます。たとえば、次のようにです。

getResolvedNamesForPut().getTargetFileName()

前のコードは、パターン file%# に基づいて file1 になります。この使用法では、OTD ノードは、目的のメソッドを呼び出すために使用できます。

日付/時刻形式の構文

アダプタは、Java の単純なデフォルトの日付および時刻形式構文 (米国ロケール) を使用します。これらの形式を名前パターンに指定するには、時刻パターン文字列を使用します。


注 –

アダプタは、Java クラス java.text.SimpleDateFormat の Java 標準日付/タイムスタンプを使用します。これらの形式の一部は、使用中の Java SDK バージョンによっては、次に示すリストと異なることがあります。


これらのパターンでは、すべての ASCII 文字はパターン文字として予約されています。完全なリストについては、表 1–2 を参照してください。

表 1–2 時刻パターン文字列と意味

シンボル 

意味 

表現 

例 

%G 

年号指示子 

テキスト 

AD 

%y 

年 

数 

1996 

%M 

月 (年) 

テキストおよび数 

July & 07 

%d 

日 (月) 

数 

10 

%h 

時間 (午前/午後) (1 - 12) 

数 

12 

%H 

時 (日) (0 - 23) 

数 

%m 

分 (時) 

数 

30 

%s 

秒 (分) 

数 

55 

%S 

ミリ秒 

数 

978 

%E 

曜日 (週) 

テキスト 

火曜日 

%D 

日 (年) 

数 

189 

%F 

曜日 (月) 

数 

2 (7 月の第 2 水曜日) 

%w 

週 (年) 

数 

27 

%W 

週 (月) 

数 

%a 

午前/午後記号 

テキスト 

PM 

%k 

時間 (日) (1 - 24) 

数 

24 

%K 

時間 (午前/午後) (0 - 11) 

数 

%z 

タイムゾーン 

テキスト 

太平洋標準時 

日付/時刻形式の全般的なルールは、次のとおりです。

表 1–3 米国ロケールの日付/時刻パターン

形式パターン 

結果 

yyyy.MM.dd, G, ’at’ hh:mm:ss, z 

1996.07.10 AD at 15:08:56 PDT 

E, M, dd, ’’yy 

Wednesday, July 10, ’96 

h:mm, a 

12:08 PM 

h, ’o’’clock’ a, z 

12 o’clock PM., Pacific Daylight Time 

K:mm a, z 

0:00 p.m., PST 

yyyyy.M.dd, G, hh:mm, a 

1996.July.10 AD 12:08 PM