6 public class CompositeProducerNode implements ProducerNode {
9 public CompositeProducerNode() {
10 subNodes = new Vector();
13 public CompositeProducerNode(ProducerNode[] aSubNodes) {
18 for (i=0; i<aSubNodes.length; i++) {
19 addSubNode(aSubNodes[i]);
23 public int getNrSubNodes() {
24 return subNodes.size();
27 public ProducerNode getSubNode(int anIndex) {
28 return (ProducerNode) subNodes.get(anIndex);
31 public void addSubNode(ProducerNode aSubNode) {
33 subNodes.add(aSubNode);
40 public void produce(Map aValueSet, String aVerb, PrintWriter aLogger) throws ProducerFailure, ProducerExc {
41 Iterator i = subNodes.iterator();
44 ProducerNode node = (ProducerNode) i.next();
45 node.produce(aValueSet, aVerb, aLogger);
49 public Set buildVerbSet() {
50 Iterator i = subNodes.iterator();
51 Set result = new HashSet();
54 result.addAll(((ProducerNode) i.next()).buildVerbSet());