View Javadoc

1   /*
2    * Created on 11-jan-2006
3    *
4    * TODO To change the template for this generated file go to
5    * Window - Preferences - Java - Code Style - Code Templates
6    */
7   package net.sourceforge.pmd.jsp.ast;
8   
9   /**
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  }