/** * Copyright 1998-2009 Sun Microsystems, Inc. * * See the file "license.terms" for information on usage and * redistribution of this file, and for a DISCLAIMER OF ALL * WARRANTIES. */ package edu.cmu.sphinx.jsgf; import java.util.Collection; import java.util.HashMap; import java.util.Map; public class JSGFRuleGrammarManager { protected Map<String, JSGFRuleGrammar> grammars; public JSGFRuleGrammarManager () { grammars = new HashMap<String, JSGFRuleGrammar>(); } public Collection<JSGFRuleGrammar> grammars() { return grammars.values(); } public void remove(JSGFRuleGrammar grammar) { String name = grammar.getName(); grammars.remove(name); } public void remove(String name) { grammars.remove(name); } /** Add a grammar to the grammar list. * @param grammar to store **/ protected void storeGrammar(JSGFRuleGrammar grammar) { grammars.put(grammar.getName(), grammar); } /** Retrieve a grammar from the grammar list. * @param name grammar name to load * @return grammar object */ public JSGFRuleGrammar retrieveGrammar(String name) { // System.out.println ("Looking for grammar " + name); // for (String key : grammars.keySet()) { // System.out.println (" " + key); // } return grammars.get(name); } public void linkGrammars() throws JSGFGrammarException { for (JSGFRuleGrammar grammar : grammars.values()) { grammar.resolveAllRules(); } } }