Home | History | Annotate | Download | only in ext
      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      */
     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     // 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      */
     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      */
     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      */
     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      */
    103     public void setEncoding (String encoding)
    104     { this.encoding = encoding; }
    105 }
    106