org.apache.xml.utils
Class SerializableLocatorImpl
java.lang.Object
org.apache.xml.utils.SerializableLocatorImpl
- org.xml.sax.Locator, java.io.Serializable
public class SerializableLocatorImpl
extends java.lang.Object
implements org.xml.sax.Locator, java.io.Serializable
The standard SAX implementation of LocatorImpl is not serializable,
limiting its utility as "a persistent snapshot of a locator".
This is a quick hack to make it so. Note that it makes more sense
in many cases to set up fields to hold this data rather than pointing
at another object... but that decision should be made on architectural
grounds rather than serializability.
It isn't clear whether subclassing LocatorImpl and adding serialization
methods makes more sense than copying it and just adding Serializable
to its interface. Since it's so simple, I've taken the latter approach
for now.
int | getColumnNumber() - Return the saved column number (1-based).
|
int | getLineNumber() - Return the saved line number (1-based).
|
String | getPublicId() - Return the saved public identifier.
|
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(String publicId) - Set the public identifier for this locator.
|
void | setSystemId(String systemId) - Set the system identifier for this locator.
|
SerializableLocatorImpl
public SerializableLocatorImpl()
Zero-argument constructor.
SAX says "This will not normally be useful, since the main purpose
of this class is to make a snapshot of an existing Locator." In fact,
it _is_ sometimes useful when you want to construct a new Locator
pointing to a specific location... which, after all, is why the
setter methods are provided.
SerializableLocatorImpl
public SerializableLocatorImpl(org.xml.sax.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).
locator
- The locator to copy.
getColumnNumber
public int getColumnNumber()
Return the saved column number (1-based).
- The column number as an integer, or -1 if none is available.
getLineNumber
public int getLineNumber()
Return the saved line number (1-based).
- The line number as an integer, or -1 if none is available.
getPublicId
public String getPublicId()
Return the saved public identifier.
- The public identifier as a string, or null if none
is available.
getSystemId
public String getSystemId()
Return the saved system identifier.
- The system identifier as a string, or null if none
is available.
setColumnNumber
public void setColumnNumber(int columnNumber)
Set the column number for this locator (1-based).
columnNumber
- The column number, or -1 if none is available.
setLineNumber
public void setLineNumber(int lineNumber)
Set the line number for this locator (1-based).
lineNumber
- The line number, or -1 if none is available.
setPublicId
public void setPublicId(String publicId)
Set the public identifier for this locator.
publicId
- The new public identifier, or null
if none is available.
setSystemId
public void setSystemId(String systemId)
Set the system identifier for this locator.
systemId
- The new system identifier, or null
if none is available.
Copyright B) 2006 Apache XML Project. All Rights Reserved.