## net.sf.saxon.instruct
Class LocationMap

    java.lang.Object
      net.sf.saxon.instruct.LocationMap

All Implemented Interfaces:
  java.io.Serializable, LocationProvider

    public class LocationMap

extends java.lang.Object
implements LocationProvider, java.io.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

See Also:
  Serialized Form

Constructor Summary
`LocationMap()` Create a location map

Method Summary
`int` `allocateLocationId(java.lang.String module, int lineNumber)` Allocate a location identifier to an expression
`int` `getColumnNumber(long locationId)` Get the column number within the document or module containing a particular location
`int` `getLineNumber(long locationId)` Get the line number corresponding to a locationId
`java.lang.String` `getSystemId(long locationId)` Get the system identifier corresponding to a locationId

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### LocationMap

    public LocationMap()

  Create a location map

Method Detail

### allocateLocationId

    public int allocateLocationId(java.lang.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

### getSystemId

    public java.lang.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

### 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

### getColumnNumber

    public int getColumnNumber(long locationId)

  Description copied from interface: `LocationProvider`
  Get the column number within the document or module containing a particular location

  Specified by:
    `getColumnNumber` in interface `LocationProvider`
  Parameters:
    `locationId` - identifier of the location in question (as passed down the Receiver pipeline)
  Returns:
    the column number within the document or module, or -1 if this is not available

Copyright (c) Saxonica Limited. All rights reserved.