Specifications

A hasArrived() function often returns only after a delay of at least the stability period. However
if it can be determined right away that the file has not yet arrived, the function returns
immediately. Thus it is never acceptable to invoke a hasArrived() function in a tight loop.
The following table describes the two most important use cases for dealing with an external
application through the hasArrived() functions. In fact, the guidance presented in the table does
not depend on the employed arrival/ready detection mechanism.
ImplementationDescriptionModel
jobArrived entry point contains a
waiting loop that repeatedly calls
If the external process is
synchronous, resource-intensive
Synchronous
hasArrived() followed byand hosted on the same computer
Environment.sleep() to introduce
additional delay
as Switch, the jobArrived entry point
should block until the process is
finished (so that Switch can
correctly manage the number of
external processes running in
parallel)
timerFired entry point simply calls
hasArrived() once, since it is
If the external process is
asynchronous (i.e. you want to feed
Asynchronous
automatically executed repeatedly
with a predefined interval
it the next job even if the previous
job hasn't been processed), if it
depends on user interaction or if it
potentially takes a long time
without using a lot of resources on
the local computer, the jobArrived
entry point should return
immediately and leave the
follow-up to the timerFired entry
point
Constructor
Creates a directory object for path path. If path is empty, the
current directory is used.
Dir( path : String )
Properties
Contains the name of the directory; this is not the same as the
path, e.g. a directory with the name "mail", might have the path
"c:/spool/mail".
name : String
Contains the path, this may contain symbolic links, but never
contains redundant ".", "..", or multiple separators.
path : String
Contains the absolute path (a path that starts with "/" or with a
drive specification), which may contain symbolic links, but never
contains redundant ".", "..", or multiple separators.
absPath : String
420
Enfocus Switch 10