net.sf.saxon.instruct

Class LocationMap

Implemented Interfaces:
LocationProvider, Serializable

public class LocationMap
extends java.lang.Object
implements LocationProvider, Serializable

A LocationMap allocates integer codes to (systemId, lineNumber) pairs. The integer codes are held inside an Expression object to track the location of the expression in the source code

Constructor Summary

LocationMap()
Create a location map

Method Summary

int
allocateLocationId(String module, int lineNumber)
Allocate a location identifier to an expression
int
getLineNumber(long locationId)
Get the line number corresponding to a locationId
String
getSystemId(long locationId)
Get the system identifier corresponding to a locationId

Constructor Details

LocationMap

public LocationMap()
Create a location map

Method Details

allocateLocationId

public int allocateLocationId(String module,
                              int lineNumber)
Allocate a location identifier to an expression
Parameters:
module - the URI (system identifier) of the module
lineNumber - the line number of the expression within the module
Returns:
the corresponding location identifier

getLineNumber

public int getLineNumber(long locationId)
Get the line number corresponding to a locationId
Specified by:
getLineNumber in interface LocationProvider
Parameters:
locationId - the location identifier
Returns:
the corresponding line number

getSystemId

public String getSystemId(long locationId)
Get the system identifier corresponding to a locationId
Specified by:
getSystemId in interface LocationProvider
Parameters:
locationId - the location identifier
Returns:
the corresponding system identifier