KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > velocity > runtime > directive > ParseDirectiveException


1 package org.apache.velocity.runtime.directive;
2
3 /*
4  * Copyright 2000-2001,2004 The Apache Software Foundation.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */

18
19 import java.util.Stack JavaDoc;
20
21 /**
22  * Exception for #parse() problems
23  *
24  * @author <a HREF="mailto:geirm@optonline.net">Geir Magnusson Jr.</a>
25  * @version $Id: ParseDirectiveException.java,v 1.4.14.1 2004/03/03 23:22:56 geirm Exp $
26  */

27 public class ParseDirectiveException extends Exception JavaDoc
28 {
29     private Stack JavaDoc filenameStack = new Stack JavaDoc();
30     private String JavaDoc msg = "";
31     private int depthCount = 0;
32
33     /**
34      * Constructor
35      */

36     ParseDirectiveException( String JavaDoc m, int i )
37     {
38         msg = m;
39         depthCount = i;
40     }
41
42     /**
43      * Get a message.
44      */

45     public String JavaDoc getMessage()
46     {
47         String JavaDoc returnStr = "#parse() exception : depth = " +
48             depthCount + " -> " + msg;
49
50         returnStr += " File stack : ";
51
52         try
53         {
54             while( !filenameStack.empty())
55             {
56                 returnStr += (String JavaDoc) filenameStack.pop();
57                 returnStr += " -> ";
58             }
59         }
60         catch( Exception JavaDoc e)
61         {
62         }
63
64         return returnStr;
65     }
66
67     /**
68      * Add a file to the filename stack
69      */

70     public void addFile( String JavaDoc s )
71     {
72         filenameStack.push( s );
73     }
74
75 }
76
Popular Tags