org.apache.geronimo.kernel
Interface DependencyManager

All Known Implementing Classes:
BasicDependencyManager

public interface DependencyManager

DependencyManager is the record keeper of the dependencies in Geronimo. The DependencyManager does not enforce any dependencies, it is simply a place where components can register their intent to be dependent on another component.

The DependencyManager uses the nomenclature of parent-child where a child is dependent on a parent. The names parent and child have no other meaning are just a convience to make the code readable.

Version:
$Rev: 384141 $ $Date: 2006-03-08 08:30:08 +0100 (Wed, 08 Mar 2006) $

Method Summary
 void addDependencies(org.apache.geronimo.gbean.AbstractName child, Set parents)
          Adds dependencies from the child to every parent in the parents set
 void addDependency(org.apache.geronimo.gbean.AbstractName child, org.apache.geronimo.gbean.AbstractName parent)
          Declares a dependency from a child to a parent.
 void close()
          Closes the dependency manager releasing all resources
 Set getChildren(org.apache.geronimo.gbean.AbstractName parent)
          Gets all of the MBeans that have a dependency on the specified startParent.
 Set getParents(org.apache.geronimo.gbean.AbstractName child)
          Gets the set of parents that the child is depending on
 void removeAllDependencies(org.apache.geronimo.gbean.AbstractName child)
          Removes all dependencies for a child
 void removeDependency(org.apache.geronimo.gbean.AbstractName child, org.apache.geronimo.gbean.AbstractName parent)
          Removes a dependency from a child to a parent
 

Method Detail

close

public void close()
Closes the dependency manager releasing all resources


addDependency

public void addDependency(org.apache.geronimo.gbean.AbstractName child,
                          org.apache.geronimo.gbean.AbstractName parent)
Declares a dependency from a child to a parent.

Parameters:
child - the dependent component
parent - the component the child is depending on

removeDependency

public void removeDependency(org.apache.geronimo.gbean.AbstractName child,
                             org.apache.geronimo.gbean.AbstractName parent)
Removes a dependency from a child to a parent

Parameters:
child - the dependnet component
parent - the component that the child wil no longer depend on

removeAllDependencies

public void removeAllDependencies(org.apache.geronimo.gbean.AbstractName child)
Removes all dependencies for a child

Parameters:
child - the component that will no longer depend on anything

addDependencies

public void addDependencies(org.apache.geronimo.gbean.AbstractName child,
                            Set parents)
Adds dependencies from the child to every parent in the parents set

Parameters:
child - the dependent component
parents - the set of components the child is depending on

getParents

public Set getParents(org.apache.geronimo.gbean.AbstractName child)
Gets the set of parents that the child is depending on

Parameters:
child - the dependent component
Returns:
a collection containing all of the components the child depends on; will never be null

getChildren

public Set getChildren(org.apache.geronimo.gbean.AbstractName parent)
Gets all of the MBeans that have a dependency on the specified startParent.

Parameters:
parent - the component the returned childen set depend on
Returns:
a collection containing all of the components that depend on the parent; will never be null


Copyright © 2003-2007 Apache Software Foundation. All Rights Reserved.