Class Loc

  • All Implemented Interfaces:
    javax.xml.transform.SourceLocator, Location, org.xml.sax.Locator

    public class Loc
    extends java.lang.Object
    implements Location
    Class to hold details of the location of an expression, of an error in a source file, etc. The object is immutable. Previous names: ExpressionLocation, ExplicitLocation.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static Loc NONE  
    • Constructor Summary

      Constructors 
      Constructor Description
      Loc​(java.lang.String systemId, int lineNumber, int columnNumber)
      Create an ExpressionLocation corresponding to a given module, line number, and column number
      Loc​(javax.xml.transform.SourceLocator loc)
      Create an ExpressionLocation, taking the data from a supplied JAXP SourceLocator
    • Field Detail

      • NONE

        public static Loc NONE
    • Constructor Detail

      • Loc

        public Loc​(javax.xml.transform.SourceLocator loc)
        Create an ExpressionLocation, taking the data from a supplied JAXP SourceLocator
        Parameters:
        loc - the JAXP SourceLocator
      • Loc

        public Loc​(java.lang.String systemId,
                   int lineNumber,
                   int columnNumber)
        Create an ExpressionLocation corresponding to a given module, line number, and column number
        Parameters:
        systemId - the module URI
        lineNumber - the line number (starting at 1; -1 means unknown)
        columnNumber - the column number (starting at 1; -1 means unknown)
    • Method Detail

      • makeFromSax

        public static Loc makeFromSax​(org.xml.sax.Locator loc)
        Create an ExpressionLocation, taking the data from a supplied SAX Locator
        Parameters:
        loc - the SAX Locator
      • getSystemId

        public java.lang.String getSystemId()
        Get the system ID (the module URI)
        Specified by:
        getSystemId in interface Location
        Specified by:
        getSystemId in interface org.xml.sax.Locator
        Specified by:
        getSystemId in interface javax.xml.transform.SourceLocator
        Returns:
        the system ID
      • getPublicId

        public java.lang.String getPublicId()
        Get the Public ID
        Specified by:
        getPublicId in interface Location
        Specified by:
        getPublicId in interface org.xml.sax.Locator
        Specified by:
        getPublicId in interface javax.xml.transform.SourceLocator
        Returns:
        always null in this implementation
      • getLineNumber

        public int getLineNumber()
        Get the line number
        Specified by:
        getLineNumber in interface Location
        Specified by:
        getLineNumber in interface org.xml.sax.Locator
        Specified by:
        getLineNumber in interface javax.xml.transform.SourceLocator
        Returns:
        the line number
      • getColumnNumber

        public int getColumnNumber()
        Get the column number
        Specified by:
        getColumnNumber in interface Location
        Specified by:
        getColumnNumber in interface org.xml.sax.Locator
        Specified by:
        getColumnNumber in interface javax.xml.transform.SourceLocator
        Returns:
        the column number
      • saveLocation

        public Location saveLocation()
        Get an immutable copy of this Location object. By default Location objects may be mutable, so they should not be saved for later use. The result of this operation holds the same location information, but in an immutable form.
        Specified by:
        saveLocation in interface Location
        Returns:
        an immutable copy (which may be the original object, if it is already immutable)
      • isUnknown

        public static boolean isUnknown​(Location location)
        Ask whether this is an "unknown location"