Interface GrowingBranch

All Superinterfaces:
BranchNode, LocatableNode, ServiceNode
All Known Subinterfaces:
All Known Implementing Classes:
GenericBranch, ScopeManager, ScopeRoot, StandardBranch, StandardRoot

public interface GrowingBranch
extends BranchNode

A BranchNode that allows manual installation and uninstallation of nodes.

Method Summary
 void installChild(String nodeName, Object node)
          Installs an object as a child of this branch.
 Object uninstallChild(String name)
          Removes a child node from this branch.
Methods inherited from interface consciouscode.seedling.BranchNode
availableChild, availableChildNames, getChild, getInstalledNode, getLocalRoot, getLog, getNode, installedChild, installedChildNames
Methods inherited from interface consciouscode.seedling.LocatableNode
getNodeLocation, nodeInstalled
Methods inherited from interface consciouscode.seedling.ServiceNode
startService, stopService

Method Detail


void installChild(String nodeName,
                  Object node)
                  throws ChildExistsException,
Installs an object as a child of this branch. After installation, the appropriate successor lifecycle APIs will be invoked. In particular, if the node implements ServiceNode then ServiceNode.startService() will be called.

nodeName - must not be null or empty. It must not match the name of an existing child node.
node - must not be null.
ChildExistsException - if a node is already installed at the given nodeName. (The node will not have been installed in this case.)
ServiceException - if node implements ServiceNode and could not be started. (The node will not have been installed in this case.)


Object uninstallChild(String name)
Removes a child node from this branch.

name - must not be null, but it does not need to match an actual child of this branch.
the removed child node, or null if no such child is installed.

Copyright © 2001–2012 Todd V. Jonker. All Rights Reserved.