/** * BSD-style license; for more info see http://pmd.sourceforge.net/license.html */ package net.sourceforge.pmd.lang.vf.ast; /** * @author Pieter_Van_Raemdonck * @since Created on 11-jan-2006 */ public class StartAndEndTagMismatchException extends SyntaxErrorException { private static final long serialVersionUID = 5434485938487458692L; public static final String START_END_TAG_MISMATCH_RULE_NAME = "Start and End Tags of an XML Element must match."; private final int startLine; private final int endLine; private final int startColumn; private final int endColumn; private final String startTagName; private final String endTagName; /** * Public constructor. * * @param startLine * @param startColumn * @param startTagName * @param endLine * @param endColumn * @param endTagName */ public StartAndEndTagMismatchException(int startLine, int startColumn, String startTagName, int endLine, int endColumn, String endTagName) { super(endLine, START_END_TAG_MISMATCH_RULE_NAME); this.startLine = startLine; this.startColumn = startColumn; this.startTagName = startTagName; this.endLine = endLine; this.endColumn = endColumn; this.endTagName = endTagName; } /** * @return Returns the endColumn. */ public int getEndColumn() { return endColumn; } /** * @return Returns the endLine. */ public int getEndLine() { return endLine; } /** * @return Returns the startColumn. */ public int getStartColumn() { return startColumn; } /** * @return Returns the startLine. */ public int getStartLine() { return startLine; } /* * (non-Javadoc) * * @see java.lang.Throwable#getMessage() */ @Override public String getMessage() { return "The start-tag of element \"" + startTagName + "\" (line " + startLine + ", column " + startColumn + ") does not correspond to the end-tag found: \"" + endTagName + "\" (line " + endLine + ", column " + endColumn + ")."; } }