~ubuntu-branches/ubuntu/gutsy/libjaxp1.3-java/gutsy

« back to all changes in this revision

Viewing changes to org/xml/sax/helpers/LocatorImpl.java

  • Committer: Bazaar Package Importer
  • Author(s): Arnaud Vandyck
  • Date: 2006-08-03 10:30:58 UTC
  • Revision ID: james.westby@ubuntu.com-20060803103058-7jwwiqv9g8w9094d
Tags: upstream-1.3.03
ImportĀ upstreamĀ versionĀ 1.3.03

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// SAX default implementation for Locator.
 
2
// http://www.saxproject.org
 
3
// No warranty; no copyright -- use this as you will.
 
4
// $Id: LocatorImpl.java 226184 2005-04-08 10:53:24Z neeraj $
 
5
 
 
6
package org.xml.sax.helpers;
 
7
 
 
8
import org.xml.sax.Locator;
 
9
 
 
10
 
 
11
/**
 
12
 * Provide an optional convenience implementation of Locator.
 
13
 *
 
14
 * <blockquote>
 
15
 * <em>This module, both source code and documentation, is in the
 
16
 * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
 
17
 * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
 
18
 * for further information.
 
19
 * </blockquote>
 
20
 *
 
21
 * <p>This class is available mainly for application writers, who
 
22
 * can use it to make a persistent snapshot of a locator at any
 
23
 * point during a document parse:</p>
 
24
 *
 
25
 * <pre>
 
26
 * Locator locator;
 
27
 * Locator startloc;
 
28
 *
 
29
 * public void setLocator (Locator locator)
 
30
 * {
 
31
 *         // note the locator
 
32
 *   this.locator = locator;
 
33
 * }
 
34
 *
 
35
 * public void startDocument ()
 
36
 * {
 
37
 *         // save the location of the start of the document
 
38
 *         // for future use.
 
39
 *   Locator startloc = new LocatorImpl(locator);
 
40
 * }
 
41
 *</pre>
 
42
 *
 
43
 * <p>Normally, parser writers will not use this class, since it
 
44
 * is more efficient to provide location information only when
 
45
 * requested, rather than constantly updating a Locator object.</p>
 
46
 *
 
47
 * @since SAX 1.0
 
48
 * @author David Megginson
 
49
 * @version 2.0.1 (sax2r2)
 
50
 * @see org.xml.sax.Locator Locator
 
51
 */
 
52
public class LocatorImpl implements Locator
 
53
{
 
54
    
 
55
    
 
56
    /**
 
57
     * Zero-argument constructor.
 
58
     *
 
59
     * <p>This will not normally be useful, since the main purpose
 
60
     * of this class is to make a snapshot of an existing Locator.</p>
 
61
     */
 
62
    public LocatorImpl ()
 
63
    {
 
64
    }
 
65
    
 
66
    
 
67
    /**
 
68
     * Copy constructor.
 
69
     *
 
70
     * <p>Create a persistent copy of the current state of a locator.
 
71
     * When the original locator changes, this copy will still keep
 
72
     * the original values (and it can be used outside the scope of
 
73
     * DocumentHandler methods).</p>
 
74
     *
 
75
     * @param locator The locator to copy.
 
76
     */
 
77
    public LocatorImpl (Locator locator)
 
78
    {
 
79
        setPublicId(locator.getPublicId());
 
80
        setSystemId(locator.getSystemId());
 
81
        setLineNumber(locator.getLineNumber());
 
82
        setColumnNumber(locator.getColumnNumber());
 
83
    }
 
84
    
 
85
    
 
86
 
 
87
    ////////////////////////////////////////////////////////////////////
 
88
    // Implementation of org.xml.sax.Locator
 
89
    ////////////////////////////////////////////////////////////////////
 
90
    
 
91
    
 
92
    /**
 
93
     * Return the saved public identifier.
 
94
     *
 
95
     * @return The public identifier as a string, or null if none
 
96
     *         is available.
 
97
     * @see org.xml.sax.Locator#getPublicId
 
98
     * @see #setPublicId
 
99
     */
 
100
    public String getPublicId ()
 
101
    {
 
102
        return publicId;
 
103
    }
 
104
    
 
105
    
 
106
    /**
 
107
     * Return the saved system identifier.
 
108
     *
 
109
     * @return The system identifier as a string, or null if none
 
110
     *         is available.
 
111
     * @see org.xml.sax.Locator#getSystemId
 
112
     * @see #setSystemId
 
113
     */
 
114
    public String getSystemId ()
 
115
    {
 
116
        return systemId;
 
117
    }
 
118
    
 
119
    
 
120
    /**
 
121
     * Return the saved line number (1-based).
 
122
     *
 
123
     * @return The line number as an integer, or -1 if none is available.
 
124
     * @see org.xml.sax.Locator#getLineNumber
 
125
     * @see #setLineNumber
 
126
     */
 
127
    public int getLineNumber ()
 
128
    {
 
129
        return lineNumber;
 
130
    }
 
131
    
 
132
    
 
133
    /**
 
134
     * Return the saved column number (1-based).
 
135
     *
 
136
     * @return The column number as an integer, or -1 if none is available.
 
137
     * @see org.xml.sax.Locator#getColumnNumber
 
138
     * @see #setColumnNumber
 
139
     */
 
140
    public int getColumnNumber ()
 
141
    {
 
142
        return columnNumber;
 
143
    }
 
144
    
 
145
    
 
146
 
 
147
    ////////////////////////////////////////////////////////////////////
 
148
    // Setters for the properties (not in org.xml.sax.Locator)
 
149
    ////////////////////////////////////////////////////////////////////
 
150
    
 
151
    
 
152
    /**
 
153
     * Set the public identifier for this locator.
 
154
     *
 
155
     * @param publicId The new public identifier, or null 
 
156
     *        if none is available.
 
157
     * @see #getPublicId
 
158
     */
 
159
    public void setPublicId (String publicId)
 
160
    {
 
161
        this.publicId = publicId;
 
162
    }
 
163
    
 
164
    
 
165
    /**
 
166
     * Set the system identifier for this locator.
 
167
     *
 
168
     * @param systemId The new system identifier, or null 
 
169
     *        if none is available.
 
170
     * @see #getSystemId
 
171
     */
 
172
    public void setSystemId (String systemId)
 
173
    {
 
174
        this.systemId = systemId;
 
175
    }
 
176
    
 
177
    
 
178
    /**
 
179
     * Set the line number for this locator (1-based).
 
180
     *
 
181
     * @param lineNumber The line number, or -1 if none is available.
 
182
     * @see #getLineNumber
 
183
     */
 
184
    public void setLineNumber (int lineNumber)
 
185
    {
 
186
        this.lineNumber = lineNumber;
 
187
    }
 
188
    
 
189
    
 
190
    /**
 
191
     * Set the column number for this locator (1-based).
 
192
     *
 
193
     * @param columnNumber The column number, or -1 if none is available.
 
194
     * @see #getColumnNumber
 
195
     */
 
196
    public void setColumnNumber (int columnNumber)
 
197
    {
 
198
        this.columnNumber = columnNumber;
 
199
    }
 
200
    
 
201
    
 
202
 
 
203
    ////////////////////////////////////////////////////////////////////
 
204
    // Internal state.
 
205
    ////////////////////////////////////////////////////////////////////
 
206
    
 
207
    private String publicId;
 
208
    private String systemId;
 
209
    private int lineNumber;
 
210
    private int columnNumber;
 
211
    
 
212
}
 
213
 
 
214
// end of LocatorImpl.java