org.apache.commons.digester.plugins
Class PluginManager
java.lang.Object
org.apache.commons.digester.plugins.PluginManager
public class PluginManager
extends java.lang.Object
Coordinates between PluginDeclarationRule and PluginCreateRule objects,
providing a place to share data between instances of these rules.
One instance of this class exists per PluginRules instance.
- 1.6
declarationsByClass
private HashMap declarationsByClass
Map of classname->Declaration
declarationsById
private HashMap declarationsById
Map of id->Declaration
parent
private PluginManager parent
the parent manager to which this one may delegate lookups.
pluginContext
private PluginContext pluginContext
The object containing data that should only exist once for each
Digester instance.
PluginManager
public PluginManager(PluginContext r)
Construct a "root" PluginManager, ie one with no parent.
PluginManager
public PluginManager(PluginManager parent)
Construct a "child" PluginManager. When declarations are added to
a "child", they are stored within the child and do not modify the
parent, so when the child goes out of scope, those declarations
disappear. When asking a "child" to retrieve a declaration, it
delegates the search to its parent if it does not hold a matching
entry itself.
parent
- must be non-null.
addDeclaration
public void addDeclaration(Declaration decl)
Add the declaration to the set of known declarations.
TODO: somehow get a reference to a Digester object
so that we can really log here. Currently, all
logging is disabled from this method.
decl
- an object representing a plugin class.
findLoader
public RuleLoader findLoader(Digester digester,
String id,
Class pluginClass,
Properties props)
throws PluginException
Given a plugin class and some associated properties, scan the
list of known RuleFinder instances until one detects a source of
custom rules for this plugin (aka a RuleLoader).
If no source of custom rules can be found, null is returned.
getDeclarationByClass
public Declaration getDeclarationByClass(String className)
Return the declaration object with the specified class.
If no such plugin is known, null is returned.
getDeclarationById
public Declaration getDeclarationById(String id)
Return the declaration object with the specified id.
If no such plugin is known, null is returned.
id
- Description of the Parameter
- The declaration value
Copyright (c) 2001-2004 - Apache Software Foundation