*/
package mir.producer;
-import java.util.Iterator;
import java.util.Map;
+import java.util.List;
public interface ProducerFactory {
public interface ProducerVerb {
String getDescription();
}
+ /**
+ * The identifying name of the factory
+ */
public String getName();
+
+ /**
+ * Returns <code>true</code> if <code>aVerb</code> is a valid verb for this factory
+ */
public boolean allowVerb(String aVerb);
+ /**
+ * Instantiates a producer based on the supplied verb
+ */
public Producer makeProducer(String aVerb, Map aStartingValues) throws ProducerFailure, ProducerExc;
- public Iterator verbs(); /* returns ProducerVerbs */
+
+ /**
+ * The set of pre-defined verbs. Returns a list of {@link ProducerVerb}s
+ */
+ public List verbs();
}