|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.xml.utils.SerializableLocatorImpl
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.
LocatorImpl
,
Locator
,
Serialized FormField Summary | |
private int |
columnNumber
The column number. |
private int |
lineNumber
The line number. |
private String |
publicId
The public ID. |
private String |
systemId
The system ID. |
Constructor Summary | |
SerializableLocatorImpl()
Zero-argument constructor. |
|
SerializableLocatorImpl(org.xml.sax.Locator locator)
Copy constructor. |
Method Summary | |
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. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
private String publicId
private String systemId
private int lineNumber
private int columnNumber
Constructor Detail |
public SerializableLocatorImpl()
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.
public SerializableLocatorImpl(org.xml.sax.Locator locator)
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.Method Detail |
public String getPublicId()
getPublicId
in interface org.xml.sax.Locator
Locator.getPublicId()
,
setPublicId(java.lang.String)
public String getSystemId()
getSystemId
in interface org.xml.sax.Locator
Locator.getSystemId()
,
setSystemId(java.lang.String)
public int getLineNumber()
getLineNumber
in interface org.xml.sax.Locator
Locator.getLineNumber()
,
setLineNumber(int)
public int getColumnNumber()
getColumnNumber
in interface org.xml.sax.Locator
Locator.getColumnNumber()
,
setColumnNumber(int)
public void setPublicId(String publicId)
publicId
- The new public identifier, or null
if none is available.getPublicId()
public void setSystemId(String systemId)
systemId
- The new system identifier, or null
if none is available.getSystemId()
public void setLineNumber(int lineNumber)
lineNumber
- The line number, or -1 if none is available.getLineNumber()
public void setColumnNumber(int columnNumber)
columnNumber
- The column number, or -1 if none is available.getColumnNumber()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |