1 package mircoders.producer;
5 import mircoders.global.*;
7 public class NodedProducerFactory implements ProducerFactory {
8 private ProducerNode rootNode;
10 public NodedProducerFactory(ProducerNode aRootNode) {
14 public mir.producer.Producer makeProducer(String aVerb) throws ProducerFailure {
18 baseValues = new HashMap();
20 MirGlobal.localizer().producerAssistant().initializeGenerationValueSet(baseValues);
22 return new NodedProducer(rootNode, aVerb, baseValues);
25 throw new ProducerFailure(t.getMessage(), t);
29 public Iterator verbs() {
30 Set verbSet = rootNode.buildVerbSet();
32 if (verbSet.isEmpty()) {
33 verbSet = new HashSet();
35 verbSet.add("(default)");
38 return verbSet.iterator();