KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > genimen > djeneric > tools > scriptengine > core > util > DjScriptExecutionException


1 /*
2  * Copyright (c) 2001-2005 by Genimen BV (www.genimen.com) All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, is permitted provided that the following conditions are met: -
6  * Redistributions of source code must retain the above copyright notice, this
7  * list of conditions and the following disclaimer. - Redistributions in binary
8  * form must reproduce the above copyright notice, this list of conditions and
9  * the following disclaimer in the documentation and/or other materials
10  * provided with the distribution. - All advertising materials mentioning
11  * features or use of this software must display the following acknowledgment:
12  * "This product includes Djeneric." - Products derived from this software may
13  * not be called "Djeneric" nor may "Djeneric" appear in their names without
14  * prior written permission of Genimen BV. - Redistributions of any form
15  * whatsoever must retain the following acknowledgment: "This product includes
16  * Djeneric."
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS"
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21  * ARE DISCLAIMED. IN NO EVENT SHALL GENIMEN BV, DJENERIC.ORG, OR CONTRIBUTORS
22  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28  * POSSIBILITY OF SUCH DAMAGE.
29  */

30 package com.genimen.djeneric.tools.scriptengine.core.util;
31
32 import com.genimen.djeneric.language.Messages;
33 import com.genimen.djeneric.tools.scriptengine.core.ParseException;
34 import com.genimen.djeneric.tools.scriptengine.core.SimpleNode;
35 import com.genimen.djeneric.util.DjLogger;
36
37 public class DjScriptExecutionException extends ParseException
38 {
39   private static final long serialVersionUID = 1L;
40   boolean _userfriendly = false;
41
42   public DjScriptExecutionException()
43   {
44     super();
45   }
46
47   public DjScriptExecutionException(String JavaDoc s)
48   {
49     super(s);
50   }
51
52   public DjScriptExecutionException(Throwable JavaDoc t)
53   {
54     super(t);
55     DjLogger.log(t);
56   }
57
58   public DjScriptExecutionException(String JavaDoc message, SimpleNode node)
59   {
60     super(message);
61
62     _column = node.getColumn();
63     _line = node.getLine();
64   }
65
66   public DjScriptExecutionException(String JavaDoc message, SimpleNode node, boolean userfriendly)
67   {
68     super(message);
69
70     _column = node.getColumn();
71     _line = node.getLine();
72     _userfriendly = userfriendly;
73   }
74
75   public DjScriptExecutionException(String JavaDoc message, int line, int column)
76   {
77     super(message);
78
79     _column = line;
80     _line = column;
81   }
82
83   public DjScriptExecutionException(Throwable JavaDoc x, int beginLine, int beginColumn)
84   {
85     this(x.getMessage(), beginLine, beginColumn);
86     x.printStackTrace();
87   }
88
89   public DjScriptExecutionException(Throwable JavaDoc x, SimpleNode node)
90   {
91     this(x.getMessage(), node);
92     x.printStackTrace();
93   }
94
95   public int getColumn()
96   {
97     return _column;
98   }
99
100   public int getLine()
101   {
102     return _line;
103   }
104
105   public String JavaDoc getMessage()
106   {
107     if (!_userfriendly && (_line != 0 || _column != 0)) return Messages.getString("ScriptExecutionException.position",
108                                                                                   super.getMessage(), String
109                                                                                       .valueOf(_line), String
110                                                                                       .valueOf(_column));
111     return super.getMessage();
112   }
113
114 }
Popular Tags