/*
* Copyright 2000-2006 Omnicore Software, Hans Kratz & Dennis Strein GbR,
* Geert Bevin <gbevin[remove] at uwyn dot com>.
* Distributed under the terms of either:
* - the common development and distribution license (CDDL), v1.0; or
* - the GNU Lesser General Public License, v2.1 or later
* $Id: ExplicitStateHighlighter.java 3108 2006-03-13 18:03:00Z gbevin $
*/
package com.uwyn.jhighlight.highlighter;
import java.io.IOException;
import java.io.Reader;
/**
* Provides access to the lexical scanning of a highlighted language.
*
* @author Omnicore Software
* @author Hans Kratz & Dennis Strein GbR
* @author Geert Bevin (gbevin[remove] at uwyn dot com)
* @version $Revision: 3108 $
* @since 1.0
*/
public interface ExplicitStateHighlighter
{
/**
* Sets the reader that will be used to receive the text data.
*
* @param reader the <code>Reader</code> that has to be used
*/
void setReader(Reader reader);
/**
* Obtain the next token from the scanner.
*
* @return one of the tokens that are define in the scanner
* @exception IOException when an error occurred during the parsing of
* the reader
*/
byte getNextToken() throws IOException;
/**
* Returns the length of the matched text region.
*
* @return the length of the matched text region
*/
int getTokenLength();
}