## net.sf.saxon.expr.instruct
Class InstructionDetails

    java.lang.Object
      net.sf.saxon.expr.instruct.InstructionDetails

All Implemented Interfaces:
  Serializable, SourceLocator, LocationProvider, SaxonLocator, InstructionInfo, Locator

    public final class InstructionDetails

extends Object
implements InstructionInfo, Serializable

Details about an instruction, used when reporting errors and when tracing

See Also:
  Serialized Form

Constructor Summary
`InstructionDetails()`

Method Summary
`int` `getColumnNumber()` Get the column number identifying the position of the instruction.
`int` `getColumnNumber(long locationId)` Get the column number within the document, entity, or module containing a particular location
`int` `getConstructType()` Get the construct type
`InstructionInfo` `getInstructionInfo()` Get the InstructionInfo details about the construct.
`int` `getLineNumber()` Get the line number of the instruction within its module
`int` `getLineNumber(long locationId)` Get the line number within the document, entity or module containing a particular location
`StructuredQName` `getObjectName()` Get a name identifying the object of the expression, for example a function name, template name, variable name, key name, element name, etc.
`Iterator` `getProperties()` Get an iterator over all the properties available.
`Object` `getProperty(String name)` Get a named property of the instruction
`String` `getPublicId()` Get the public ID of the module containing the instruction.
`String` `getSystemId()` Get the URI of the module containing the instruction
`String` `getSystemId(long locationId)` Get the URI of the document, entity, or module containing a particular location
`void` `setColumnNumber(int column)` Set the column number
`void` `setConstructType(int type)` Set the type of construct
`void` `setLineNumber(int lineNumber)` Set the line number of the instruction within the module
`void` `setObjectName(StructuredQName qName)` Set a name identifying the object of the expression, for example a function name, template name, variable name, key name, element name, etc.
`void` `setProperty(String name, Object value)` Set a named property of the instruction
`void` `setSystemId(String systemId)` Set the URI of the module containing the instruction

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

Constructor Detail

### InstructionDetails

    public InstructionDetails()

Method Detail

### setConstructType

    public void setConstructType(int type)

  Set the type of construct

### getConstructType

    public int getConstructType()

  Get the construct type

  Specified by:
    `getConstructType` in interface `InstructionInfo`
  Returns:
    an integer identifying the kind of construct

### setSystemId

    public void setSystemId(String systemId)

  Set the URI of the module containing the instruction

  Parameters:
    `systemId` - the module's URI

### getSystemId

    public String getSystemId()

  Get the URI of the module containing the instruction

  Specified by:
    `getSystemId` in interface `SourceLocator`
  Specified by:
    `getSystemId` in interface `InstructionInfo`
  Specified by:
    `getSystemId` in interface `Locator`
  Returns:
    the module's URI

### setLineNumber

    public void setLineNumber(int lineNumber)

  Set the line number of the instruction within the module

  Parameters:
    `lineNumber` - the line number

### getLineNumber

    public int getLineNumber()

  Get the line number of the instruction within its module

  Specified by:
    `getLineNumber` in interface `SourceLocator`
  Specified by:
    `getLineNumber` in interface `InstructionInfo`
  Specified by:
    `getLineNumber` in interface `Locator`
  Returns:
    the line number

### setObjectName

    public void setObjectName(StructuredQName qName)

  Set a name identifying the object of the expression, for example a function name, template name, variable name, key name, element name, etc. This is used only where the name is known statically.

### getObjectName

    public StructuredQName getObjectName()

  Get a name identifying the object of the expression, for example a function name, template name, variable name, key name, element name, etc. This is used only where the name is known statically.

  Specified by:
    `getObjectName` in interface `InstructionInfo`
  Returns:
    the QName of the object declared or manipulated by this instruction or expression

### setProperty

    public void setProperty(String name,
                            Object value)

  Set a named property of the instruction

### getProperty

    public Object getProperty(String name)

  Get a named property of the instruction

  Specified by:
    `getProperty` in interface `InstructionInfo`
  Parameters:
    `name` - The name of the required property
  Returns:
    The value of the requested property, or null if the property is not available

### getProperties

    public Iterator getProperties()

  Get an iterator over all the properties available. The values returned by the iterator will be of type String, and each string can be supplied as input to the getProperty() method to retrieve the value of the property.

  Specified by:
    `getProperties` in interface `InstructionInfo`
  Returns:
    an iterator over the properties.

### getPublicId

    public String getPublicId()

  Get the public ID of the module containing the instruction. This method is provided to satisfy the SourceLocator interface. However, the public ID is not maintained by Saxon, and the method always returns null

  Specified by:
    `getPublicId` in interface `SourceLocator`
  Specified by:
    `getPublicId` in interface `Locator`
  Returns:
    null

### setColumnNumber

    public void setColumnNumber(int column)

  Set the column number

### getColumnNumber

    public int getColumnNumber()

  Get the column number identifying the position of the instruction.

  Specified by:
    `getColumnNumber` in interface `SourceLocator`
  Specified by:
    `getColumnNumber` in interface `Locator`
  Returns:
    -1 if column number is not known

### getInstructionInfo

    public InstructionInfo getInstructionInfo()

  Get the InstructionInfo details about the construct. This is to satisfy the InstructionInfoProvider interface.

### getSystemId

    public String getSystemId(long locationId)

  Description copied from interface: `LocationProvider`
  Get the URI of the document, entity, or module containing a particular location

  Specified by:
    `getSystemId` in interface `LocationProvider`
  Parameters:
    `locationId` - identifier of the location in question (as passed down the Receiver pipeline)
  Returns:
    the URI of the document, XML entity or module. For a SourceLocationProvider this will be the URI of the document or entity (the URI that would be the base URI if there were no xml:base attributes). In other cases it may identify the query or stylesheet module currently being executed.

### getLineNumber

    public int getLineNumber(long locationId)

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

  Specified by:
    `getLineNumber` in interface `LocationProvider`
  Parameters:
    `locationId` - identifier of the location in question (as passed down the Receiver pipeline)
  Returns:
    the line number within the document, entity or module, or -1 if no information is available.

### getColumnNumber

    public int getColumnNumber(long locationId)

  Description copied from interface: `LocationProvider`
  Get the column number within the document, entity, 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, entity, or module, or -1 if this is not available

Copyright (c) 2004-2010 Saxonica Limited. All rights reserved.