|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.phoenix_int.aserver.library.PHXLibrarianMounter
public class PHXLibrarianMounter
This class has the functionality of providing a "virtual" directory tree where different sub-librarians can be "mounted" very similarly to the UNIX concept of mounting filesystems.
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.
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 PHXLibrarianCombiner to put multiple librarians in the same place.
| Constructor Summary | |
|---|---|
PHXLibrarianMounter()
|
|
| Method Summary | |
|---|---|
void |
addLibrarian(java.lang.String mountPoint,
IPHXLibrarian l)
Creates a librarian mount. |
void |
cleanUp()
Recursively calls cleanUp on all our mount points |
PHXComponentDescription |
describe(java.lang.String compClass,
java.lang.String virtualDir)
describes the specified component. |
java.lang.String |
getBranchesAndTags()
fetchs a list of all branches and tags |
PHXComponentBranch |
getComponentHistory(java.lang.String compClass,
java.lang.String virtualDir)
Gets all version information about a particular component It is important that this class throws PHXNoSuchCategoryException and ClassNotFoundException in the appropriate cases as they are handled in special ways by the librarian mounter and librarian combiner. |
java.lang.String |
getQueues(java.lang.String compClass,
java.lang.String virtualDir)
gets queues for the specified component. |
void |
initialize(com.phoenix_int.aserver.ascore.PHXConnection connection,
IPHXFactory factories,
com.phoenix_int.aserver.ascore.PHXAServerArgs args,
org.w3c.dom.Node xmlOptions)
The XML initialization information for this class is simply a list of <librarian> tags which contain <className>, <mountPoint>, and <librarianOptions> tags inside. |
IPHXComponent |
instantiate(java.lang.String compClass,
java.lang.String virtualDir)
creates an instance of the specified component. |
IPHXComponent |
instantiate(java.lang.String compClass,
java.lang.String virtualDir,
java.lang.String connector,
java.lang.String queue)
|
java.util.Collection |
listComponents(java.lang.String virtualDir)
returns the components in a specific directory |
java.util.Collection |
listDirectories(java.lang.String virtualDir)
lists any available sub-directories from a particular directory |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public PHXLibrarianMounter()
| Method Detail |
|---|
public void addLibrarian(java.lang.String mountPoint,
IPHXLibrarian l)
public void initialize(com.phoenix_int.aserver.ascore.PHXConnection connection,
IPHXFactory factories,
com.phoenix_int.aserver.ascore.PHXAServerArgs args,
org.w3c.dom.Node xmlOptions)
throws java.lang.Exception
Example:
<librarianOptions> <librarian> <mountPoint>/mounthere</mountPoint> <className>com.phoenix_int.aserver.library.PHXDirectoryLibrarian</className> <librarianOptions> ... </librarianOptions> </librarian> <librarian> .... </librarian> </librarianOptions>
initialize in interface IPHXLibrarianjava.lang.Exceptionpublic void cleanUp()
cleanUp in interface IPHXLibrarian
public java.util.Collection listComponents(java.lang.String virtualDir)
throws PHXNoSuchCategoryException,
com.phoenix_int.aserver.security.PHXAccessDeniedException
listComponents in interface IPHXLibrarianvirtualDir - The directory the client asked for
java.io.IOException - if the directory could not be scanned
PHXNoSuchCategoryException
com.phoenix_int.aserver.security.PHXAccessDeniedException
public java.util.Collection listDirectories(java.lang.String virtualDir)
throws PHXNoSuchCategoryException,
com.phoenix_int.aserver.security.PHXAccessDeniedException
IPHXLibrarian
listDirectories in interface IPHXLibrarianPHXNoSuchCategoryException
com.phoenix_int.aserver.security.PHXAccessDeniedException
public IPHXComponent instantiate(java.lang.String compClass,
java.lang.String virtualDir)
throws java.lang.Exception
instantiate in interface IPHXLibrariancompClass - the class name for the componentdirectory - the directory to search for the component class
java.lang.ClassNotFoundException - if the class is not found
java.lang.IllegalAccessException - cannot call constructor
java.lang.InstantiationException - cannot call constructor
java.lang.reflect.InvocationTargetException - if an exception
if the specified component exists, but is not of the right type,
or if an exception occurs while creating the class or loading
the setup file
PHXNoSuchCategoryException - If the virtualDirName
passed in is invalid
java.lang.Exception - If anything serious goes wrong
public IPHXComponent instantiate(java.lang.String compClass,
java.lang.String virtualDir,
java.lang.String connector,
java.lang.String queue)
throws java.lang.Exception
instantiate in interface IPHXLibrarianjava.lang.Exception
public PHXComponentDescription describe(java.lang.String compClass,
java.lang.String virtualDir)
throws java.lang.Exception
describe in interface IPHXLibrariancompClass - the class name for the componentvirtualDir - The directory the client asked for
java.lang.ClassNotFoundException - if the class is not found
PHXNoSuchCategoryException - If the virtualDirName
passed in is invalid
java.lang.Exception - If anything goes wrong
public java.lang.String getQueues(java.lang.String compClass,
java.lang.String virtualDir)
throws java.lang.Exception
getQueues in interface IPHXLibrariancompClass - the class name for the componentvirtualDir - The directory the client asked for
java.lang.ClassNotFoundException - if the class is not found
PHXNoSuchCategoryException - If the virtualDirName
passed in is invalid
java.lang.Exception - If anything goes wrong
public PHXComponentBranch getComponentHistory(java.lang.String compClass,
java.lang.String virtualDir)
throws java.lang.Exception
IPHXVersionedLibrarianIt is important that this class throws PHXNoSuchCategoryException and ClassNotFoundException in the appropriate cases as they are handled in special ways by the librarian mounter and librarian combiner.
getComponentHistory in interface IPHXVersionedLibrariancompClass - the class name for the component
PHXNoSuchCategoryException - If the virtualDirName
passed in is invalid
java.lang.ClassNotFoundException - If compClass doesn't
indicate a valid class for the specified directory
java.lang.Exception - If anything goes wrong
public java.lang.String getBranchesAndTags()
throws java.lang.Exception
IPHXVersionedLibrarian2
getBranchesAndTags in interface IPHXVersionedLibrarian2java.lang.Exception - If anything goes wrong
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||