All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.aiderpmsi.hprim.parser.HPRIMSRecognitionException Maven / Gradle / Ivy

package com.github.aiderpmsi.hprim.parser;

import org.antlr.runtime.RecognitionException;

/**
 * Redéfinit les erreurs de reconnaissance pour le tokenizer
 * {@link HPRIMSTokenSource}
 * @author delabre
 * @version $Revision: 1029 $
 */
public class HPRIMSRecognitionException extends RecognitionException {
    
	/**
	 * Source des caractères
	 */
	private HPRIMSInputStreamReader reader;
	
	/**
	 * Message de l'erreur
	 */
	private String msg;

	/**
	 * Caractères du flux qui ont posé l'erreur 
	 */
	private char[] errorChar;

	/**
	 * Ligne lue dans le flux d'entrée
	 */
	private int line;

	/**
	 * Caractère dans le flux d'entrée lu
	 */
	private int charPositionInLine;

	/**
	 * Numéro de série
	 */
	private static final long serialVersionUID = -3080833919898873756L;

	/**
	 * Constructeur riche
	 * @param msg Message à transmettre
	 * @param reader Lecteur de flux
	 * @param errorChar liste decaractères ayant provoqué l'rreur
	 */
	public HPRIMSRecognitionException(String msg, HPRIMSInputStreamReader reader,
			char[] errorChar) {
		this.msg = msg;
		this.reader = reader;
		this.charPositionInLine = reader.getCharNumber();
		this.line = reader.getLineNumber();
		this.errorChar = errorChar;
	}
	
	public HPRIMSInputStreamReader getReader() {
		return reader;
	}

	@Override
	public String getMessage() {
		return msg;
	}
	
	/**
	 * Renvoie le texte contenant l'erreur.
	 */
	public char[] getContent() {
		return errorChar;
	}

	public int getLine() {
		return line;
	}

	public int getCharPositionInLine() {
		return charPositionInLine;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy