/** * */ package com.sap.furcas.parsergenerator.tcs.t2m.grammar; import java.util.ArrayList; import java.util.Collection; import com.sap.furcas.runtime.common.exceptions.AbstractToolGenerationException; import com.sap.furcas.runtime.parser.ParsingError; /** * */ public class SyntaxToGrammarTransformationException extends AbstractToolGenerationException { /** * */ private static final long serialVersionUID = -7827732266750829055L; /** The error list. */ Collection<ParsingError> errorList = new ArrayList<ParsingError>(); /** * @param message * @param errorList */ public SyntaxToGrammarTransformationException(Collection<ParsingError> errorList) { super(getMultiMessage(errorList)); this.errorList = errorList; } // public void addErrors(Collection<ParsingError> errors) { // errorList.addAll(errors); // } // // /** // * @param error // */ // public void addError(ParsingError error) { // errorList.add(error); // } // /** * Gets the error list. * * @return the error list */ public Collection<ParsingError> getErrorList() { return errorList; } /** * @param errors * @return */ private static String getMultiMessage(Collection<ParsingError> errors) { if (errors == null || errors.size() == 0) { return "BUG: Error List null or without members."; } StringBuilder buf = new StringBuilder(); buf.append(errors.size() + " Error(s) occured:\n"); for (ParsingError parsingError : errors) { buf.append(parsingError.getMessage() + " in line " + parsingError.getLine() + "\n"); } return buf.toString(); } }