APIdia Launch Partner
Top Description Fields Constructors Methods
com.sun.org.apache.xml.internal.utils

public Class SerializableLocatorImpl

extends Object
implements Locator, Serializable
Class Inheritance
All Implemented Interfaces
java.io.Serializable, org.xml.sax.Locator

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.

Author
Joe Kesselman
Since
XalanJ2
See Also
org.xml.sax.helpers.LocatorImpl, Locator

Field Summary

Modifier and TypeField and Description
private int
columnNumber

The column number.

private int
lineNumber

The line number.

private String
publicId

The public ID.

pack-priv static final long
private String
systemId

The system ID.

Constructor Summary

AccessConstructor and Description
public
SerializableLocatorImpl()

Zero-argument constructor.

public
SerializableLocatorImpl(Locator
The locator to copy.
locator
)

Copy constructor.

Method Summary

Modifier and TypeMethod and Description
public int

Returns:

The column number as an integer, or -1 if none is available.
getColumnNumber
()

Implements org.xml.sax.Locator.getColumnNumber.

Return the saved column number (1-based).

public int

Returns:

The line number as an integer, or -1 if none is available.
getLineNumber
()

Implements org.xml.sax.Locator.getLineNumber.

Return the saved line number (1-based).

public String

Returns:

The public identifier as a string, or null if none is available.
getPublicId
()

Implements org.xml.sax.Locator.getPublicId.

Return the saved public identifier.

public String

Returns:

The system identifier as a string, or null if none is available.
getSystemId
()

Implements org.xml.sax.Locator.getSystemId.

Return the saved system identifier.

public void
setColumnNumber(int
The column number, or -1 if none is available.
columnNumber
)

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

public void
setLineNumber(int
The line number, or -1 if none is available.
lineNumber
)

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

public void
setPublicId(String
The new public identifier, or null if none is available.
publicId
)

Set the public identifier for this locator.

public void
setSystemId(String
The new system identifier, or null if none is available.
systemId
)

Set the system identifier for this locator.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

columnNumberback to summary
private int columnNumber

The column number.

lineNumberback to summary
private int lineNumber

The line number.

publicIdback to summary
private String publicId

The public ID.

serialVersionUIDback to summary
pack-priv static final long serialVersionUID
systemIdback to summary
private String systemId

The system ID.

Constructor Detail

SerializableLocatorImplback to summary
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.

SerializableLocatorImplback to summary
public SerializableLocatorImpl(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:Locator

The locator to copy.

Method Detail

getColumnNumberback to summary
public int getColumnNumber()

Implements org.xml.sax.Locator.getColumnNumber.

Return the saved column number (1-based).

Returns:int

The column number as an integer, or -1 if none is available.

See Also
org.xml.sax.Locator#getColumnNumber, setColumnNumber
getLineNumberback to summary
public int getLineNumber()

Implements org.xml.sax.Locator.getLineNumber.

Return the saved line number (1-based).

Returns:int

The line number as an integer, or -1 if none is available.

See Also
org.xml.sax.Locator#getLineNumber, setLineNumber
getPublicIdback to summary
public String getPublicId()

Implements org.xml.sax.Locator.getPublicId.

Return the saved public identifier.

Returns:String

The public identifier as a string, or null if none is available.

See Also
org.xml.sax.Locator#getPublicId, setPublicId
getSystemIdback to summary
public String getSystemId()

Implements org.xml.sax.Locator.getSystemId.

Return the saved system identifier.

Returns:String

The system identifier as a string, or null if none is available.

See Also
org.xml.sax.Locator#getSystemId, setSystemId
setColumnNumberback to summary
public void setColumnNumber(int columnNumber)

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

Parameters
columnNumber:int

The column number, or -1 if none is available.

See Also
getColumnNumber
setLineNumberback to summary
public void setLineNumber(int lineNumber)

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

Parameters
lineNumber:int

The line number, or -1 if none is available.

See Also
getLineNumber
setPublicIdback to summary
public void setPublicId(String publicId)

Set the public identifier for this locator.

Parameters
publicId:String

The new public identifier, or null if none is available.

See Also
getPublicId
setSystemIdback to summary
public void setSystemId(String systemId)

Set the system identifier for this locator.

Parameters
systemId:String

The new system identifier, or null if none is available.

See Also
getSystemId