バッチアダプタでは、よく使用する情報を省略表現として表す特殊文字である、名前パターンを使用できます。これらの文字の組み合わせを使用して、この特定の情報のプレースホルダを指定できます。これらの文字を使用して、日付/時刻、数値、およびファイル名情報を迅速に伝達できます。
BatchFTP、Batch FTPOverSSL、BatchSFTP、BatchLocalFile、および BatchInbound の各 OTD では、特殊文字の使用、つまり名前パターンの指定が許可されています。名前パターンを使用すると、ファイル名およびディレクトリ名のパターンを指定できます。名前パターンは「出力」処理 (送信、つまり転送先) に使用するのに対し、正規表現は「取得」処理 (受信、つまり転送元) に使用します。
特殊文字は、アダプタがファイル名パターンに使用するユーティリティーです。その使用に関する全般的なルールは、次のとおりです。
% は、展開する必要がある特殊文字を示すために使用します。
%% は、エスケープされた文字 % を示します。たとえば、abc%%d は abc%d を意味し、%d はふたたび展開されません。
たとえば、出力処理で、file%#.dat のようなパターンを使用できます。このパターンは、設定のシーケンス番号設定を使用し、出力処理のたびに、file1.dat、file2.dat といった名前が付いた連続したファイルが作成されます。
正規表現については、「バッチアダプタでの正規表現の使用法」を参照してください。
日付/時刻スタンプ: 形式 %[GyMdhHmsSEDFwWakKz] を使用します。たとえば、abc%y%y%y%y は abc2001 を意味します (詳細は、表 1–2 を参照)。
シーケンス番号: 形式 %#, %5# を使用します。たとえば、abc%# は abc1、abc2、abc3 などを意味します。また、abc%5# (0 で埋める) は abc00001、abc00002、abc00003、...abc00010、...abc00100 などを意味します。
作業ファイル名: 形式 %f を使用します。通常、転送前/転送後コマンドに使用します。たとえば、%f.abc は working_filename.abc を意味します。
展開処理の順序は、前のリストと逆順です。つまり、最初にファイル名、次にシーケンス番号、最後にタイムスタンプが展開されます。
名前パターンの例をさらにいくつか示します。
abc.%y%y%y%y%M%M%d%d.%h%h%m%m%s%s%S%S%S は abc.20011112.162532678 を意味します
abc%#.def%# は abc2.def3 を意味します
%f.%# は xxxxx.4、xxxxx.5、... を意味します (xxxxx は作業ファイル名)
通常、名前パターンまたは正規表現を使用した転送前/転送後名は、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) |
数 |
0 |
%m |
分 (時) |
数 |
30 |
%s |
秒 (分) |
数 |
55 |
%S |
ミリ秒 |
数 |
978 |
%E |
曜日 (週) |
テキスト |
火曜日 |
%D |
日 (年) |
数 |
189 |
%F |
曜日 (月) |
数 |
2 (7 月の第 2 水曜日) |
%w |
週 (年) |
数 |
27 |
%W |
週 (月) |
数 |
2 |
%a |
午前/午後記号 |
テキスト |
PM |
%k |
時間 (日) (1 - 24) |
数 |
24 |
%K |
時間 (午前/午後) (0 - 11) |
数 |
0 |
%z |
タイムゾーン |
テキスト |
太平洋標準時 |
日付/時刻形式の全般的なルールは、次のとおりです。
テキスト: パターン文字の数によって、形式が次のように決まります。
4 つ以上のパターン文字の場合、完全な形式を使用します。
4 文字未満の場合、存在する場合は短い形式 (省略形) を使用します。
数: 最小桁数は次のように扱われます。
少ない数はその桁数まで 0 で埋められます。
年の処理は異なります。「y」の数が 2 の場合、年は 2 桁に切り捨てられます。
テキストおよび数: 3 つ以上のパターン文字の場合、テキストを使用します。それ以外は、数を使用します。
引用符と区切り文字: これらのシンボルは、次のように使用します。
表示するリテラルテキストを一重引用府で囲みます。
一重引用府を意味するには、二重引用符を使用します。
区切り文字にコンマを使用します。
表 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 |