com.phoenix_int.aserver.library
Interface IPHXLibrarian

All Known Subinterfaces:
IPHXVersionedLibrarian, IPHXVersionedLibrarian2
All Known Implementing Classes:
PHXCVSLibrarian, PHXDirectoryLibrarian, PHXLibrarianCombiner, PHXLibrarianMounter, PHXUserDirLibrarian

public interface IPHXLibrarian

This is an interface for classes that manage a directory heirarchy of available components. An instance of this class is generated for each incoming connection.


Method Summary
 void cleanUp()
          Tells this librarian to clean up any resources used.
 PHXComponentDescription describe(java.lang.String compClass, java.lang.String virtualDirName)
          describes the specified 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 virtualDirName)
          gets the available run queues 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.
 void initialize(com.phoenix_int.aserver.ascore.PHXConnection connection, IPHXFactory factories, com.phoenix_int.aserver.ascore.PHXAServerArgs args, org.w3c.dom.Node xmlOptions)
          Tells this librarian to configure itself based on the XML node passed in.
 IPHXComponent instantiate(java.lang.String compClass, java.lang.String virtualDirName)
          creates an instance of the specified component.
 IPHXComponent instantiate(java.lang.String compClass, java.lang.String virtualDirName, java.lang.String connector, java.lang.String queue)
           
 java.util.Collection listComponents(java.lang.String virtualDirName)
          lists components within a specified directory
 java.util.Collection listDirectories(java.lang.String virtualDir)
          lists any available sub-directories from a particular directory
 

Method Detail

initialize

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
Tells this librarian to configure itself based on the XML node passed in. The XML node should be a <librarianOptions> node whose format is specific to the particular type of librarian

Throws:
java.lang.Exception

cleanUp

void cleanUp()
Tells this librarian to clean up any resources used.


listComponents

java.util.Collection listComponents(java.lang.String virtualDirName)
                                    throws PHXNoSuchCategoryException,
                                           com.phoenix_int.aserver.security.PHXAccessDeniedException
lists components within a specified directory

Parameters:
virtualDirName - The directory the client asked for
Returns:
a Collection of Strings
Throws:
PHXNoSuchCategoryException
com.phoenix_int.aserver.security.PHXAccessDeniedException

listDirectories

java.util.Collection listDirectories(java.lang.String virtualDir)
                                     throws PHXNoSuchCategoryException,
                                            com.phoenix_int.aserver.security.PHXAccessDeniedException
lists any available sub-directories from a particular directory

Parameters:
virtualDirName - The directory the client asked for
Returns:
a Collection of Strings
Throws:
PHXNoSuchCategoryException
com.phoenix_int.aserver.security.PHXAccessDeniedException

instantiate

IPHXComponent instantiate(java.lang.String compClass,
                          java.lang.String virtualDirName)
                          throws java.lang.Exception
creates an instance of the specified component. Typically a librarian will find the appropriate files and pass the request off to the IPHXFactory.

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.

Parameters:
compClass - the class name for the component
virtualDirName - The directory the client asked for
Returns:
an instance of the specified component class
Throws:
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 serious goes wrong

instantiate

IPHXComponent instantiate(java.lang.String compClass,
                          java.lang.String virtualDirName,
                          java.lang.String connector,
                          java.lang.String queue)
                          throws java.lang.Exception
Throws:
java.lang.Exception

describe

PHXComponentDescription describe(java.lang.String compClass,
                                 java.lang.String virtualDirName)
                                 throws java.lang.Exception
describes the specified 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.

Parameters:
compClass - the class name for the component
virtualDirName - The directory the client asked for
Returns:
a description of the specified component class
Throws:
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

getQueues

java.lang.String getQueues(java.lang.String compClass,
                           java.lang.String virtualDirName)
                           throws java.lang.Exception
gets the available run queues

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.

Parameters:
compClass - the class name for the component
virtualDirName - The directory the client asked for
Returns:
a list of queues for the specified component class
Throws:
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