1
2
3
4
5
6 package org.xml.sax.ext;
7
8 import org.xml.sax.Locator;
9 import org.xml.sax.helpers.LocatorImpl;
10
11
12 /***
13 * SAX2 extension helper for holding additional Entity information,
14 * implementing the {@link Locator2} interface.
15 *
16 * <blockquote>
17 * <em>This module, both source code and documentation, is in the
18 * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
19 * </blockquote>
20 *
21 * <p> This is not part of core-only SAX2 distributions.</p>
22 *
23 * @since SAX 2.0 (extensions 1.1 alpha)
24 * @author David Brownell
25 * @version TBS
26 */
27 public class Locator2Impl extends LocatorImpl implements Locator2
28 {
29 private String encoding;
30 private String version;
31
32
33 /***
34 * Construct a new, empty Locator2Impl object.
35 * This will not normally be useful, since the main purpose
36 * of this class is to make a snapshot of an existing Locator.
37 */
38 public Locator2Impl () { }
39
40 /***
41 * Copy an existing Locator or Locator2 object.
42 * If the object implements Locator2, values of the
43 * <em>encoding</em> and <em>version</em>strings are copied,
44 * otherwise they set to <em>null</em>.
45 *
46 * @param locator The existing Locator object.
47 */
48 public Locator2Impl (Locator locator)
49 {
50 super (locator);
51 if (locator instanceof Locator2) {
52 Locator2 l2 = (Locator2) locator;
53
54 version = l2.getXMLVersion ();
55 encoding = l2.getEncoding ();
56 }
57 }
58
59
60
61
62
63 /***
64 * Returns the current value of the version property.
65 *
66 * @see #setXMLVersion
67 */
68 public String getXMLVersion ()
69 { return version; }
70
71 /***
72 * Returns the current value of the encoding property.
73 *
74 * @see #setEncoding
75 */
76 public String getEncoding ()
77 { return encoding; }
78
79
80
81
82
83
84 /***
85 * Assigns the current value of the version property.
86 *
87 * @param version the new "version" value
88 * @see #getXMLVersion
89 */
90 public void setXMLVersion (String version)
91 { this.version = version; }
92
93 /***
94 * Assigns the current value of the encoding property.
95 *
96 * @param version the new "encoding" value
97 * @see #getEncoding
98 */
99 public void setEncoding (String encoding)
100 { this.encoding = encoding; }
101 }