/*
* 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.linguist;
/** Represents a single state in a language search space */
public interface SearchState {
/**
* Gets a successor to this search state
*
* @return the set of successors
*/
SearchStateArc[] getSuccessors();
/**
* Determines if this is an emitting state
*
* @return <code>true</code> if the state is an emitting state
*/
boolean isEmitting();
/**
* Determines if this is a final state
*
* @return <code>true</code> if the state is a final state
*/
boolean isFinal();
/**
* Returns a pretty version of the string representation for this object
*
* @return a pretty string
*/
String toPrettyString();
/**
* Returns a unique signature for this state
*
* @return the signature for the state
*/
String getSignature();
/**
* Gets the word history for this state
*
* @return the word history
*/
WordSequence getWordHistory();
/**
* Returns the lex tree state
*
* @return the lex tree state
*/
Object getLexState();
/**
* Returns the order of this particular state
*
* @return the state order for this state
*/
int getOrder();
}