org.fife.ui.rsyntaxtextarea.parser.DefaultParseResult Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of rsyntaxtextarea Show documentation
Show all versions of rsyntaxtextarea Show documentation
RSyntaxTextArea is the syntax highlighting text editor for Swing applications. Features include syntax highlighting for 40+ languages, code folding, code completion, regex find and replace, macros, code templates, undo/redo, line numbering and bracket matching.
/*
* 07/27/2009
*
* DefaultParseResult.java - A basic implementation of a ParseResult.
* Copyright (C) 2009 Robert Futrell
* robert_futrell at users.sourceforge.net
* http://fifesoft.com/rsyntaxtextarea
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
package org.fife.ui.rsyntaxtextarea.parser;
import java.util.ArrayList;
import java.util.List;
/**
* A basic implementation of {@link ParseResult}.
*
* @author Robert Futrell
* @version 1.0
*/
public class DefaultParseResult implements ParseResult {
private Parser parser;
private int firstLineParsed;
private int lastLineParsed;
private List notices;
private long parseTime;
private Exception error;
public DefaultParseResult(Parser parser) {
this.parser = parser;
notices = new ArrayList();
}
/**
* Adds a parser notice.
*
* @param notice The new notice.
* @see #clearNotices()
*/
public void addNotice(ParserNotice notice) {
notices.add(notice);
}
/**
* Clears any parser notices in this result.
*
* @see #addNotice(ParserNotice)
*/
public void clearNotices() {
notices.clear();
}
/**
* {@inheritDoc}
*/
public Exception getError() {
return error;
}
/**
* {@inheritDoc}
*/
public int getFirstLineParsed() {
return firstLineParsed;
}
/**
* {@inheritDoc}
*/
public int getLastLineParsed() {
return lastLineParsed;
}
/**
* {@inheritDoc}
*/
public List getNotices() {
return notices;
}
/**
* {@inheritDoc}
*/
public long getParseTime() {
return parseTime;
}
/**
* {@inheritDoc}
*/
public Parser getParser() {
return parser;
}
/**
* Sets the error that occurred when last parsing the document, if
* any.
*
* @param e The error that occurred, or null
if no error
* occurred.
*/
public void setError(Exception e) {
this.error = e;
}
/**
* Sets the amount of time it took for this parser to parse the document.
*
* @param time The amount of time, in milliseconds.
* @see #getParseTime()
*/
public void setParseTime(long time) {
parseTime = time;
}
/**
* Sets the line range parsed.
*
* @param first The first line parsed, inclusive.
* @param last The last line parsed, inclusive.
* @see #getFirstLineParsed()
* @see #getLastLineParsed()
*/
public void setParsedLines(int first, int last) {
firstLineParsed = first;
lastLineParsed = last;
}
}