INTERFACEThe generic Obliq Loader class. This class allows Obliq source and help files to be stored in files and/or bundled and be loaded by the various Obliq initialization routines.ObLoader ; IMPORT Bundle, Obliq, ObCommand, TextSeq;
The init routines specify a parent
loader from which the base
environment is obtained. If your Obliq package depends on another
obliq package, you should initialize this other package and then
pass its loader to your packages init routine.
The init routines also specify an alt
(alternate) loader. If the
requested file cannot be found in this loader, the alt
loader is
searched for the file. This allows, for example, a set of
directories to be searched for files, followed by a compiled in
Bundle.
TYPE T <: Public; Public = OBJECT METHODS load (filename : TEXT); get (qualname : TEXT) : Obliq.Val; help (cmd: ObCommand.T; arg: TEXT; pkgname: TEXT; m3name: TEXT := NIL); END; TYPE BundleT <: BundlePublic; BundlePublic = T OBJECT METHODS init (bundle: Bundle.T; parent: T := NIL; alt: T := NIL) : T; END; TYPE DirT <: DirPublic; DirPublic = T OBJECT METHODS init (root: TEXT; parent: T := NIL; alt: T := NIL) : T; END; PROCEDURE NewDirs(roots: TextSeq.T; parent: T := NIL; alt: T := NIL): T;
A convenience routine to create a sequence of DirT loaders which
will search the sequence of dirs in roots
for the requested
files.
END ObLoader.