01: /*
02: * Created on 11-jan-2006
03: *
04: * TODO To change the template for this generated file go to
05: * Window - Preferences - Java - Code Style - Code Templates
06: */
07: package net.sourceforge.pmd.jsp.ast;
08:
09: /**
10: * @author Pieter_Van_Raemdonck
11: * <p/>
12: * TODO To change the template for this generated type comment go to
13: * Window - Preferences - Java - Code Style - Code Templates
14: */
15: public class StartAndEndTagMismatchException extends
16: SyntaxErrorException {
17:
18: public static final String START_END_TAG_MISMATCH_RULE_NAME = "Start and End Tags of an XML Element must match.";
19:
20: private int startLine, endLine, startColumn, endColumn;
21: private String startTagName, endTagName;
22:
23: /**
24: * Public constructor.
25: *
26: * @param startLine
27: * @param startColumn
28: * @param startTagName
29: * @param endLine
30: * @param endColumn
31: * @param endTagName
32: */
33: public StartAndEndTagMismatchException(int startLine,
34: int startColumn, String startTagName, int endLine,
35: int endColumn, String endTagName) {
36: super (endLine, START_END_TAG_MISMATCH_RULE_NAME);
37: this .startLine = startLine;
38: this .startColumn = startColumn;
39: this .startTagName = startTagName;
40:
41: this .endLine = endLine;
42: this .endColumn = endColumn;
43: this .endTagName = endTagName;
44: }
45:
46: /**
47: * @return Returns the endColumn.
48: */
49: public int getEndColumn() {
50: return endColumn;
51: }
52:
53: /**
54: * @return Returns the endLine.
55: */
56: public int getEndLine() {
57: return endLine;
58: }
59:
60: /**
61: * @return Returns the startColumn.
62: */
63: public int getStartColumn() {
64: return startColumn;
65: }
66:
67: /**
68: * @return Returns the startLine.
69: */
70: public int getStartLine() {
71: return startLine;
72: }
73:
74: /* (non-Javadoc)
75: * @see java.lang.Throwable#getMessage()
76: */
77: public String getMessage() {
78: return "The start-tag of element \"" + startTagName
79: + "\" (line " + startLine + ", column " + startColumn
80: + ") does not correspond to the end-tag found: \""
81: + endTagName + "\" (line " + endLine + ", column "
82: + endColumn + ").";
83: }
84: }
|