Save This Page
Home » commons-chain-1.2-src » org.apache.commons » chain » [javadoc | source]
org.apache.commons.chain
abstract public class: CatalogFactory [javadoc | source]
java.lang.Object
   org.apache.commons.chain.CatalogFactory

Direct Known Subclasses:
    CatalogFactoryBase

A CatalogFactory is a class used to store and retrieve Catalog s. The factory allows for a default Catalog as well as Catalog s stored with a name key. Follows the Factory pattern (see GoF).

The base CatalogFactory implementation also implements a resolution mechanism which allows lookup of a command based on a single String which encodes both the catalog and command names.

Field Summary
public static final  String DELIMITER   

Values passed to the getCommand(String) method should use this as the delimiter between the "catalog" name and the "command" name.

 
Method from org.apache.commons.chain.CatalogFactory Summary:
addCatalog,   clear,   getCatalog,   getCatalog,   getCommand,   getInstance,   getNames,   setCatalog
Methods from java.lang.Object:
equals,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.apache.commons.chain.CatalogFactory Detail:
 abstract public  void addCatalog(String name,
    Catalog catalog)

    Adds a named instance of Catalog to the factory (for subsequent retrieval later).

 public static  void clear() 

    Clear all references to registered catalogs, as well as to the relevant class loader. This method should be called, for example, when a web application utilizing this class is removed from service, to allow for garbage collection.

 abstract public Catalog getCatalog()

    Gets the default instance of Catalog associated with the factory (if any); otherwise, return null.

 abstract public Catalog getCatalog(String name)

    Retrieves a Catalog instance by name (if any); otherwise return null.

 public Command getCommand(String commandID) 

    Return a Command based on the given commandID.

    At this time, the structure of commandID is relatively simple: if the commandID contains a DELIMITER, treat the segment of the commandID up to (but not including) the DELIMITER as the name of a catalog, and the segment following the DELIMITER as a command name within that catalog. If the commandID contains no DELIMITER, treat the commandID as the name of a command in the default catalog.

    To preserve the possibility of future extensions to this lookup mechanism, the DELIMITER string should be considered reserved, and should not be used in command names. commandID values which contain more than one DELIMITER will cause an IllegalArgumentException to be thrown.

 public static CatalogFactory getInstance() 

    Return the singleton CatalogFactory instance for the relevant ClassLoader. For applications that use a thread context class loader (such as web applications running inside a servet container), this will return a separate instance for each application, even if this class is loaded from a shared parent class loader.

 abstract public Iterator getNames()

    Return an Iterator over the set of named Catalog s known to this CatalogFactory . If there are no known catalogs, an empty Iterator is returned.

 abstract public  void setCatalog(Catalog catalog)

    Sets the default instance of Catalog associated with the factory.