Librarian - Mounter

Description

This class has the functionality of providing a virtual directory tree where different sub-librarians can be placed at specific locations inside the virtual directory structure. For example, you may wish to publish a directory called "/archives" which publishes information out of an archiving system like CVS, and a separate directory called "/test" which publishes information out of a local filesystem.

When a librarian is mounted to a particular location, any components and directories that are available via a librarian mounted higher up in the directory tree are hidden. For example, if you have a filesytem published at the root ("" or "/") and a CVS archive published at "/archive", the CVS archive will hide a directory called "archive" in the filesystem.

This class will automatically add empty directories as necessary to ensure that you can "browse" to a mount point. For example, if you have not mounted anything to the root ("" or "/"), you can still mount to a subdirectory like "mount/here" and this class will create the empty directory "mount". Only one librarian can be mounted in a given location. Use a Librarian Combiner to put multiple librarians in the same place.

Configuration

librarian class: com.phoenix_int.aserver.library.PHXLibrarianMounter

The XML initialization information for this class is simply a list of <librarian> tags which contain <className>, <mountPoint>, and <librarianOptions> tags inside.

<librarianOptions>
 <librarian>
  <mountPoint>/mountHere</mountPoint>
  <className>com.phoenix_int.aserver.library.PHXDirectoryLibrarian</className>
  <librarianOptions> ... </librarianOptions>
 </librarian>
 <librarian>
  ....
 </librarian>
</librarianOptions>

See Also: