## net.sf.saxon.expr
Class RoleLocator

    java.lang.Object
      net.sf.saxon.expr.RoleLocator

All Implemented Interfaces:
  Serializable

    public class RoleLocator

extends Object
implements 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

Field Summary
`static int` `BINARY_EXPR`
`static int` `FUNCTION`
`static int` `FUNCTION_RESULT`
`static int` `INSTRUCTION`
`static int` `ORDER_BY`
`static int` `PARAM`
`static int` `TEMPLATE_RESULT`
`static int` `TYPE_OP`
`static int` `UNARY_EXPR`
`static int` `VARIABLE`

Constructor Summary
`RoleLocator(int kind, Object container, int operand, NamePool namePool)` Create information about the role of a subexpression within its parent expression

Method Summary
`String` `composeErrorMessage(ItemType requiredItemType, ItemType suppliedItemType, NamePool pool)` Construct a full error message
`String` `composeRequiredMessage(ItemType requiredItemType, NamePool pool)` Construct the part of the message giving the required item type
`String` `getErrorCode()` Get the error code to be produced if a type error is detected
`String` `getMessage()` Construct and return the error message indicating a type error
`SourceLocator` `getSourceLocator()` Get the source location (if known - return null if not known)
`void` `setErrorCode(String code)` Set the error code to be produced if a type error is detected
`void` `setSourceLocator(SourceLocator locator)` Set the source location

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

Field Detail

### FUNCTION

    public static final int FUNCTION

See Also:
  Constant Field Values

### BINARY_EXPR

    public static final int BINARY_EXPR

See Also:
  Constant Field Values

### TYPE_OP

    public static final int TYPE_OP

See Also:
  Constant Field Values

### VARIABLE

    public static final int VARIABLE

See Also:
  Constant Field Values

### INSTRUCTION

    public static final int INSTRUCTION

See Also:
  Constant Field Values

### FUNCTION_RESULT

    public static final int FUNCTION_RESULT

See Also:
  Constant Field Values

### ORDER_BY

    public static final int ORDER_BY

See Also:
  Constant Field Values

### TEMPLATE_RESULT

    public static final int TEMPLATE_RESULT

See Also:
  Constant Field Values

### PARAM

    public static final int PARAM

See Also:
  Constant Field Values

### UNARY_EXPR

    public static final int UNARY_EXPR

See Also:
  Constant Field Values

Constructor Detail

### RoleLocator

    public RoleLocator(int kind,
                       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(String code)

  Set the error code to be produced if a type error is detected

  Parameters:
    `code` - The error code

### getErrorCode

    public String getErrorCode()

  Get the error code to be produced if a type error is detected

  Returns:
    code The error code

### setSourceLocator

    public void setSourceLocator(SourceLocator locator)

  Set the source location

### getSourceLocator

    public SourceLocator getSourceLocator()

  Get the source location (if known - return null if not known)

### getMessage

    public String getMessage()

  Construct and return the error message indicating a type error

  Returns:
    the constructed error message

### composeRequiredMessage

    public String composeRequiredMessage(ItemType requiredItemType,
                                         NamePool pool)

  Construct the part of the message giving the required item type

### composeErrorMessage

    public String composeErrorMessage(ItemType requiredItemType,
                                      ItemType suppliedItemType,
                                      NamePool pool)

  Construct a full error message

Copyright (C) Michael H. Kay. All rights reserved.