org.xml.sax.helpers

## Class LocatorImpl

- java.lang.Object
- - org.xml.sax.helpers.LocatorImpl

All Implemented Interfaces:
  Locator

Direct Known Subclasses:
  Locator2Impl

    public class LocatorImpl
    extends java.lang.Object
    implements Locator

Provide an optional convenience implementation of Locator.

> This module, both source code and documentation, is in the Public Domain, and comes with NO WARRANTY.

This class is available mainly for application writers, who can use it to make a persistent snapshot of a locator at any point during a document parse:

     Locator locator;
     Locator startloc;

     public void setLocator (Locator locator)
     {
             // note the locator
       this.locator = locator;
     }

     public void startDocument ()
     {
             // save the location of the start of the document
             // for future use.
       Locator startloc = new LocatorImpl(locator);
     }

Normally, parser writers will not use this class, since it is more efficient to provide location information only when requested, rather than constantly updating a Locator object.

Since:
  SAX 1.0
See Also:
  `Locator`

### Constructor Summary

Constructors
Constructor and Description
`LocatorImpl()` Zero-argument constructor.
`LocatorImpl(Locator locator)` Copy constructor.

### Method Summary

All Methods Instance Methods Concrete Methods
`int` `getColumnNumber()` Return the saved column number (1-based).
`int` `getLineNumber()` Return the saved line number (1-based).
`java.lang.String` `getPublicId()` Return the saved public identifier.
`java.lang.String` `getSystemId()` Return the saved system identifier.
`void` `setColumnNumber(int columnNumber)` Set the column number for this locator (1-based).
`void` `setLineNumber(int lineNumber)` Set the line number for this locator (1-based).
`void` `setPublicId(java.lang.String publicId)` Set the public identifier for this locator.
`void` `setSystemId(java.lang.String systemId)` Set the system identifier for this locator.

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### LocatorImpl

    public LocatorImpl()

Zero-argument constructor.

This will not normally be useful, since the main purpose of this class is to make a snapshot of an existing Locator.

#### LocatorImpl

    public LocatorImpl(Locator locator)

Copy constructor.

Create a persistent copy of the current state of a locator. When the original locator changes, this copy will still keep the original values (and it can be used outside the scope of DocumentHandler methods).

Parameters:
  `locator` - The locator to copy.

### Method Detail

#### getPublicId

    public java.lang.String getPublicId()

Return the saved public identifier.

Specified by:
  `getPublicId` in interface `Locator`
Returns:
  The public identifier as a string, or null if none is available.
See Also:
  `Locator.getPublicId()`, `setPublicId(java.lang.String)`

#### getSystemId

    public java.lang.String getSystemId()

Return the saved system identifier.

Specified by:
  `getSystemId` in interface `Locator`
Returns:
  The system identifier as a string, or null if none is available.
See Also:
  `Locator.getSystemId()`, `setSystemId(java.lang.String)`

#### getLineNumber

    public int getLineNumber()

Return the saved line number (1-based).

Specified by:
  `getLineNumber` in interface `Locator`
Returns:
  The line number as an integer, or -1 if none is available.
See Also:
  `Locator.getLineNumber()`, `setLineNumber(int)`

#### getColumnNumber

    public int getColumnNumber()

Return the saved column number (1-based).

Specified by:
  `getColumnNumber` in interface `Locator`
Returns:
  The column number as an integer, or -1 if none is available.
See Also:
  `Locator.getColumnNumber()`, `setColumnNumber(int)`

#### setPublicId

    public void setPublicId(java.lang.String publicId)

Set the public identifier for this locator.

Parameters:
  `publicId` - The new public identifier, or null if none is available.
See Also:
  `getPublicId()`

#### setSystemId

    public void setSystemId(java.lang.String systemId)

Set the system identifier for this locator.

Parameters:
  `systemId` - The new system identifier, or null if none is available.
See Also:
  `getSystemId()`

#### setLineNumber

    public void setLineNumber(int lineNumber)

Set the line number for this locator (1-based).

Parameters:
  `lineNumber` - The line number, or -1 if none is available.
See Also:
  `getLineNumber()`

#### setColumnNumber

    public void setColumnNumber(int columnNumber)

Set the column number for this locator (1-based).

Parameters:
  `columnNumber` - The column number, or -1 if none is available.
See Also:
  `getColumnNumber()`

org.xml.sax, org.xml.sax.ext, and org.xml.sax.helpers are SAX packages, and are in the public domain. See http://www.saxproject.org