StartAndEndTagMismatchException.java
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.lang.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 SyntaxErrorException {
16 
17     public static final String START_END_TAG_MISMATCH_RULE_NAME
18             "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, int startColumn, String startTagName,
34                                            int endLine, int endColumn, String endTagName) {
35         super(endLine, START_END_TAG_MISMATCH_RULE_NAME);
36         this.startLine = startLine;
37         this.startColumn = startColumn;
38         this.startTagName = startTagName;
39 
40         this.endLine = endLine;
41         this.endColumn = endColumn;
42         this.endTagName = endTagName;
43     }
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 + "\" (line "
79                 + startLine + ", column " + startColumn
80                 ") does not correspond to the end-tag found: \""
81                 + endTagName + "\" (line " + endLine
82                 ", column " + endColumn + ").";
83     }
84 }