KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > caucho > quercus > Location


1 /*
2  * Copyright (c) 1998-2006 Caucho Technology -- all rights reserved
3  *
4  * This file is part of Resin(R) Open Source
5  *
6  * Each copy or derived work must preserve the copyright notice and this
7  * notice unmodified.
8  *
9  * Resin Open Source is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation; either version 2 of the License, or
12  * (at your option) any later version.
13  *
14  * Resin Open Source is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, or any warranty
17  * of NON-INFRINGEMENT. See the GNU General Public License for more
18  * details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with Resin Open Source; if not, write to the
22  * Free SoftwareFoundation, Inc.
23  * 59 Temple Place, Suite 330
24  * Boston, MA 02111-1307 USA
25  *
26  * @author Sam
27  */

28
29
30 package com.caucho.quercus;
31
32 /**
33  * Records the source file location of a statement or expression.
34  */

35 public class Location {
36   public static final Location UNKNOWN = new Location();
37
38   private final String JavaDoc _fileName;
39   private final int _lineNumber;
40   private final String JavaDoc _className;
41   private final String JavaDoc _functionName;
42
43   public Location(String JavaDoc fileName,
44                   int lineNumber,
45                   String JavaDoc className,
46                   String JavaDoc functionName)
47   {
48     _fileName = fileName;
49     _lineNumber = lineNumber;
50     _className = className;
51     _functionName = functionName;
52   }
53
54   private Location()
55   {
56     _fileName = null;
57     _lineNumber = 0;
58     _className = null;
59     _functionName = null;
60   }
61
62   public String JavaDoc getFileName()
63   {
64     return _fileName;
65   }
66
67   public int getLineNumber()
68   {
69     return _lineNumber;
70   }
71
72   public String JavaDoc getClassName()
73   {
74     return _className;
75   }
76
77   public String JavaDoc getFunctionName()
78   {
79     return _functionName;
80   }
81
82   /**
83    * Returns a prefix of the form "filename:linenumber: ", or the empty string
84    * if the filename is not known.
85    */

86   public String JavaDoc getMessagePrefix()
87   {
88     if (_fileName == null)
89       return "";
90     else
91       return _fileName + ":" + _lineNumber + ": ";
92   }
93
94   public String JavaDoc toString()
95   {
96     return "Location[" + _fileName + ":" + _lineNumber + "]";
97   }
98 }
99
Popular Tags