Class RoleLocator

  • All Implemented Interfaces:
    java.io.Serializable

    public class RoleLocator
    extends java.lang.Object
    implements java.io.Serializable
    A RoleLocator identifies the role in which an expression is used, for example as the third argument of the concat() function. This information is stored in an ItemChecker or CardinalityChecker so that good diagnostics can be achieved when run-time type errors are detected.
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      RoleLocator​(int kind, java.lang.Object container, int operand, NamePool namePool)
      Create information about the role of a subexpression within its parent expression
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String composeErrorMessage​(ItemType requiredItemType, ItemType suppliedItemType, NamePool pool)
      Construct a full error message
      java.lang.String getErrorCode()
      Get the error code to be produced if a type error is detected
      java.lang.String getMessage()
      Construct and return the error message indicating a type error
      javax.xml.transform.SourceLocator getSourceLocator()
      Get the source location (if known - return null if not known)
      void setErrorCode​(java.lang.String code)
      Set the error code to be produced if a type error is detected
      void setSourceLocator​(javax.xml.transform.SourceLocator locator)
      Set the source location
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • RoleLocator

        public RoleLocator​(int kind,
                           java.lang.Object container,
                           int operand,
                           NamePool namePool)
        Create information about the role of a subexpression within its parent expression
        Parameters:
        kind - the kind of parent expression, e.g. a function call or a variable reference
        container - the name of the object in the parent expression, e.g. a function name or instruction name. May be expressed either as a String or as an Integer nameCode in the name pool.
        operand - Ordinal position of this subexpression, e.g. the position of an argument in
        namePool - The name pool. Must be supplied if the second argument is an Integer namecode. Otherwise, may be null.
    • Method Detail

      • setErrorCode

        public void setErrorCode​(java.lang.String code)
        Set the error code to be produced if a type error is detected
        Parameters:
        code - The error code
      • getErrorCode

        public java.lang.String getErrorCode()
        Get the error code to be produced if a type error is detected
        Returns:
        code The error code
      • setSourceLocator

        public void setSourceLocator​(javax.xml.transform.SourceLocator locator)
        Set the source location
      • getSourceLocator

        public javax.xml.transform.SourceLocator getSourceLocator()
        Get the source location (if known - return null if not known)
      • getMessage

        public java.lang.String getMessage()
        Construct and return the error message indicating a type error
        Returns:
        the constructed error message
      • composeErrorMessage

        public java.lang.String composeErrorMessage​(ItemType requiredItemType,
                                                    ItemType suppliedItemType,
                                                    NamePool pool)
        Construct a full error message