/*
* Copyright 2006, United States Government as represented by the Administrator
* for the National Aeronautics and Space Administration. No copyright is
* claimed in the United States under Title 17, U.S. Code. All Other Rights
* Reserved.
*
* Created on Apr 23, 2004
*/
package gov.nasa.ial.mde.io;
import gov.nasa.ial.mde.solver.symbolic.AnalyzedItem;
import java.io.IOException;
import java.text.ParseException;
import java.util.List;
/**
* An interface representing a file parser.
*
* @author Dan Dexter
* @version 1.0
* @since 1.0
*/
public interface FileParser {
/**
* Parse the file and return a <code>List</code> of <code>AnalyzedItem</code>'s.
*
* @return a <code>List</code> of <code>AnalyzedItem</code>'s
* @throws IOException is thrown for file Input/Output errors
* @throws ParseException is thrown for parse errors
* @see gov.nasa.ial.mde.solver.symbolic.AnalyzedItem
*/
public List<? extends AnalyzedItem> parse() throws IOException, ParseException;
/**
* Clear the file parser so that the parse() method can be called again if needed.
*/
public void clear();
/**
* Dispose of resources being used. The file parser will be invalid after this method is called
* and must not be reused, so a new file parser must be instantiated.
*/
public void dispose();
/**
* The <code>UNKNOWN_DELIM</code> constant represents an unknown delimiter.
*/
public static final int UNKNOWN_DELIM = 0;
/**
* The <code>COMMA_DELIM</code> constant represents a comma character delimiter.
*/
public static final int COMMA_DELIM = 1;
/**
* The <code>TAB_DELIM</code> constant represents a tab character delimiter.
*/
public static final int TAB_DELIM = 2;
/**
* The <code>NEWLINE_DELIM</code> constant represents a new-line character delimiter.
*/
public static final int NEWLINE_DELIM = 4;
/**
* The <code>VERTICAL_TAB_DELIM</code> constant represents a vertical-tab character delimiter.
*/
public static final int VERTICAL_TAB_DELIM = 8;
/**
* The <code>FORM_FEED_DELIM</code> constant represents a form-feed character delimiter.
*/
public static final int FORM_FEED_DELIM = 16;
/**
* The <code>CARRIAGE_RETURN_DELIM</code> constant represents a carriage-return character delimiter.
*/
public static final int CARRIAGE_RETURN_DELIM = 32;
/**
* The <code>SPACE_DELIM</code> constant represents a space character delimiter.
*/
public static final int SPACE_DELIM = 64;
/**
* The <code>VERTICAL_TAB</code> constant represents a vertical-tab character.
*/
public static final char VERTICAL_TAB = 0x0B;
}