/*
* Copyright 1999-2002 Carnegie Mellon University.
* Portions Copyright 2002 Sun Microsystems, Inc.
* Portions Copyright 2002 Mitsubishi Electric Research Laboratories.
* All Rights Reserved. Use is subject to license terms.
*
* 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.decoder.search;
import edu.cmu.sphinx.util.props.Configurable;
import edu.cmu.sphinx.util.props.S4Double;
import edu.cmu.sphinx.util.props.S4Integer;
import java.util.Iterator;
/** An active list is maintained as a sorted list */
public interface ActiveListManager extends Configurable {
/** The property that specifies the absolute word beam width */
@S4Integer(defaultValue = 2000)
public final static String PROP_ABSOLUTE_WORD_BEAM_WIDTH =
"absoluteWordBeamWidth";
/** The property that specifies the relative word beam width */
@S4Double(defaultValue = 0.0)
public final static String PROP_RELATIVE_WORD_BEAM_WIDTH =
"relativeWordBeamWidth";
/**
* Adds the given token to the list
*
* @param token the token to add
*/
public void add(Token token);
/**
* Returns an Iterator of all the non-emitting ActiveLists. The iteration order is the same as the search state
* order.
*
* @return an Iterator of non-emitting ActiveLists
*/
public Iterator<ActiveList> getNonEmittingListIterator();
/**
* Returns the emitting ActiveList from the manager
*
* @return the emitting ActiveList
*/
public ActiveList getEmittingList();
/**
* Clears emitting list in manager
*/
public void clearEmittingList();
/** Dumps out debug info for the active list manager */
public void dump();
/**
* Sets the total number of state types to be managed
*
* @param numStateOrder the total number of state types
*/
public void setNumStateOrder(int numStateOrder);
}