consciouscode.seedling
Interface GrowingBranch

All Superinterfaces:
BranchNode, LocatableNode, ServiceNode
All Known Subinterfaces:
BranchingBranch
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

installChild

void installChild(String nodeName,
                  Object node)
                  throws ChildExistsException,
                         ServiceException
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.

Parameters:
nodeName - must not be null or empty. It must not match the name of an existing child node.
node - must not be null.
Throws:
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.)

uninstallChild

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

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


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