The Batch Adapter allows you to use a Name Pattern, that is, special characters that symbolize often-used information as short-hand. You can use these character combinations to specify place holders for this specific information. Using these characters, you can quickly convey date/time, number, and file-name information.
The BatchFTP, Batch FTPOverSSL, BatchSFTP, BatchLocalFile, and BatchInbound OTDs allow you to use special characters or specify a name pattern. A name pattern allows you to specify patterns for file names and directory names. Name patterns are used for “put” operations (sending or destination) , as opposed to regular expressions which are used for “get” operations (receiving or source).
Special characters are utilities the eWays use for file-name pattern. The general rules for their use are:
Use % to indicate the special character that needs to be expanded.
Use %% to indicate the escaped character %; for example, abc%%d means abc%d, and the %d is not expanded again.
For example, for a put operation, a pattern such as file%#.dat can be used. This pattern uses the sequence number setting in the configuration, and each put creates successive files named file1.dat, file2.dat, and so on.
For information on regular expressions, see Using Regular Expressions.
The eWay provides the following types of name patterns:
Date/Time stamp: Uses the format %[GyMdhHmsSEDFwWakKz], for example, abc%y%y%y%y means abc2001 (see Table 58 for more information).
Sequence number: Uses the format %#, %5#, for example, abc%# means abc1, abc2, abc3, and so on; for another example, abc%5# (zero-padded) means abc00001, abc00002, abc00003, ..., abc00010, ..., abc00100, and so on.
Working-file name: Uses the format %f; normally, it is used for pre- or post-file-transfer commands (see Pre/Post File Transfer Commands), for example, %f.abc means working_filename.abc.
The sequence of expansion operates in the reverse order of the previous list, that is, first the file name is expanded, then the sequence number, and finally the time stamp.
Some additional examples of name pattern:
abc.%y%y%y%y%M%M%d%d.%h%h%m%m%s%s%S%S%S means abc.20011112.162532678
abc%#.def%# means abc2.def3
%f.%# means xxxxx.4, xxxxx.5, ... (Where xxxxx is the working-file name)
Typically, the pre/post names with name patterns or regular expressions are resolved during get() and put() method calls. But sometimes, in using Collaboration Rules, the eWay has to get the resolved names before the actual get() or put() call.
In such cases, you can get the resolved names in this way through the ResolvedNamesForGet and ResolvedNamesForPut nodes in the BatchFTP OTD, for example:
getResolvedNamesForPut().getTargetFileName()
The previous code yields file1 based on the pattern file%#. In this usage, the OTD nodes can be used to make the desired method call. See BatchFTP OTD Node Functions for more information on BatchFTP OTD nodes.
The eWay uses the Java simple default date and time format syntax (U.S. locale). To specify these formats for name pattern, you must use a time pattern string.
The eWay uses the Java standard for date/time stamps from the Java class java.text.SimpleDateFormat. Some of these formats can differ from the list given here, depending on the Java SDK version you are using.
In these patterns, all ASCII letters are reserved as pattern letters. See Table 58 for a complete list.
Table 58 Time Pattern Strings and Meanings
Symbol |
Meaning |
Presentation |
Example |
---|---|---|---|
%G |
Era designator |
Text |
AD |
%y |
Year |
Number |
1996 |
%M |
Month in year |
Text and number |
July & 07 |
%d |
Day in month |
Number |
10 |
%h |
Hour in a.m./p.m. (1 through12) |
Number |
12 |
%H |
Hour in day (0 through 23) |
Number |
0 |
%m |
Minute in hour |
Number |
30 |
%s |
Second in minute |
Number |
55 |
%S |
Millisecond |
Number |
978 |
%E |
Day in week |
Text |
Tuesday |
%D |
Day in year |
Number |
189 |
%F |
Day of week in month |
Number |
2 (second Wednesday in July) |
%w |
Week in year |
Number |
27 |
%W |
Week in month |
Number |
2 |
%a |
Marker for a.m./p.m. |
Text |
PM |
%k |
Hour in day (1 through 24) |
Number |
24 |
%K |
Hour in a.m./p.m. (0 through 1) |
Number |
0 |
%z |
Time zone |
Text |
Pacific Standard Time |
The general rules for date/time formats are:
Text: The count of pattern letters determines the format as follows:
For four or more pattern letters, use the full form.
For fewer than four, use the short or abbreviated form if one exists.
Number: The minimum number of digits as follows:
Shorter numbers are zero-padded to this amount.
The year is handled differently; that is, if the count of “y” is two, the year is truncated to two digits.
Text and number: For three or more pattern letters, use text; otherwise use a number.
Quotes and delimiters: Use these symbols as follows:
Enclose literal text you want rendered within single quotes.
Use double quotes to mean single quotes.
Use commas for delimiters.
Format Pattern |
Result |
---|---|
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 |