1 // Locator2Impl.java - extended LocatorImpl 2 // http://www.saxproject.org 3 // Public Domain: no warranty. 4 // $Id: Locator2Impl.java,v 1.3 2004/04/26 17:34:35 dmegginson Exp $ 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.2 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 */ Locator2Impl()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 */ Locator2Impl(Locator locator)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 // Locator2 method implementations 61 //////////////////////////////////////////////////////////////////// 62 63 /** 64 * Returns the current value of the version property. 65 * 66 * @return the current value of the version property. 67 * 68 * @see #setXMLVersion 69 */ getXMLVersion()70 public String getXMLVersion () 71 { return version; } 72 73 /** 74 * Returns the current value of the encoding property. 75 * 76 * @return the current value of the encoding property. 77 * 78 * @see #setEncoding 79 */ getEncoding()80 public String getEncoding () 81 { return encoding; } 82 83 84 //////////////////////////////////////////////////////////////////// 85 // Setters 86 //////////////////////////////////////////////////////////////////// 87 88 /** 89 * Assigns the current value of the version property. 90 * 91 * @param version the new "version" value 92 * @see #getXMLVersion 93 */ setXMLVersion(String version)94 public void setXMLVersion (String version) 95 { this.version = version; } 96 97 /** 98 * Assigns the current value of the encoding property. 99 * 100 * @param encoding the new "encoding" value 101 * @see #getEncoding 102 */ setEncoding(String encoding)103 public void setEncoding (String encoding) 104 { this.encoding = encoding; } 105 } 106