org.apache.commons.chain.impl
Class CatalogBase

java.lang.Object
  extended by org.apache.commons.chain.impl.CatalogBase
All Implemented Interfaces:
Catalog

public class CatalogBase
extends Object
implements Catalog

Simple in-memory implementation of Catalog. This class can also be used as the basis for more advanced implementations.

This implementation is thread-safe.

Version:
$Revision: 480477 $ $Date: 2006-11-29 08:34:52 +0000 (Wed, 29 Nov 2006) $
Author:
Craig R. McClanahan, Matthew J. Sgarlata

Field Summary
protected  Map commands
          The map of named Commands, keyed by name.
 
Fields inherited from interface org.apache.commons.chain.Catalog
CATALOG_KEY
 
Constructor Summary
CatalogBase()
          Create an empty catalog.
CatalogBase(Map commands)
          Create a catalog whose commands are those specified in the given Map.
 
Method Summary
 void addCommand(String name, Command command)
          Add a new name and associated Command to the set of named commands known to this Catalog, replacing any previous command for that name.
 Command getCommand(String name)
          Return the Command associated with the specified name, if any; otherwise, return null.
 Iterator getNames()
          Return an Iterator over the set of named commands known to this Catalog.
 String toString()
          Converts this Catalog to a String.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

commands

protected Map commands

The map of named Commands, keyed by name.

Constructor Detail

CatalogBase

public CatalogBase()
Create an empty catalog.


CatalogBase

public CatalogBase(Map commands)

Create a catalog whose commands are those specified in the given Map. All Map keys should be String and all values should be Command.

Parameters:
commands - Map of Commands.
Since:
Chain 1.1
Method Detail

addCommand

public void addCommand(String name,
                       Command command)

Add a new name and associated Command to the set of named commands known to this Catalog, replacing any previous command for that name.

Specified by:
addCommand in interface Catalog
Parameters:
name - Name of the new command
command - Command to be returned for later lookups on this name

getCommand

public Command getCommand(String name)

Return the Command associated with the specified name, if any; otherwise, return null.

Specified by:
getCommand in interface Catalog
Parameters:
name - Name for which a Command should be retrieved
Returns:
The Command associated with the specified name.

getNames

public Iterator getNames()

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

Specified by:
getNames in interface Catalog
Returns:
An iterator of the names in this Catalog.

toString

public String toString()
Converts this Catalog to a String. Useful for debugging purposes.

Overrides:
toString in class Object
Returns:
a representation of this catalog as a String


Copyright 2003-2008 The Apache Software Foundation. All Rights Reserved.